大家好,我正在尝试创建一个草生成器,使用maya python获取一个圆锥体,对其进行变形、复制,然后在我选择的几何体上随机传播它
我是一个初学者,我只接触到了复制部分,我如何才能在表面上传播叶片(草)?,谢谢
import maya.cmds as MC
from random import uniform as RN
blade = MC.polyCone( sx=3, sy=5, sz=0, r=0.04, h=1, ax=(0, 1, 0))
MC.setAttr (blade[0] + '.translateY', (.5))
MC.delete(ch=True)
MC.polySoftEdge ( a=0 )
#adding deformer
bend = MC.nonLinear( type='bend', lowBound=0, highBound = 2,
curvature=30)
vtxPos = MC.xform(blade[0]+'.vtx[0]', q=True, t=True, ws=True)
MC.xform(bend, t=(0,vtxPos[1], 0))
MC.select (blade[0])
MC.delete(ch=True)
MC.makeIdentity(apply=True, t=1, r=1, s=1, n=0)
groupblades = MC.group(empty=True, name=blade[0] + '_grp#')
for i in range(200):
obj = MC.instance(blade[0])
MC.move(RN(1,-1), 0, RN(1,-1), blade[0])
MC.rotate(0, RN(0,360),0, blade[0])
MC.parent(obj, groupblades)
在曲面上散布物体肯定有很多不同的方法。可以使用几何体和法线约束。还有MASH的框架。但我认为使用毛囊是很容易的,并且需要较少的开销。唯一需要注意的是,曲面必须具有UV,因为这是我们移动毛囊的方式
下面是我的建议:
下面是一个完整的示例:
有一部分我需要把草向上移动一点,因为枢轴点在草的中心。这是一个小技巧,真正的解决方案是在草地的底部建造一个枢轴点。这样做可以解决任何漂浮的草,并使随机化缩放更容易
以下是它将输出的内容:
相关问题 更多 >
编程相关推荐