エントリー

デザインドールのカメラ操作とパース

以下の記事はVer.3.97による検証結果です。3.98でインターフェースや環境設定などが変更になっているため、以下の情報は余り役に立ちません。(詳しくは3.98の新機能をご覧ください。)2014/9/6追記

今回は、いつものPainter記事から離れて、デザインドールのカメラ操作とパースについて、確認できたことなどを紹介します。

1.グリッドの設定について

カメラ操作を確認する前に、グリッドの設定についても簡単に説明しておきます。
Ver.3.9.0以降ボックスにサイズ(cm)が表示されるようになったこともあり、グリッドのサイズについて厳密に設定する必要性は低くなっていますが、グリッドにスナップの機能なども利用できるので、きちんと設定しておくと楽に作業が出来ると思います。
グリッドは、メニューバーの[環境設定]>[描写]の[地面の大きさ]と[地面の分割数]によってせっていしますが、基準身長が160cm(デフォルト)の場合、次のような計算方法で決めることが出来ます。
(グリッドひとつ分の幅×[地面の分割数])× 0.478766 = [地面の大きさ](現在の最新バージョン3.9.7.0で確認した数値なので、バージョンによって違います。)

 

たとえば、30cmのグリッド幅にしたい場合、[地面の分割数]を30に設定し地面の大きさを計算式から求めます(30×30×0.478766=430.889…)。この結果から[地面の大きさ]に430.89を入力すればよいことになります。グリッドサイズを45cmにしたいならば、45×20で900cmとなり、30×30と同じになるので、地面の大きさを30cmの場合と同じ430.89に、分割数を20に設定します。
この数値(0.478766)を使えば、グリッドを自由に設定できるので便利だと思います。また、後で説明するカメラ設定内の数値にも応用することが出来ます。
ただし、基準身長が160cmの場合の数値になるので、基準身長を変更している場合は、この数値をそのまま使うことが出来ないので注意してください。

 

2.カメラ設定とパースの関係1(縦回転0の場合)

デザインドールで一点透視や二点透視などの正確なパースをつけた状態の画像を作成する場合には、カメラ操作で数値を使って設定することが出来ます。
カメラ操作はカメラビューを表示させておこないます。

カメラ操作で[縦回転]を「0」に設定すると、一点透視または二点透視の画像になります。このとき、アイレベルは常に画面の縦中央ラインになります。このアイレベルの位置は変更することが出来ません。
[横回転][縦回転]ともに0の場合、画像は一点透視となり消失点は画面中央に配置されます。
下左図のように背景画像に縦横の中央に線を引いた画像を用意しておくと、アイレベルの位置がすぐに分かってよいのではないかと思います。(図では消失点からのラインも描画してありますが、実際には縦横のラインのみでよいと思います。また、背景画像をアイレベルなどに使用する場合は、背景画像の縦サイズとデザインドールの画面縦サイズが同じになるように背景画像の大きさを修正しておいてください。)また、[縦回転]は0のままで、[横回転]を0以外に設定すると二点透視の画像(下右図)を作成することが出来ます。(カメラ操作による画像の移動や回転は地面に対しておこなわれます。配置したボックスなどをポジションタグを使って個別に回転させて地面と平行でない状態にしている場合は、[横回転]を0にしている状態でもその個別のオブジェクトについては二点透視と同じになり消失点が2つになります。)

 

[縦回転]が0のとき、[注視点]の[Y座標]に入力した数値で、実際のアイレベルの高さを設定することが出来ます。
[注視点Y]が0ならば、アイレベルは地面と同じ高さ(高さ0)になり、Yの値を上げることでアイレベルの実際の高さを高くすることが出来ます。(ただし、画面上のアイレベルの位置は常に縦中央です。)
たとえば、アイレベルを135cmに設定したいとします。この場合、[注視点Y]を64.63に設定します。Yの位置はアイレベルに合わせたいサイズ(高さ)のボックスを作成して画面の縦中央に合わせることでも確認できますが、[縦回転]が0の場合は、計算でも簡単に求めることが出来ます(下左図)。
計算には、1のグリッド作成時に使用した0.478766という数値を使います。
実際のアイレベルの高さ×0.478766 が、[注視点Y]に入力する数値になります。
たとえば、アイレベルを155cmに設定したいならば、155×0.478766=74.20873 となり、[注視点Y]には、74.21を入力することになります(下右図)。

 

