Mayaカメラデータunityインストール
- 16. ロケータのスケールZ値にUnity互換のFOVを計算し、転送する
●
最後にScale Zを選択し、Expressionを追加する。Scale Zには、FOVを納める
// ScaleZの処理
// 使用する変数の宣言
float $fl;
float $vfa;
float $FoV;
// シェイプノードから焦点距離を取得
$fl = `getAttr Main_CameraShape.focalLength`;
// シェイプノードから垂直画角を取得
$vfa = `getAttr Main_CameraShape.verticalFilmAperture`;
// 垂直画角と焦点距離からFOVを計算する
$FoV = 2.0 * atan((0.5 * $vfa) / ($fl * 0.03937)) * 57.29578;
// FOVをscaleZに納める
setAttr locator_Camera.scaleZ $FoV;
FOVの計算は以下のHPを参考にさせていただきました。
http://hideapp.cocolog-nifty.com/blog/2012/12/mayafov-997f.html
- 22. UnityのMain CameraをMayaCameraの子にする
●
Hierarchyウィンドウで、UnityのMain CameraをMayaCameraオブジェクトの子にします
●
Main Cameraのローカル座標を以下のようにします
●
Position(x,y,z) = (0,0,0)、Rotation(x,y,z)= (0,180,0)、Scale(x,y,z)=(1,1,1)
●
Y軸のみ180度回転させるのは、MayaとUnityで座標系が左右異なるからです
●
この時点で、カメラの位置と回転に関してはMayaのシーンと同じになります。
UnityのMain Cameraを
MayaCameraオブジェクトの子にする
Y軸周りに180度回転すると、
UnityとMayaのカメラの向きが一致する