Unity で DDS を読む
概要
Unity で画像をランタイムに読み込みたいとき,速度を重視するならば DDS 形式が便利.Mac では変換に使えるソフトが少ないが,圧縮率を試行錯誤する必要がなければ crunch-osx が便利.
追記: fnord software がDDSを読み書きできるオープンソースの Photoshop プラグインを公開している.ありがとう fnord software 😊😊😊🙏🙏🙏
経緯
問題
Unity に大量の画像をアセットとして突っ込んだらデータぶっこわれガチャが起こったときの様子です pic.twitter.com/oOFZthRvMK
— ボゴソート (@lunar0) November 28, 2016
Unity に100枚くらいのスカイボックス(=600枚の4K×4K画像)を読み込ませたらデータが壊れた.10枚くらいのときは動いていたのでバグなのだろうが,泣いていてもしょうがないのでワークアラウンドを考える.
方法1: WWW.LoadImageIntoTexture()
Unity - Scripting API: WWW.LoadImageIntoTexture
利点
- 簡単
- JPG, PNGが使える
- テクスチャをあらかじめ DDS に変換しておく手間がない
欠点
- 遅い(小さな画像では気にならない)
方法2: Texture2D.LoadRawTextureData
Unity - Scripting API: Texture2D.LoadRawTextureData
利点
- 読み込みが圧倒的に速い
欠点
- 使い慣れたファイル形式が使えない
- DDSに変換するのが遅い
結果
方法1を試したらテクスチャのロード時間が体感的に長かったので,方法2を使うことにした.面倒なので測定はしていないが,体感的に問題にならなさそうだったらわざわざ DDS に変換する必要はないだろうと思われる.画像を DDS に変換するにはそこそこ時間がかかる.1枚30秒〜1分くらい? 少なくとも Unity が JPEG を読み込むよりも遅い.
DDS を読み込む具体的な方法は Can you load dds textures during runtime? - Unity Answers を参照のこと.
注意点
そのまま Unity に読み込むとテクスチャが上下反転されるので, crunch の -yflip
オプションを使う.たぶん OpenGL が左下原点なのと関係があるのだろう.
$ crunch -dxt1 -fileformat dds -mipmode none -yflip -file inputimage.tga
TGS 1日目
概要
Tokyo Game Show 2016 に行ってきた.目当てのものは FOVE しかなかったので,ほぼそのために行ったような感じ.
行動
8時くらいに着くつもりでいたが,どうしても眠かったので9時くらいに着くように予定を変更して二度寝した.9時に着いたが,たいして列は長くなく,開場直後に入場できた.
VR体感ゾーンの待機列・ゲーム会社のブースは1-8ホール側であったこと,個別のVR機器そのものを見に来る来場者とは列が分かれていたこと,コスプレ来場者が列の少なくない部分を占めていたので見た目よりスムーズに入れたことが利点か.
FOVE
視線追跡を組み込んだヘッドセット.以下,ざっとした感想.
Pros
- 視線追跡の精度は比較的よさそう.
- 着け心地はまあまあ.
- Unity で開発できるらしい.
- 視線データのフレームレートが高い.120Hz というのは,低価格デバイスではそれなりに高い部類だろう.
Cons
- ヘッドセットがずれるとキャリブレーションが壊れる(しょうがない)
- VRヘッドセット一般の問題として,周辺視野が狭い(空間体験という点でどれくらいディスアドバンテージになるかは不明)
- VRヘ(ry),人間の視覚からするとまだ分解能が低い.遠くの看板の文字などはたぶん読めない(とはいえよい製品も中々ない.Star VR は視野の広さで利点はあるが,分解能自体はたいして向上しない)
Others
- ライセンスについて聞くのを忘れた.対抗馬(実際には かなりの高価格になるだろうが)である Star VR のアイトラッキングは中身が Tobii なので,どうせデータを蓄積するためのライセンスは高いんだろうなと思ってしまう*1が,FOVEはどうなのだろうか.心理学やマーケティングへの応用などをアピールしていたので,そのあたり追加料金なく使えると嬉しいけれども……
- 視線データの精度・正確さは未知数.まあ Eye Tribe + 顎台は注視データの取得にはそこそこ使えるようだし,これも同等くらいのパフォーマンスはありそう.
- ついでに Xenko 見てこればよかった.
- 視線の生データのフィルタリングは,見た感じ開発者に任されている*2.まあ,とはいえ,知識のない開発者向けの簡単なスムージングやサッケードは恐らくさして困難な処理でもないし,多分そのうち標準で乗るのではと思われた.
東プレ
Realforce がフルカラーLEDで光るらしい.まあそれはどうでもいいとして(ゲーマーには重要なのかもしれないが),アナログ入力キーボードが面白かった.Page Up と Page Down キーをアナログ入力にして,強打で数十行を一度にスクロールするデモは,明日にでもうちの Realforce に欲しい感じがした.売れ行きがよければ英語配列版も考えるとのこと.
3Dプリントでカメラ用三脚穴を作る
概要
3Dプリントでカメラ用品を作るとき,一番問題になるのが三脚穴の形成である.とはいえ,頻繁に着脱を繰り返すネジ山を直接3Dプリントで形成するのは,精度の低さ・耐久性の面からいってやや不安が残る. しかし,大ネジ(3/8 UNC)のネジ穴を形成し,そこに 三脚のネジ変換アダプタを挿入すると,金属製のネジ穴を比較的簡単に得ることができる(図).
本稿では,上記方法による三脚ネジ穴の形成の方法の簡単な手順と,制作例を掲載する.なお,本稿は誤りを含む可能性があり,実際に応用したことによって起こる不具合には関知しない.
注意点
本稿の方法は,ナイロン粉体焼結(DMM.com 3Dプリント)を前提としている.他の材料や出力サービスによっては,本稿の記述をそのまま使えないこともあるので,注意されたい.
各種寸法
エツミE-6663の寸法
エツミE-6663の各部寸法は,図のとおりである.実際には半ねじであるが,全ねじとしてモデリングしても,組み立てに特段の問題はない.
めねじ穴のモデリング
めねじ穴は UNC 3/8 の規格にしたがってモデリングする. Unified Screw Threads and Tolerances (Inch) を用いて,モデリングが簡単になるように計算したものが以下の図である.この例では寸法公差のなかで許される最大の大きさでモデリングしてあるが,3Dプリントの特性上,データよりも 0.1–0.2 mm 太るので,これで概ね具合よくおさまる.
どうせ実売 300 円程度とたいして高価な部品でもないので,もし緩ければエポキシなどで接着してしまってもよいだろう.
制作例
以下のような具合に仕上がる.ややきつめに出来上がってきたので,溝にコインをかませてねじ込んだ.
Lr を用いた CGI のカラーグレーディングのためのメモ
概要
Adobe Lightroom を用いると,RAW を現像するように CGI のカラーグレーディングをすることが可能になる.最近では(恐らく Lr とエンジンを共有する)Lumetri が Premiere に搭載されたので,この手法の利点も少なくなりつつあるが,それでも Lr の軽快な非破壊操作とカタログ管理は魅力的である.本稿では,RAWの現像では普段考えない,CGI+Lr特有の問題についてメモしておく*1.
各種注意点
ファイル形式
32bpc TIFF とする. Lr の優秀なトーンマッピングエンジンの恩恵を受けるためにも,出力はぜひ 32bpc TIFF にしておきたい.
テクスチャ
普段通りでよいが,そのままで見た目が綺麗だなと感じるものは,わずかに彩度を落としたほうが適切な結果を得やすい.特に,カメラのデフォルト設定で撮影されたJPEG素材はかなり色が強調されているので,注意しなければならない.
このワークフローにかぎっていえば,Lrに渡す前から綺麗に見えるレンダリング結果は,多くの場合どぎつい見た目になる.
レンダラの設定
この方法では,イラディアンスキャッシュのムラがしばしば致命的な見た目の悪さを引き起こす.存在感が失われるのを覚悟の上でスムージングを強くかけて誤魔化すか,さもなければブルートフォース系のレンダラをメインで用いる*2のがよい.
デフォルトの見た目
32bpc TIFF をAdobe Lightroom に渡すと, Lr デフォルトのトーンマッピングが適用される.ややコントラストが上がり,ハイライトのクリップがやわらかになっている.
HSLスライダ
フォトリアルな風景のシーンでは,風景写真が得意とされるカメラメーカーに倣い,青系の彩度・輝度を落とすようにしている.RAWの現像では,このあたりはメーカーによってはカメラプロファイルで暗黙のうちに適用されているが,CGIではそういうことがないので,自ら設定する必要がある.
なお Lightroom の HSL スライダは Photoshop のものよりかなり効きが良く,また知覚的により適切な反応をするので,気軽に使ってよい.
カラーグレーディングの例
シャープな白黒写真.
白黒にし,ハイライトを下げるとともに,明瞭度を上げている.
フィルムライクな見た目.
明暗別色補正で色転びを表現し,赤系の彩度を下げる.さらに,トーンカーブ(ポイントカーブ)でハイライトを90%程度にクランプしている.
FIXPENCIL の最近の廃番・マイナーチェンジについて
概要
都内だと,管見のかぎりでは伊東屋くらいにしか店頭在庫のなかった*1超マイナー芯ホルダーこと Caran D'ache の FIXPENCIL だが,軸径の変更など,大幅な変更があったようなので記しておく.
FIXPENCILとは
Caran D'ache 社のWebサイトによれば, FIXPENCIL の歴史は1929年にさかのぼる.以来,デザインは変遷を経ているものの,六角形の金属軸をもつクラッチ式芯ホルダーという基本形式は変わらないまま今日まで生産が続けられている.銀座にある Caran D'ache のブティックの2階には,古い型の FIXPENCIL が展示されている.
1本あたり2000円強とやや割高ではあるが,キャップを除く全ての部品が金属製でありながら,軽さ・剛性感を両立した設計である.そのデザインの完成度を称え, SWISS POST により切手の図柄に採用されたこともある.
なお,大変どうでもよいことだが,青いキャップのものがスイス出身の建築家 Peter Zumthor のアトリエを撮影した写真に写り込んでいる*2.
注意
筆者は日本の正規ルートで売られている製品しか買ったことがないので,ここで書いているマイナーチェンジが海外では先行していた可能性も否定できない.詳しい方がおられたらぜひ情報をお寄せいただきたい.
廃番品
FIXPENCIL 77
標準の FIXPENCIL 22 や FIXPENCIL 3 よりも 21 mm ほど長い製品.クリップを外したものを数本用意して硬度ごとに使い分けていたのだが,最早入手がかなわなくなってしまった.息の長い製品であっただけに,寂しいことである.
海外のWebショップには一部まだ在庫が残っているようなので取寄せることもできるのだが,後述のように最近の製品では軸径の変更が行われているようなので躊躇している.
マイナーチェンジ
FIXPENCIL 3, FIXPENCIL 22
軸径の変更・見分け方
店頭には軸径の0.5mmほど*3太いもの(写真奥)が並んでいることがある.同社849同様に,クリップの付け根に孔があるものであれば新型であろうと思われる.
軸先端の滑り止め塗装
軸先端に滑り止め塗装を施したものを扱うようになった.もっともこれは,以前から海外では普通に売られていた種類のものでもある.
備考
1. クリップの形状について
銀座にある Caran D'ache ブティック店員の方によれば,最近 Caran D'ache 社のオフィスライン・エクリドールはクリップの形状を変更しているとのことであった.上記写真奥にある,やや隆起の大きいものが新型である.
2. FIXPENCIL 100周年記念エディションについて
FIXPENCIL 100周年記念エディションでは,旧型の素体をアルミボディの梨地仕上げにして用いている.
結論
(壊れやすいものではないが)旧型を買いだめするなら今のうちだし,いままで使ったことがなくてこれから買ってみようと思うなら,銀座へ行って Caran D'ache のブティックで新型を買うほうがよいように思われる.なお,Caran D'ache のブティックは伊東屋系列なので,メルシーカードが使える.