実際に数値で設定してみると、[縦回転]が0の状態では、アイレベルを高め(150cmなど)に設定して全身が入るようにしようと思うと、オブジェクト(モデル)は下の方に配置されてしまい、画面の半分近くが余白ということになります。
必要に応じて、画面をトリミングして使う必要があります。
逆にモデルの全身が画面いっぱいに入るように表示させた場合、[縦回転]が0の状態ではアイレベルがかなり低い位置(160cmの身長だと80cm前後)になってしまい、上半身は「あおり」になる部分が多くなります。

 

[縦回転]が0の場合は、[注視点Y]以外の設定はどれを変更しても、実際のアイレベルの高さ(cm)が変わることはありません。[距離]と[注視点X]を変化させたのが下図ですが、どちらもアイレベルと同じ高さにあるボックスの高さが同じ数値になっているのが確認できると思います。

[距離]と[注視点Z]はどちらも目標とする地点までの距離を設定します。[注視点Y]を設定した時と同様に、実際の距離を利用したい場合は、入力値を計算することが出来ます。たとえば3mの距離にモデルを配置したい場合、[距離]または[注視点Z]に300×0.478766=143.6…を入力すれば、ほぼ3m離れた距離のモデルを撮影するのと同じになります。([距離]に143.6、[注視点Z]に0、または、[距離]に1、[注視点Z]に142.6という設定のどちらでも特に問題はないようです。※[距離]は最低値が1)

一方、[視野角]は広角や望遠といったレンズの状態を設定しますが、[縦回転]0の場合は[視野角]により奥行きに違いが出ます。違いが分かりやすいように下図で[視野角]20°と 90°を比較してみます。


どちらの場合も、アイレベルの高さは同じになります。
[距離]をそれぞれ動かして画面上でほぼ同じように表示されるように設定しました。このとき20°に全身を入れるにはアイレベルが135cmの場合[距離]が377程度、90°ならば70程度となりますが、このとき広角になる90°ではボックスの奥行きが長くなっているのが分かると思います。
画面中央近くにオブジェクトを配置する場合には、それほど違和感を感じませんが、画面端に配置したとき(左図)には、幅と奥行きが同じ30cmのボックスが奥行きの長い長方形のように見えてしまいます。

 

3.カメラとパースの関係2(縦回転が0以外の場合)

[縦 回転]が0よりも大きい(または小さい)場合、三点透視の画像になります。 このとき、アイレベルの位置は[視野角]と[縦回転]の数値によって変化します(画面中央ではなくなる)。

[視野角]と[縦回転]の数値による違いを下図で確認しておきます。[視野角]には、30、45、60、90°をそれぞれ設定し、[縦回転]は5°刻みに設定しました。



[視野角]と[縦回転]の数値を設定すると自動的にアイレベルの位置が決まり、他のどの数値を変えてもアイレベルの位置は変化しません。
実際に90°の[視野角]で、[縦回転]を30°に設定したものが左図になります。ボックスの高さを30°のアイレベルにあわせると、ちょうど一直線になっているのが分かると思います。(視野角90°なのでかなりボックスが変形して見えますが…(笑))
普段使う[視野角]で[縦回転]の大まかな値毎にアイレベルに線を引いた画像を用意して背景画像として読み込めば、大体のアイレベルの位置が分かるので、オブジェクトの配置が分かりやすくなると思います。(その際、背景画像の縦サイズとデザインドールでの画面の縦サイズが必ず同じになるように大きさを調整することを忘れないようにしてください。カメラビューや3Dビュー、HOMEキーによる最前面表示などによって、画面の縦サイズが変化するので、それに併せて背景の画像サイズも修正する必要があります。)

このとき、アイレベルの高さについては、[注視点Y]及び[距離(または[注視点Z])によって、変化します。[縦回転]が0の場合は、[注視点Y]のみでしたが、[縦回転]がある場合は、[距離]によってもアイレベルの実際の高さが違ってくるので注意してください。(左図参照。[縦回転]と[注視点Y]は上の画像と同じですが、[距離]が違うとアイレベルの高さが変わっています。)



アイレベルを手動で画面内に描画したり、自動的にアイレベルが表示されるようになると便利でよいなと思うのですが、今のところは背景画像などを利用してアイレベルを確認しておくしかありません。(次回大型アップデートに期待!?)今回の記事が、アイレベル確認の際の手助けになれば…と思います。