質問: 現在こちらの記事を参考にMayaのプラグインノードを作成しているのですが、この129~140行にあるような > > MFnNAIns_input_offset.create('offset_x', 'ox', om.MFnNumericData.kFloat, default_value) > > > と同様に行列やクォータニオンをinput, output共にcreateしたいと考えております。 しかし、こちらのリファレンスを読む限り、初期値として入れられるのはfloat値のみであり、さらに、こちらをみても、そもそも行列の型みたいなものが存在せずといった状況で、どのように対応すればよいのかが現状はっきりしておりません。 それならばと、直接行列を扱っている既存のノードの実装コードを見ればいいのではとも思ったのですがその方法もわかっておりません。 上記「行列・クォータニオンのinput, outputの作成方法」もしくは「既存ノードの実装コードの閲覧方法」を知るサイトや手順を教えていただけないでしょうか。 よろしくお願いいたします。
回答: 自己解決しました。 行列に関して、「*MFnNumericAttribute*」ではなく「*MFnMatrixAttribute*」が存在していました。 クォータニオンについては、既存のノードのアトリビュートを確認(カーソルを合わせてTipsを確認)したところ、「*TDataCompound*」とあり中身は*FLoat*値だったため、どうやらクォータニオン専用のアトリビュートが存在しているわけではなく、4つの*Float*値を入れ子にして疑似的に表現していたようです。 そのため、クォータニオンに関しては、こちらの記事を参考に、「*MFnCompoundAttribute*」と「*MFnNumericAttribute*」を活用して既存ノードと同様のものを製作することができました。