以前在公司參與的一個與國外合做的項目中,有一景須要動態、隨機地選取場景中的一些物體,同時顯示指定材質,當時是用Houdini的節點+Hscript 解決的;html
今天用簡潔優雅的Python在Maya中寫了一個相似的效果,dom
代碼以下:函數
import maya.cmds as mc
import random def selTest(): mc.select(allDagObjects=1) sel = mc.ls(sl=True) selSize = len(sel) #print sel rand = random.sample(sel, 17) mc.select(rand, r=1) selTest()
這段代碼須要使用Python的隨機模塊,但Maya的commandsPython幫助中沒有這個模塊,幸運的是能夠從Python庫中直接調用;spa
import random
ramdom模塊的函數不少,這裏用sample()採樣函數便可;code
最後再指定Shader,這樣渲染就能看到效果了~htm
加快版,看起來流暢點,不過當時用的是上圖稍慢一點的效果。blog