オブジェクトを回転した後に、
シンメトリモディファイアやミラーモディファイアを掛けると、
反転のための軸が傾いてしまっている。
この傾きを直したい。
ユーティリティーからXformのリセットを行えば解決できるけど、
オブジェクトのトランスフォームもリセットされてしまう。
オブジェクトのトランスフォームを維持したまま、
ミラーの軸だけリセットしたい。
どうすれば良いか?
オブジェクトを回転した後に、
シンメトリモディファイアやミラーモディファイアを掛けると、
反転のための軸が傾いてしまっている。
この傾きを直したい。
ユーティリティーからXformのリセットを行えば解決できるけど、
オブジェクトのトランスフォームもリセットされてしまう。
オブジェクトのトランスフォームを維持したまま、
ミラーの軸だけリセットしたい。
どうすれば良いか?
スクリプトを使い、
スライダーマニュピュレーターに、カメラの焦点距離を表示させる。
プレビューに焦点距離を載せたいときなどに便利。
●焦点距離の取得について
カメラの焦点距離は、スクリプトから直接取得する事が出来ない。
まず画角を取得し、焦点距離に変換する必要がある。
緑と赤のオブジェクト二点間の距離によって、青のオブジェクトの振動の強さを変化させる。
(基準点は、緑のオブジェクトと、赤のオブジェクトの中心)
・3dsMaxの単位設定:標準設定
・計算に使用する緑と赤の距離の範囲:100
・振動の最大値:30
青オブジェクトの位置に、スクリプトコントローラー・位置スクリプトを割り当てる。
スクリプトコントローラーで、緑オブジェクトと、赤オブジェクトを入れた変数を用意する。
スクリプトコントローラーの式蘭に以下のスクリプトを入力する。
▼概要
・Box01のX位置を、Text01に表示する。
※スクリプトコントローラーに入れる式は、一行のみ。
▼スクリプトコントローラーで行う処理の簡単な説明
□オブジェクトの位置に、スクリプトコントローラーを割り当てる。
↓
スクリプトコントローラーで変数pointposを制作し、ポイントヘルパーオブジェクトのZ位置を割り当てる。
↓
pointposの値を、複数の条件に通し、条件に一致したら、
その条件の後にある式が指定する位置へ、□オブジェクトを移動する。
▼問題
式の欄に角度を直接入力したり、回転を割り当てた変数を入力したら、
やけに高速回転して、意図した動作にならない。
▼原因
角度の単位。
式の欄で角度を扱う場合の単位はラジアン。
▼解決方法
角度をラジアンに変換する。
▼スクリプトコントローラーってどんな事が出来るの?
・他のオブジェクトが持っている値を指定して、使う事が出来る。
・他のオブジェクトから取得した値を四則演算したり、条件分岐により処理を変えたり出来る。
▼スクリプトコントローラーの使い方。
例:スクリプトコントローラーを使用し、
スライダーマニュピュレーターでマテリアルの色を編集できるようにする。
※今回の例では、取得した値に手を加えず、そのまま利用する。
色はRGB(Red Green Blue)の三原色で指定する。
RGB各色の量をマニュピュレーターで操作できるようにする。
具体的に言うと、拡散反射光カラーにPoint3スクリプトコントローラーを割り当て、
色をスライダーマニュピュレーターの値と関連付けする。
———————————————————