日本語版: Maya DomeAFL_FOV_Stereo

Toshiyuki Takahei edited this page Jul 19, 2015 · 4 revisions

はじめに

DomeAFL_FOV_Stereoレンズシェーダーは、立体ドーム映像コンテンツをメンタルレイレンダラ―を使ってレンダリングします。このノードは立体視用のドームマスター画像を出力しますが、その際によくある平行カメラによる立体視ではなく、パノラマを想定した立体視のレンダリングを行います。これは、ドームシアターの後方で立体視の左右が反転してしまう問題に対処するためです。

このレンダーノードを使うMayaのユーザーインターフェースを見ていきましょう。

立体ドーム映像カメラを追加

[レンダリング]メニューセットの[Domemaster3D]メニューか、[Domemaster3D]シェルフの[Fulldome Stereo Rig]ツールを選択することで、シーンに立体ドーム映像のためのカメラリグが追加されます。

立体ドーム映像カメラを追加

シーンにカメラリグが追加された後は、「アウトライナ」から"DomeStereoCamera"を選択してドーム映像の設定を編集することができます。

Mayaアウトライナ

次に、「アトリビュートエディタ」でcenter_domeAFL_FOV_Stereoタブを開きます。domeAFL_FOV_Stereoノードの設定が見えるようになりました。

注意: 左目と右目のカメラのdomeAFL_FOV_Stereoノードのアトリビュートは、center_domeAFL_FOV_Stereoの設定値から数式を通して設定されます。

アトリビュートエディタでの設定

アトリビュートエディタでの設定を、ひとつひとつ見ていきましょう。 Let's go over the controls, one at a time.

Domemaster Stereo Shaderの設定

[Domemaster Stereo Shader]欄では、ドーム映像レンズシェーダーに関する基本的な設定を行ないます。

[Camera]

[Camera]のプルダウンメニューでは、どの視点でレンダリングを行なうかを選択します。選択肢は"Center"、"Left"、"Right"のいずれかです。"Center"では通常の非立体視のドーム映像をレンダリングできます。

ここでは立体ドーム映像のカメラリグをシェルフプリセットを使ってシーンに追加したため、この[Camera]プルダウンメニューの設定は無視してかまいません。これは左目と右目のカメラはカメラリグとしてレンズシェーダーのカメラ制御に正しく結び付けられているためです。

[Field of View]

[Field of View]では、ドームマスターレンダリングの視野角を設定します。デフォルトでは、ドームマスター画像は180度の視野角になっています。

もしシーンの"地面"も見えるようにしたければ、少しだけこの視野角を増やし、例えば220度にしたとしても、ドームではそれほど違和感のある映像にはなりません。

Tip: もし360度の全球映像をレンダリングしたい場合、適用されている視差や傾きの修正マップも更新する必要があります。

[Dome Radius]

[Dome Radius]の設定値は、Mayaの通常の立体視リグで視差が無くなる距離と同じように考えることができます。この設定値は左目と右目のカメラが内向する角度を制御しています。

この[Dome Radius]の距離よりもカメラの近くに置かれたオブジェクトは、観客の方に飛び出して見えます。この[Dome Radius]の距離近くにあるオブジェクトは、ドームスクリーン上の上に乗っているように見えます。カメラから[Dome Radius]よりも離れた距離にあるオブジェクトは、ドームスクリーンの物理的な壁よりも遠くにあるように見えます。

[Dome Forward Tilt]

この設定値はドームスクリーンの傾斜による影響を補います。もしドームスクリーンが傾斜していなければ、この値は0のままにしておいてください。

[Cameras Separation]

この設定値には、立体視カメラ間の距離をシーンで使用されている単位で設定します。Mayaのシーンでは通常cm単位が使われているため、この値は6.5cmに設定します。

もし大きなサイズ、または小さなサイズのシーンを作成しているなら、[Dome Radius]と[Cameras Separation]の値を自由に変更して、空間の大きさを変えて立体視を見やすくすることができます。しかし、これらふたつの設定値を変更するときは、その比率を変えないように維持する必要があります。

デフォルトの設定値では、[Dome Radius]が360cnm[Cameras Separation]が6.5cmなので、この比率は55:1になっています。これは22フィーとのドームを想定しています。もしこの55:1の比率を維持したままでずっと小さいシーンを作成したい場合は、[Dome Radius]を3.6に、[Cameras Separation]を0.065に設定できます。

映像制作者のなかには、より大きな110:1の比率を好む人もいます。この場合、例えば[Dome Radius]を720cm、[Cameras Separation]を6.5cmにして、47フィートのドームを想定することになります。

ドーム映像アーティストAaron Bradbury http://www.luniere.com/は、およそ154:1の比率が理想的な立体ドーム映像になると言っています(ただし映像の視差が0.372度以下に収まるように気をつける)。これは[Dome Radius]が1000、[Cameras Separation]が6.5cmの設定になります。

[Dome Tilt Compensation]

このチェックボックスは、[Dome Forward Tilt]の効果の有効・無効を切り替えます。

