2014/07/30

【C4D】【Python】マテリアル作成

こつこつ練習中
いろんな色のマテリアルを作ってみます。個数任意。




import c4d
from c4d import gui

def makePluralMtls( num ):
    hStep = [x/float(num) for x in range(num)]
    for h in hStep:
        c4d.CallCommand(13015) # 新規マテリアル
        newMat = doc.GetActiveMaterial()
    
        hsvCol = c4d.Vector(h, 1.0, 1.0)
        newMat[c4d.MATERIAL_COLOR_COLOR]= c4d.utils.HSVToRGB(hsvCol)
        newMat.Update(1, 0)
        

def main():
    num = gui.InputDialog('input number...', 12)
    makePluralMtls( int(num) )

if __name__=='__main__':
    main()


c4d.CallCommand(13015) すると新しく出来たマテリアルがアクティブ状態になるのを利用しています(もっとよいやり方ありそうではありますが…)
100とか入れると、サムネイル作り終わるまでそこそこ時間かかるので注意。すごく綺麗なマテリアルエディタを見ることが出来ます(?

randomモジュールでもっとばらつきのあるマテリアルを作成してもよかったですが、やってみたところあまりおいしくなかったのでやめました。
作ったマテリアルをリストで返すようにして、random.choice()で取得しつつアサインするようにするといいのかな_(:3 」∠)_

牧歌的な風景

0 件のコメント:

コメントを投稿