No More Retake

3DCG屋さん向けTips&Referenceサイト

メニュー

Houdiniレシピ:VOPでの回転方法x4つ

今日も、Houdiniじゃ!

今回は「VOPを用いたポイントの回転方法」を思いつく限り列挙したいと思います。
たかが回転!されど回転!
ここでは、例として下のようなジオメトリをAttribute VOP(SOP)で回転させてみました。
サンプルファイル参照→Rotate_VOP_sample

VopRotate

使用したのはAttribute VOP(SOP)、Houdiniのバージョンは14です。
Attribute VOPはH13以前はVOP SOPと呼ばれていたノードです。
tabメニューから作成する場合は、point vop。

VOP_rotate01

 

その1:Rotateノードによる回転

VopRotate_01

「rotate(VOP)」はangle(角度)とaxis(軸)を入力すると、その回転に相当するMaxtirxを出力してくれます。
Positionデータに得られたMatrixを乗算するれば回転結果が得られます。
回転の中心(pivot)を考慮に入れる場合、一度PositionデータからPoivotの位置を引き、ニュートラルな状態にしてから回転し、再度pivotの位置情報を足すことで、Pivot中心の回転が可能。
利点は、任意の軸に対しての回転ができること。

 

その2:クォータニオンを使った回転

VopRotate_02

その1と構造は似てます。
違いはその1では、”Rotate(VOP)”だった部分が、”quaternion(VOP)”になっている点です。
“quaternion(VOP)”は軸と回転角を入力すると、その回転に相当するクォータニオンを出力してくれます。
出力されるものに違いはありますが、”Rotate(VOP)”と似てますね。
クォータニオンを反映するには一度Matrixに変換する必要があるので「quatenion to Matrix3」というノードで変換をしています。
クォータニオンについては、私の理解度が足りてないので十分な説明できません。

 

その3 :Transform Matrix(VOP)による回転

VopRotate_03

Transform Matrix(VOP)はいつもの感覚で移動回転スケールができます。
シンプル。

 

その4:aline(VOP)を使う

VopRotate_04

aline VOPノードを使うと、2つのベクトル間の角度orそれぞれに垂直なベクトルを得られます。
ここではベクトル間の角度を利用します。
(余談ですが、それぞれに垂直なベクトルが欲しいときは外積を使うことがおおいです)
角度はマトリクスとして出力されるので、その1同様、Positionデータに乗算してあげればOK。

 


以上、VOPでのポイントの回転方法いろいろでした。
間違い等ありましたらご指摘を!
「他にこんな方法もあるよ」って場合は教えてくださいm(_ _)m

サンプルファイルはこちら→Rotate_VOP_sample

 

関連記事

  1. 2014.07.14

    Houdini:○○OP

コメントをお待ちしております

このサイトについて

3DCG Tipsサイト。Houdiniの記事が多めです。

RSS

follow us in feedly

Archives

  • 2024 (4)
  • 2023 (2)
  • 2022 (9)
  • 2021 (14)
  • 2020 (46)
  • 2019 (17)
  • 2018 (33)
  • 2017 (29)
  • 2016 (36)
  • 2015 (64)
  • 2014 (54)
  • 2013 (60)
  • 2012 (55)

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

スポンサードリンク

言語切り替え

  • English (United States)
  • 日本語

Houdiniを使えるようになる本


Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): Failed to enable crypto in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(http://api.facebook.com/restserver.php?method=links.getStats&urls=http%3A%2F%2Fnomoreretake.net%2F2015%2F07%2F25%2Fhoudini_rotate_vop%2F): failed to open stream: operation failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(): Failed to enable crypto in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132

Warning: file_get_contents(http://api.b.st-hatena.com/entry.count?url=http%3A%2F%2Fnomoreretake.net%2F2015%2F07%2F25%2Fhoudini_rotate_vop%2F): failed to open stream: operation failed in /usr/home/nomorere/nomoreretake.net/wordpress/wp-content/themes/n1-custom/functions/social.php on line 132