« C4D Python R13 テスト:アニメーショントラックを他のオブジェクトへコピーするスクリプトを作ってみた。 | トップページ | C4D Python R13 テスト:複製したマテリアルにレイヤを設定 »

C4D Python R13 テスト:マテリアルの複製

マテリアルマネージャ内の選択されたマテリアルを複製する。
「ctrl + ドラッグ」でマテリアルの複製は出来ますが…
C4D Pythonでは?

Python
"""
materialの複製
"""

import c4d


def main():
    mats = doc.GetActiveMaterials()  #選択マテリアルの取得
    doc.SetActiveMaterial(None)      #全てのマテリアル選択解除

    for c, mat in enumerate(mats):
        copymat = mat.GetClone()     #複製マテリアルの取得
        copymat.SetName(mat.GetName() + " copy"#複製マテリアル名の変更
        doc.SetActiveMaterial(copymat, c4d.SELECTION_ADD#複製マテリアルを選択状態にする
        doc.InsertMaterial(copymat)  #マテリアルをマテリアルマネージャに追加
    c4d.EventAdd()

if __name__=='__main__':
    main()

こんな具合だ…
ま、これ単体で使う事は無いだろうけど…

|

« C4D Python R13 テスト:アニメーショントラックを他のオブジェクトへコピーするスクリプトを作ってみた。 | トップページ | C4D Python R13 テスト:複製したマテリアルにレイヤを設定 »

コメント

コメントを書く



(ウェブ上には掲載しません)




« C4D Python R13 テスト:アニメーショントラックを他のオブジェクトへコピーするスクリプトを作ってみた。 | トップページ | C4D Python R13 テスト:複製したマテリアルにレイヤを設定 »