[Vertical Mode]

このチェックボックスは正面の壁に垂直に立てられたようなドームスクリーンを使用する場合に有効にします。

[Stereo Display Controls]

この欄にある設定項目は、立体ドーム映像のカメラリグに付けられたオレンジ色の半球の形をしたプレビュー用シェイプを調整します。プレビュー用シェイプはリアルタイムで更新され、[Dome Radius]やdomeAFL_FOV_Stereoノードの視野角などの変化を確認できます。

[FOV Display Mode]

[FOV Display Mode]ではプレビュー用シェイプの表示スタイルを設定します。選択肢はOff、Wireframe、ShadedまたはWireframe on Shadedのいずれかです。

[Zero Parallax Color]

このカラースォッチはプレビュー用シェイプの表示色を設定します。

[Zero Parallax Transparency]

このスライダーはプレビュー用シェイプの透明度を設定します。デフォルト値0.25で、25%の透明度です。

0に設定すると完全に不透明に、1.0または100%にすると完全に見えなくなります。

[Double Sided Shading]

[Double Sided Shading]のプルダウンメニューでは、プレビュー用シェイプを内側や外側から見えるように設定します。表示と非表示をうまく設定することで、半球のプレビュー用シェイプを透かして見ることができます。

[Safe Viewing Controls]

この欄は現在も開発中の部分で、ドーム映像のセーフエリア領域の表示を設定します。シーンの中で主なオブジェクトやそのアクションはこの領域の中で発生させるよう、参考として利用します。

ここではシーンが快適な立体視になるような最も近い、あるいは最も遠い領域を設定します。プレビュー用シェイプはリアルタイムで更新され、[Dome Radius]や[Cameras Separation]などの変化を確認できます。

[Custom Maps]

この欄では、視差や視線の向き、傾きによる立体視効果を補正するためのスクリーン座標系テクスチャー画像を参照することができます。

これらのテクスチャ画像はスクリーン座標系全体を覆うように適用され、「レンダービュー」の最終的なレンダリング画像に影響を与えます。

C:\Program Files\Domemaster3D\sourceimagesフォルダにあるデフォルトのテクスチャ画像ファイルを使用することもできますし、[Domemaster3D]シェルフの[DomeTexture]や[DomeRamp]ツールを使って独自のマップを作成することもできます。

[Separation Multiplier]アトリビュートに[DomeRamp]ツールを使う時は、Mayaのランプノードを使ってシーンの立体視効果の強さを動的に調整することができ、制作者の判断でドームスクリーン後方の立体視を無くしてしまうこともできます。

[Image Orientation]

[FlipX]と[FlipY]はレンダリング時に映像を水平または垂直に反転します。

[FlipX]

これにチェックを入れると映像が水平方向に反転します。

[FlipY]

これにチェックを入れると映像が垂直方向に反転します。

[追加のアトリビュート]

DomeAFL_FOV_Stereoノードは他にもいくつかの内部用アトリビュートを持っています。これらはテクニカルディレクター用で、アーティストが調整する必要はありません。

[Dome Version]

[Dome Version]はシーン内のカメラリグが作成された時のソフトウェアのバージョンを追跡するための値です。現在のバージョンの値は1です。この値は将来のDomeAFL_FOV_Stereoノードが現在のカメラリグを更新し新しいアトリビュート等を追加するために使用します。

[Preview Shape]

[Preview Shape]は現在のカメラに付けられたオレンジ色のプレビュー用半球シェイプの名前を追跡するためのものです。このプレビュー用シェイプは[FOV Display Mode]の設定値に従って動的に生成されます。

プレビュー用シェイプ"DomeStereoCameraPreviewHemisphere"とプレビュー用カーブ'DomeStereoCameraPreviewCurve"は、domeStereoCameraリグに親子付けられており、シーン内でカメラが動くと立体視リグに付いて一緒に動きます。

もし興味があれば、「アウトライナ」でDomeStereoCameraリグの横の[+]をクリックして展開してみましょう。プレビュー用カーブと半球が立体視リグのグループの下にあることがわかります。

[Preview Curve]

[Preview Curve]はプレビュー用の半球シェイプの生成のために使われるNURBSカーブの名前を追跡するためのものです。このカーブの形状はdomeAFL_FOV_Stereoノードの現在の[Dome Radius]と[Field Of View]の設定値によってリアルタイムに調整されます。

注意: プレビュー用カーブはNurbsCurveの[Intermediate Object]チェックボックスによって非表示になっています。

立体視表示での作業

Mayaのビューポートで作業する際、カメラリグを通して見たようなリアルタイムの立体視効果を試すことができます。これをドームマスターレンダリングに似せたOpenGLの広角モードで表示することで、快適な[Dome Radius]や[Cameras Separation]の値を赤青立体メガネなどを使ってリアルタイムに検討することができます。

立体視カメラリグからシーンを見てみましょう。ビューポートの[パネル]メニューから[立体視] > [DomeStereoCamera]を選択します。これで視点が立体ドーム映像カメラになりました。

