[3dMax]距離を測定ツールと、distance関数では、測定値が異なる場合がある。

MAXスクリプト distance関数について。

変数★ = distance オブジェクト◆ オブジェクト▲

こうする事で、変数★の中には、オブジェクト◆と、オブジェクト▲の間の距離が入る。
(多分、オブジェクトの基点間の距離になる。)

例:Box01とBox02というオブジェクトを用意して、↓のスクリプトを実行する。

kyori = distance $Box01 $Box02
print “Box01とBox02間の距離は、” + kyori as string

↑を実行すると、MAXScriptリスナーに、Box01、Box02間の距離が表示される。

そして、ツール → 距離を測定を使い、Box01とBox02間の距離を測る。

このとき、スクリプトでdistance関数を使って測った距離と、
距離を測定ツールを使って測った距離に違いが出る場合がある。

distance関数を使って測った距離と、
距離を測定ツールで測った距離が異なる問題はどんなときに起こるのか?

単位設定で、ディスプレイ単位スケールと、
システム単位スケールの単位が違うときに、この問題は起こる。

●distance関数で測る二点間の距離は、システム単位スケールで表示される。
(システム単位スケールがインチの場合、distance関数で出た値は、インチで表示される。)

●距離を測定ツールで測る二点間の距離は、ディスプレイ単位スケールで表示される。

例えば、システム単位スケールがインチで、ディスプレイ単位スケールがセンチメートルの場合。
距離を測定ツールでオブジェクトA、B間の距離を測ったときの値が24.5センチなら、
スクリプトでdistance関数を使って、オブジェクトA、B間の距離を測ると、その値は10インチになる。

距離を測定ツールの場合は、測った距離の単位を表示してくれるけど、
distance関数を使って距離を測った場合は、単位が表示されず、数値のみが出る。
これは知らないと混乱する。

システム単位スケールと、ディスプレイ単位スケールが同じ単位の場合は、
distance関数で測った距離と、距離を測定ツールで測った距離が異なる問題は起きない。

システム単位スケールを変更するのは良くないらしいので、
distance関数で出した距離をセンチメートルに変換したほうが良いかもしれない。
その場合、1インチ=2.54センチメートルなので、
distance関数で出した距離に2.54を掛ければいい。

[3dMax]距離を測定ツールと、distance関数では、測定値が異なる場合がある。」への1件のフィードバック

  1. ピンバック: [3dsMax]二点間の距離によって、振動の強さを変化させる。 | NG録

コメントを残す

メールアドレスが公開されることはありません。

スパム対策用の計算式と画像認証です。↓の欄を入力しないとコメントが出来ません。 *

*