[Maya][Blender]オブジェクトを画角内で固定する
画角内に字幕や自前のカメラゲートを入れたい時等、フォーカルレングスを変えても画角内のオブジェクトの大きさを保つ方法。
下の動画がBlender、上がMayaです。
Blenderの場合
エンプティをカメラの子供にしてscaleX,Yにドライバーを入れる。
式:tan(視野角/2)
この視野角をドライバーとして使うのがMayaではどうやるのか分からなかったんですが、またchatGPTが解決してくれました。
Mayaの場合
カメラの子供にしたヌルかロケータ―のscaleX,Yにエクスプレッションを入れます。
// camera1のフォーカルレングスを取得
float $focalLength = camera1Shape.focalLength;
// 基準となるフォーカルレングス(例えば35mm)に基づいてスケールを計算
float $baseFocalLength = 35;
float $scaleFactor = $baseFocalLength / $focalLength;
// null1のスケールを更新
null1.scaleX = $scaleFactor;
null1.scaleY = $scaleFactor;
これと別記事のHUD表示と組み合わせると、
HUDが背景で溶けて見えなくなる時とかにも使えます