2014/07/24

【C4D】【Python】マテリアルをアサインしてみるメモ

昨夜の続き。
マテリアルをアサインしてみます。
ちなみに、普通にスクリプトログで拾える
c4d.CallCommand(12169) # 適用…
でも可です

import c4d

def main():
    myObj = op
    myMtl = doc.GetActiveMaterial()
    newTag = op.MakeTag(c4d.Ttexture)
    newTag[c4d.TEXTURETAG_MATERIAL] = myMtl
    c4d.EventAdd()

if __name__=='__main__':
    main()

最初 doc.GetActiveTag() を使おうと思ったんですけど、
op.MakeTag で作られたタグがアクティブにならないんですねー
ううむ。
オブジェクト['c4d.〜〜'] = オブジェクト
での操作にはなかなか慣れないですね。

あとはアレですね、この操作だと
新しいテクスチャタグは先頭に登録されますが、
# 適用… だと最後に登録されますね。
……てことは複数マテリアルあてたときに一見無効になるので
最後に登録されるようにタグ順とらないと……!?



■ 参考

Cinema 4D - Replace Texturetags Script @ Pastebin.com
http://pastebin.com/rt8K2YqX

0 件のコメント:

コメントを投稿