日本語版: Maya LatLong_Stereo - zicher3d-org/domemaster-stereo-shader GitHub Wiki
LatLong Stereo
レンズシェーダーは、立体映像にも対応した全天球/正距円筒図法/緯度経度レンズシェーダーで、立体の全天球映像としてシーンをレンダリングするために使用できます。[Camera]の設定値を切り替えて左目や右目の映像をレンダリングします。
"Center"に設定することで、非立体視に最適化された全天球/正距円筒図法/緯度経度用のLatLongシェーダー
の画像としてレンダリングすることもできます。
[レンダリング]メニューセットの[Domemaster3D]メニュー化、[Domemaster3D]シェルフの[Latitude Longitude Stereo]ツールを選択することで、シーンに全天球映像のためのカメラリグが追加されます。
シーンにカメラリグが追加された後は、「アウトライナ」から"LatLongStereoCamera"を選択して全天球映像の設定を編集することができます。
次に、「アトリビュートエディタ」でcenter_LatLong_Stereo
タブを開きます。LatLong_Stereo
ノードの設定が見えるようになりました。
注意: 左目と右目のカメラのStereo
ノードのアトリビュートは、center_LatLong_Stereo
の設定値から数式を通して設定されます。
Field of View Vertical: この設定値では、全天球影像の垂直方向の視野角(度単位)を設定します。
Field of View Horizontal: この設定値では、全天球影像の水平方向の視野角(度単位)を設定します。
Flip X: これにチェックを入れると映像が水平方向に反転します。
Flip Y: これにチェックを入れると映像が垂直方向に反転します。
Camera: このプルダウンメニューでは、どの視点でレンダリングを行なうかを選択します。選択肢は"Center"、"Left"、"Right"のいずれかです。"Center"では立体視のための90%の計算を省略し、非常に最適化された方法で全天球映像をレンダリングできます。
Zero Parallax Distance (焦点面): この設定値では、左右の立体視カメラの視線が交差する点までの距離を設定します。
Camera Separation: この設定値には、立体視カメラ間のデフォルト距離をシーンで使用されている単位で設定します。
Separation Multiplier: この0-1の値がCamera Separationの設定値に乗算されます。このアトリビュートはグレースケールのスクリーン座標系テクスチャー画像とともに使用されます。これによって、シーンの立体視効果の強さを必要に合わせて調整することができます。
Zenith Mode: この設定値によって、レンダリングの基準方向を水平(Zenith ModeをOFF)にするか、または垂直(Zenith ModeをON)にしてDomeAFL FOV
/ Domemaster Stereo Shader
シェーダーと同様にレンダリングするかを設定します。
LatLong Stereoシェーダーによる立体効果はテクスチャー画像によって調整することができます。[Separation Multiplier]アトリビュートにはスクリーン座標系の制御用テクスチャー画像を設定することができます。
下記のDomemaster3Dフォルダにあるデフォルトのテクスチャ画像ファイルを使ってレンダリングを始めることができます。
C:\Program Files\Domemaster3D\sourceimages
また、独自の制御テクスチャー画像を作成して、レンダリングするシーンの立体視深度を細かく調整することもできます。
もしレンダリング結果でサーフェースマテリアルのテクスチャ上にぼやけた線状のゴミが発生したら、これはMayaの標準のファイルテクスチャノードによるメンタルレイのテクスチャサンプリングエラーが原因です。この問題の解決法は、標準のmentalrayTexture
ノードを使ってサーフェースマテリアルにテクスチャを貼ることです。
このメンタルレイのドームマスターレンダリング時に発生するテクスチャのゴミの問題について、詳細はwiki domeAFL向けに最適化されたサーフェースマテリアルの作成を参照して下さい。
Domemaster3DシェルフにはColor Material
、Color + Bump Material
, and Color Image Sequence Material
という3つのツールが用意されており、簡単にmentalrayTextureを使ったメンタルレイのシェーディングネットワークを作り始めることができます。
LatLong Stereoシェーダーを使ったレンダリングで、Mayaの流体エフェクトのボリューム内にあるカメラでレンダリングを行った際に、暗い筋状の線が発生する場合があります。詳細についてはWiki [Maya流体エフェクトとメンタルレイ レンズシェーダー](https://github.com/zicher3d-org/domemaster-stereo-shader/wiki/日本語版:Maya-Domemaster3D-Tips-and-Tricks# Maya流体エフェクトとメンタルレイ レンズシェーダー)を参照して下さい。
ドーム映像や全天球影像用の立体視カメラをシェルフツールかDomemaster3Dメニューからシーンに追加すると、プリレンダーMELスクリプトおよびポストレンダーMELスクリプトがMayaの「レンダー設定」ウィンドウに自動的に追加されます。これらはレンダリング時の立体視レンダリング設定を制御するために使用され、Mayaのリアルタイムビューポートでもアナグリフによる立体視プレビュー機能も利用可能にします。
もし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ページを参照して下さい。