▼問題
式の欄に角度を直接入力したり、回転を割り当てた変数を入力したら、
やけに高速回転して、意図した動作にならない。
▼原因
角度の単位。
式の欄で角度を扱う場合の単位はラジアン。
▼解決方法
角度をラジアンに変換する。
▼解説
スクリプトコントローラーで、回転トラックを取得すると、角度の単位はディグリー(度)
Y軸中心に45度回転したオブジェクトの、Y回転値を取得すると、45度を取得する。
スクリプトコントローラーの式欄で回転を扱う場合の単位はラジアン(弧度)
スクリプトコントローラーの式欄で角度を入力する際、ディグリーはラジアンに変換する必要がある。
変換するにはdegToRad()関数を使う。
(degree to radian。ディグリーをラジアンにする。)
degToRad(ラジアンに変換したい角度)
degToRad(45)と入力すれば、45度がラジアンに変換され、0.785398になる。
▼具体例
スクリプトコントローラーを使用し、
ティーポット1をZ回転する、とティーポット2もZ回転するようにする。
▼手順
ティーポットを二つ制作
ティーポット1(青)、ティーポット2(茶)
↓
ティーポット2のZ回転に、実数スクリプトコントローラーを割り当てる。
↓
スクリプトコントローラーでz_kaitenという変数を制作。
↓
変数z_kaitenに、ティーポット1のZ回転トラックを割り当てる。
↓
スクリプトコントローラーの式の欄に、degToRad(z_kaiten)と入力して評価ボタンを押す。
これで、ティーポット1をZ回転させると、ティーポット2もZ回転する。
▼※-degToRad(z_kaiten)にすると、ティーポット2は逆回転する。
-degToRad(z_kaiten)*2と入力すれば、ティーポット2の回転はティーポット1の倍になる。
※スクリプトコントローラーで取得しているティーポット1のZ回転値を見たいときは、
式欄にprint z_kaitenと入力し、評価ボタンを押す。
これで、ティーポット1をZ回転させると、
左下にあるMAXScript ミニリスナーに数値が表示される。
回転値がディグリーで取得されているのが確認できる。
(MAXScriptリスナーからも値を見ることが出来る。)
※ラジアンをディグリーにするには、radToDeg()関数を使う。