ビューポートをOpenGLのアナグリフ立体視レンダリングに切り替えましょう。ビューポートの[立体視]メニューで、[アナグリフ](フルカラーの立体視)または[輝度アナグリフ](白黒のアナグリフ立体視)を選択します。

下図はシンプルなシーンを左側に立体ドーム映像カメラで、右側にOpenGLで(輝度アナグリフモードで)表示した様子です。

ビューポートにはレイトレース機能が無いのでドームマスター画像とは正確には一致していません。

しかしこうした制限はあるにしても、このビューポート表示は非常に便利です。なぜならこれによって[Dome Radius]や[Cameras Separation ]の最適値を見つけるまでの無数のレンダリング時間が節約できるからです。もしこのOpenGL表示のビューポートで快適な立体視効果に調整できたら、レイトレースしたドームマスター画像の方でも目に負担の無い立体視になっているはずです。

プレビュー用の半球シェイプをShadedモードにしておくと、ビューポート内でこれがシーンを"切断"する様子から、オブジェクトが正または負のどちらの視差になるかわかりやすくなります。つまり、オブジェクトが半球シェイプの"内側"にある場合、そのオブジェクトはスクリーンから観客に向かって飛び出して見えることになります。逆にオブジェクトが半球シェイプの外側にある場合、これはドームスクリーンの向こう側にあるように見えることになります。

テクスチャのゴミの修正

もしレンダリング結果でサーフェースマテリアルのテクスチャ上にぼやけた線状のゴミが発生したら、これはMayaの標準のファイルテクスチャノードによるメンタルレイのテクスチャサンプリングエラーが原因です。この問題の解決法は、標準のmentalrayTextureノードを使ってサーフェースマテリアルにテクスチャを貼ることです。

このメンタルレイのドームマスターレンダリング時に発生するテクスチャのゴミの問題について、詳細はwiki domeAFL向けに最適化されたサーフェースマテリアルの作成を参照して下さい。

Domemaster3DシェルフにはColor MaterialColor + Bump Material, and Color Image Sequence Materialという3つのツールが用意されており、簡単にmentalrayTextureを使ったメンタルレイのシェーディングネットワークを作り始めることができます。

プリ・ポストレンダーMELスクリプト

ドーム映像や全天球影像用の立体視カメラをシェルフツールかDomemaster3Dメニューからシーンに追加すると、プリレンダーMELスクリプトおよびポストレンダーMELスクリプトがMayaの「レンダー設定」ウィンドウに自動的に追加されます。これらはレンダリング時の立体視レンダリング設定を制御するために使用され、Mayaのリアルタイムビューポートでもアナグリフによる立体視プレビュー機能も利用可能にします。

Maya プリレンダーMELスクリプト

もしDomemaster3Dシェーダーを使った既存シーンがあり、何らかの理由でプリ・ポストレンダーMELスクリプトを手動で追加する必要がある場合、下記の値を使用してください。

プリレンダーMELスクリプト (レンダリング開始時に使用されます):
source "domeRender.mel"; domemaster3DPreRenderMEL();

プリレンダーMELスクリプト (レンダリング完了後に使用されます):
source "domeRender.mel"; domemaster3DPostRenderMEL();

クラウドレンダリングのための準備

Domemaster3Dシェーダーは通常、domeAFL_FOV_StereoおよびLatLong_Stereoシェーダーによるドーム/全天球カメラリグの立体視設定を制御するためにプリレンダーおよびポストレンダーMELスクリプトを使用します。

もしDomemaster3Dシェーダーをレンダーファームで使用し、その環境では「レンダー設定」ウィンドウのプリレンダーおよびポストレンダーMELスクリプトの実行が許可されていない場合、レンダーファーム利用者がこの「レンダー設定」ウィンドウからこれらのMELスクリプトコマンドを削除する必要があります。

もしレンダーファームを使って非立体視のレンダリングを行なう場合、特に問題はありません。

もしレンダーファームを使って立体ドーム映像や立体全天球映像のレンダリングを行なう場合、Mayaのシーンファイルを転送する前に以下のMELコマンドを手元のワークステーションで実行する必要があります。

source "domeRender.mel"; domemaster3DPreRenderMEL();

これによってカメラの視野角が適切に設定され、立体視カメラリグが正しくレンダリングできるようになります。

もしDomemaster3Dシェーダーを使用していてレンダリング結果にごみが発生する場合、シーン内のオブジェクトに適用されているサーフェースマテリアルを確認してください。Mayaの標準のファイルテクスチャノードが使用されていれば、これをDomemaster3Dシェルフのツールを使用してmentalrayTextureを使ったメンタルレイのシェーディングネットワークに変更してください。また、Mayaの標準カメラシェイプのFOV上書き機能を使ってこの問題を軽減することもできます。詳細はMaya版のテクニックのWikiページを参照して下さい。


(翻訳: 株式会社オリハルコンテクノロジーズ 高幣俊之)
Clone this wiki locally
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.