3Dディスプレイキャリブレーションツール制作

最終的に目指しているプロダクト「3Dディスプレイドングル」についてはこちら。
 3Dディスプレイドングルについて

 3Dディスプレイ用レンダリング(基本編)で、3Dディスプレイ用の画像がどんなものかを説明しました。
 それを踏まえて今回はキャリブレーションツールを作っていきます。
キャリブレーションツールというとかっこいいですが、要は3Dディスプレイの仕組み(発展編)で言っていた現物合わせツールです。
実際に3Dディスプレイ制作で制作した3Dディスプレイ用に作ったものの説明をします。

●キャリブレーションツール

 キャリブレーションツールは大体、PITCHの初期値が表示されていて、ボタンがあって、ポチポチと上げたり下げたりできて、そのPITCHに合わせて画像が合成されていくようなイメージです。今回はとりあえずC#で作ることにしました。
 大体の流れはこうです。
最初に、入力されたディスプレイのインチ数と、横解像度、縦解像度からおよそのPITCHを計算して、画面に表示します。
このPITCHを元にマゼンタの画像とイエローの画像を6枚ずつ、合計12枚(つまり表示可能枚数分)用意します。
この際の1枚当たりの解像度は横が1200/2=600、縦が1920/6=320です。
あとはこの12枚を合成して1枚にするわけですが、どう配置するか考えていた時のものが残っていました。
気が狂ってる
今も時々見返したりしています。なんだこれは。
この図の通りに画像を合成するフローチャートが以下の通り。
恥を忍んで作ったフローチャート
フローチャートの作り方がよくわかってないので、このブログを通して練習していきたいです。
閑話休題。
 これ以降はPITCHが変更されるたびに画像を合成して画面に表示するようにしています。
このツールで微調整したPITCHは画面のテキストボックスに表示されているので、コピーしてテキストに貼り付けて保管しています。
 ちなみに微調整した結果はおよそ6.163でした。計算では約6.120だったので、発光部と距離がある分、広がっていることがわかりますね。
 
 このエントリを書くために、その時作ったツールのソースコードを久しぶりに眺めているのですが(最終更新日が2017/6/10だ)、力業と数値の直書きのオンパレードで泡を吹きそうです。
こりゃ遅かったわけだ。その内作り直したい。あとコメントは書こう。後で見返した自分が一番困る。

●実際に画像を合成してみる

 キャリブレーションの流れをそのままに、実際に画像を合成するようにしたものも作りました。とりあえず目に見えて3Dディスプレイを実感したかったので。
BlenderにMMDのモデルをインポートして、初音ミクを少しずつ回してレンダリングした画像を用意しました。
12枚並べるとちょうど1200*1920になる
実はここで注目していただきたいのですが、ミクさんが縦に潰れているのがわかると思います。これが地味にポイントです。
確かに1枚の画像サイズは600*320ですが、そのまま600*320の範囲を切り取った画像を使用すると、縦に引き伸ばされたミクさんが出来上がります。
あくまでも、見るときは1200*1920になるので、きちんと1200*1920の範囲を切り取って、600*320まで圧縮したような画像を用意しなければなりません。
 これを合成したものがこちらです。
写真へたくそ選手権みたい
ちゃんと正しい比率のミクさんになっていると思います。
試しに作ってみた画像がすごく上手く立体的に見えたため、3Dディスプレイ制作の見通しは明るいなと思ったのですが、実際そうはいかず、私の頭を悩ませることとなります。

これでひとまず3Dディスプレイ用に画像を合成することができるようになりました。
次はミクさんを動かすために、Unityで実装してきます。

コメント

このブログの人気の投稿

3Dディスプレイの仕組み(発展編)

3Dディスプレイの仕組み(基本編)

20190804:成果報告