【Maya/Python】OpenMaya PythonAPI2.0 逆引きメモ パート2-1

これは Maya Advent Calendar 2022 の17日目の記事です。

(25日目の記事だけ書こうと思ったら予想より長くなるものがあり、17日分が空いていたので急遽記事を分割しました。)

 

前日は tm8r さんの「【Maya】相互リファレンス覚書」で、

翌日は 9boz さんの「ワイヤーフレームが黒くなる」です。

 

今回は、Maya Advent Calender 2019 で書いた OpenMaya  PythonAPI 2.0 逆引きメモ のパート2-1 を書いていきます。

 

パート2-2はこちら

 

もっと早くパート2を書く予定でしたが、3年も経ってしまいましたか…

 

今回は2個書きました。 

もし間違いやもっと良い書き方がありましたら教えて頂けると助かります。

 

ちなみに検証は Maya2022.4 を使っていますが、

もしかしたら他のバージョンで変わっている部分がある可能性はあるので

もしうまく実行できないことがあればご連絡ください。

 

目次です。


アトリビュートを追加する
Add attributes

 

これはいわゆる addAttr コマンドに相当するものですね。

 

OpenMaya.MFnDependencyNode.addAttribute()

 

下記が一番使いそうな float / vector / int / boolean などを追加する方法です。

OpenMaya.MFnNumericAttribute

 

OpenMaya.MFnNumericData

 こちらは Enum の追加方法です。

OpenMaya.MFnEnumAttribute

こちらは Matrix の追加方法です。

OpenMaya.MFnMatrixAttribute

こちらは String の追加方法です。

OpenMaya.MFnStringData

上記を全部実行するとこんな感じになります。

ボリュームがすごいので今回は省略しますが、他にもこんなアトリビュートのクラスがあります。

MFnCompoundAttribute

 

MFnGenericAttribute

 

MFnLightDataAttribute

 

MFnMessageAttribute

 

MFnUnitAttribute

 

MRampAttribute


アトリビュートを削除する
Remove attributes

 

これはいわゆる deleteAttr コマンドに相当するものですね。

(コマンドの方は delete なのに、OpenMaya の方は remove となってて統一されてないですが…)

 

OpenMaya.MFnDependencyNode..removeAttribute()


 

今回は以上となります。