スクリプトを使い、
スライダーマニュピュレーターに、カメラの焦点距離を表示させる。
プレビューに焦点距離を載せたいときなどに便利。
●焦点距離の取得について
カメラの焦点距離は、スクリプトから直接取得する事が出来ない。
まず画角を取得し、焦点距離に変換する必要がある。
●手順
・カメラ、スライダーマニュピュレーターを用意
・コマンドパネル→モーションタブ→コントローラを割り当て
・スライダーマニュピュレーターのスケールに、スケールスクリプトを割り当て
・式欄に以下のスクリプトを入力
kyori = cameraFOV.FOVtoMM gakaku
kyori = kyori as integer
$スライダ01.sldName =”焦点距離=” + kyori as string + “mm”
[1, 1, 1]
●スクリプトの説明
gakaku = $Camera01.fov
–↑gakakuという名前の変数に、カメラの画角を入れる
–※Camera01の部分は作ったカメラの名前にしておく。
kyori = cameraFOV.FOVtoMM gakaku
–↑画角を焦点距離に変換して、変数kyoriに入れる。
kyori = kyori as integer
–↑実数を整数にする。(注意:四捨五入ではなく小数点以下を切り捨て)
$スライダ01.sldName =”焦点距離=” + kyori as string + “mm”
–↑スライダーマニュピュレーターの名前に入力
–as stringを使い、数値から文字列へ変換している。
–※スライダ01の部分は、作ったスライダーマニュピュレーターの名前に変更しておく。
[1, 1, 1]
–↑スケールスクリプトに入力しているので、何か値がないとエラーになってしまう。
●処理の流れ
カメラから画角(視野角)を取得
取得した画角を焦点距離に変換
その数値をスライダーマニュピュレーターの名前に割り当てる。
●資料
MAXScript リファレンス カメラの共通プロパティ、演算子、メソッド
●おまけ
テキストオブジェクトに焦点距離を表示する。
テキストオブジェクトを作り、スライダーマニュピュレーターに以下のスクリプトを追加するだけ。
$Text01.text = “焦点距離=” + kyori as string + “mm”
※Text01の部分は、任意のテキストオブジェクトの名前にする。
↓スクリプト全文コピペ用
kyori = cameraFOV.FOVtoMM gakaku
kyori = kyori as integer
$スライダ01.sldName =”焦点距離=” + kyori as string + “mm”
$Text01.text = “焦点距離=” + kyori as string + “mm”
[1, 1, 1]