書体雑感

最近使った書体を,ウエイトを揃えてベタ組みで4つほど並べてみた.このなかでは,縦組みでは本明朝(新がな)が一番好みに思える.書体は本文の内容なども考えて選ぶべきもので,どれが好みで,また好みでないというのは,実際には比較的どうでもいい部類に入るかもしれない.

f:id:lunar0:20170117025827p:plain


さて,本明朝には Book というウエイトが設定されている.概ね L と M の中間のウエイトとのことだが,どうもかなだけでなくて漢字の形も随分違うようだったので,重ねてみた.単なる L と M の補間ではなく,例に出した「飾」の偏を見ても,各部の重心や向きがかなり調整されているのが見てとれる.

f:id:lunar0:20170117025839p:plain


何の情報もない組見本で考えたほうが幸せな場面もあるかもしれない.便宜上番号をふったが,本当は冊子の形にして,ページ番号と書体名の対照表でもどこかに置いておけば済む話である.

f:id:lunar0:20170117032220p:plain

Unity で DDS を読む

概要

Unity で画像をランタイムに読み込みたいとき,速度を重視するならば DDS 形式が便利.Mac では変換に使えるソフトが少ないが,圧縮率を試行錯誤する必要がなければ crunch-osx が便利.

追記: fnord software がDDSを読み書きできるオープンソースの Photoshop プラグインを公開している.ありがとう fnord software 😊😊😊🙏🙏🙏

経緯

問題

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 に欲しい感じがした.売れ行きがよければ英語配列版も考えるとのこと.

*1:Tobii の安いアイトラッカー Tobii EyeX はライセンスでデータの蓄積を禁止している

*2:デモは複数の開発者が作っており,フィルタリングの方式も違うように見えた

HDDが壊れたことについて

概要

Mac OS X El Capitan で外付けHDDを使用中,exFATパーティションのみがマウントできなくなった(たぶん10.11.3か4の頃).TestDisk でも特段異常は見つからず,結局フォーラムを参考に fsck_exfat を実行したら直った.

続きを読む

3Dプリントでカメラ用三脚穴を作る

f:id:lunar0:20160105223916j:plain

概要

3Dプリントでカメラ用品を作るとき,一番問題になるのが三脚穴の形成である.とはいえ,頻繁に着脱を繰り返すネジ山を直接3Dプリントで形成するのは,精度の低さ・耐久性の面からいってやや不安が残る. しかし,大ネジ(3/8 UNC)のネジ穴を形成し,そこに 三脚のネジ変換アダプタを挿入すると,金属製のネジ穴を比較的簡単に得ることができる(図).

本稿では,上記方法による三脚ネジ穴の形成の方法の簡単な手順と,制作例を掲載する.なお,本稿は誤りを含む可能性があり,実際に応用したことによって起こる不具合には関知しない.

f:id:lunar0:20160105211410p:plain

 

注意点

本稿の方法は,ナイロン粉体焼結(DMM.com 3Dプリント)を前提としている.他の材料や出力サービスによっては,本稿の記述をそのまま使えないこともあるので,注意されたい.

各種寸法

エツミE-6663の寸法

エツミE-6663の各部寸法は,図のとおりである.実際には半ねじであるが,全ねじとしてモデリングしても,組み立てに特段の問題はない.

f:id:lunar0:20160105211445p:plain

めねじ穴のモデリング

めねじ穴は UNC 3/8 の規格にしたがってモデリングする. Unified Screw Threads and Tolerances (Inch) を用いて,モデリングが簡単になるように計算したものが以下の図である.この例では寸法公差のなかで許される最大の大きさでモデリングしてあるが,3Dプリントの特性上,データよりも 0.1–0.2 mm 太るので,これで概ね具合よくおさまる.

どうせ実売 300 円程度とたいして高価な部品でもないので,もし緩ければエポキシなどで接着してしまってもよいだろう.

f:id:lunar0:20160106181356p:plain

制作例

以下のような具合に仕上がる.ややきつめに出来上がってきたので,溝にコインをかませてねじ込んだ.

f:id:lunar0:20160105223916j:plain

なお,この部品はコンパクトデジタルカメラのレンズ直前にPEAKのペン型顕微鏡を固定するための治具である.

f:id:lunar0:20160106171302j:plain

Lr を用いた CGI のカラーグレーディングのためのメモ

f:id:lunar0:20151128165234j:plain

概要

Adobe Lightroom を用いると,RAW を現像するように CGI のカラーグレーディングをすることが可能になる.最近では(恐らく Lr とエンジンを共有する)Lumetri が Premiere に搭載されたので,この手法の利点も少なくなりつつあるが,それでも Lr の軽快な非破壊操作とカタログ管理は魅力的である.本稿では,RAWの現像では普段考えない,CGI+Lr特有の問題についてメモしておく*1

各種注意点

ファイル形式

32bpc TIFF とする. Lr の優秀なトーンマッピングエンジンの恩恵を受けるためにも,出力はぜひ 32bpc TIFF にしておきたい.

テクスチャ

普段通りでよいが,そのままで見た目が綺麗だなと感じるものは,わずかに彩度を落としたほうが適切な結果を得やすい.特に,カメラのデフォルト設定で撮影されたJPEG素材はかなり色が強調されているので,注意しなければならない.

このワークフローにかぎっていえば,Lrに渡す前から綺麗に見えるレンダリング結果は,多くの場合どぎつい見た目になる.

レンダラの設定

この方法では,イラディアンスキャッシュのムラがしばしば致命的な見た目の悪さを引き起こす.存在感が失われるのを覚悟の上でスムージングを強くかけて誤魔化すか,さもなければブルートフォース系のレンダラをメインで用いる*2のがよい.

デフォルトの見た目

f:id:lunar0:20151128170801p:plain

32bpc TIFFAdobe Lightroom に渡すと, Lr デフォルトのトーンマッピングが適用される.ややコントラストが上がり,ハイライトのクリップがやわらかになっている.

HSLスライダ

f:id:lunar0:20151128172920p:plain

フォトリアルな風景のシーンでは,風景写真が得意とされるカメラメーカーに倣い,青系の彩度・輝度を落とすようにしている.RAWの現像では,このあたりはメーカーによってはカメラプロファイルで暗黙のうちに適用されているが,CGIではそういうことがないので,自ら設定する必要がある.

なお Lightroom の HSL スライダは Photoshop のものよりかなり効きが良く,また知覚的により適切な反応をするので,気軽に使ってよい.

カラーグレーディングの例

シャープな白黒写真.

白黒にし,ハイライトを下げるとともに,明瞭度を上げている.

f:id:lunar0:20151128164151j:plain

フィルムライクな見た目.

明暗別色補正で色転びを表現し,赤系の彩度を下げる.さらに,トーンカーブ(ポイントカーブ)でハイライトを90%程度にクランプしている.

f:id:lunar0:20151128175832j:plain

*1:随時追記するかもしれない

*2:本稿ではレンダリングに CINEMA 4D のフィジカルレンダラを用いた.このシーンでは,QMC+QMCに最も近い見た目が得られ,GIのムラが少なかったのがQMC+LCであったので,これを採用した