[3dsMax]rotationについて

選択した複数のオブジェクトの向きを、
ある任意のオブジェクトの向きと一致させようとして、
↓のスクリプトを実行したら、オブジェクトが意図しない位置へ移動してしまった。

for i in selection do(
	i.rotation = $teapot001.rotation
)


向きは合っているけど、位置がおかしい。

位置を保持し、向きを合わせてから、元の位置へ戻すようにした。

for i in selection do(
	iti = i.pos
	i.rotation = $teapot001.rotation
	i.pos = iti
)


意図通り、位置はそのままに、向きだけが合う様になった。

↓の処理でも同じ結果になる。

for i in selection do(
	iti = transMatrix i.pos
	kaiten = inverse($teapot01.rotation as matrix3)
	i.transform = kaiten * iti
)

↓回転させるティーポットが全部同じ向きなら、原点を基準に回転しているのが分かる。
(回転の中心のティーポットが原点に居るやつ)

↓向きがバラバラだと回転の規則性が分かりにくい。

↓位置を維持する処理

コメントを残す

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


− 7 = 一


*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>