MayaのQuaternionノードを使ってみよう(ベクトルの回転)
Mayaのプラグインマネージャーに quatNodes.mll というのを見かけたことがありませんでしょうか。
私は、この記事投稿時点で Maya2014 を使用しておりますが、2~3つぐらい前のバージョンから追加されていた気がします。存在は知っていても使ったことがある人はあまりいないんじゃないかなと思います。
というわけで今回はこのクォータニオン系のノードを使ってみようと思います。
計算式の参考にさせて頂いたサイト様
やろうとしていることは「あるベクトルを回転させる」です。
画像では、赤い球の位置と立方体の回転を与えて、青い球の位置を求めています。
ノードグラフは以下のようになりました。
先ほどのサイトの中の 「★こうすれば四元数で3次元の回転が計算できる」の部分の式を参考にノードを組んでいます。
(quatProdノードはクォータニオンの掛け算ノードです)
赤い球の位置ベクトルをそのままクォータニオンの虚数部(XYZ)に渡して、立方体の回転クォータニオンとそれの共役四元数(虚数部の符号反転)を掛け合わせるというシンプルな計算です。
計算結果のクォータニオンの虚数部が目的の位置ベクトルになっているというのがなんとも不思議といいますか面白いなと思いました。
とても小さな小さな使用例なので、お役に立つんだか立たないんだかわかりませんが、こういう風にも使えるんだなーぐらいに思っていただければということで終わりにしたいと思います。以上です。