No More Retake

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

メニュー

Houdini:OrientをRotateに変換する

以前教えていただいたのに、毎回忘れて調べるのでここに書く。

Orientをrotateに変換する

VOPの場合

orient(bind)を Rotate by Quaternionのquaternionに繋ぎ、qrotateのvecに何かしらのVectorデータを繋ぐ。qrotateにつなぐvectorは、上例の場合vec(0,1,0)としているが、例えば@Nにすれば結構、各ポイントでコントロール可。

Wrangleの場合
@N = qrotate(@orient, {0,1,0});

2022/02/18追記

これの活用例。サンプルファイルqrotate_sample.hiplc
Packされたオブジェクトから向きの情報を取り出す。

Packジオメトリには、PrimitiveアトリビュートにIntrinsicsという、普段表示されていないアトリビュートがあります。

このIntrinsicsアトリビュートは直接は参照できませんが、いろいろ情報が格納されています。
packedfulltransformというIntrinsicsアトリビュートには、回転とスケール情報がMatrixの形で格納されています。
このMatrixを、アレしてコレして先で紹介したRotate by Quaternionつかえば、向きを表すベクトルが生成できます。

こんな感じ。

以上!

関連記事

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

このサイトについて

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

RSS

follow us in feedly

Archives

  • 2024 (1)
  • 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を使えるようになる本