目录
shape编辑器
maya创建blendshape python 脚本
添加形变动画
查看顶点个数
shape编辑器
打开方式:
窗口-动画编辑器-形变编辑器
maya创建blendshape python 脚本
import maya.cmds as cmds# 创建基础网格 - 球体
baseMesh = cmds.polySphere(name="baseMesh", radius=1)[0]# 创建目标网格 - 另一个稍微变形的球体
targetMesh = cmds.polySphere(name="targetMesh", radius=1)[0]
# 修改目标网格形状,例如移动一些顶点
cmds.select(targetMesh + ".vtx[300:400]", r=True)
cmds.move(0, 0.5, 0, relative=True)# 创建blendShape节点
blendShapeNode = cmds.blendShape(targetMesh, baseMesh, name="myBlendShape")[0]# 打印创建的blendShape节点名称,验证创建成功
print("Created blendShape node:", blendShapeNode)
添加形变动画
# 设置动画
# 在第1帧,设置blendShape权重为0
cmds.setKeyframe(blendShapeNode, v=0, attribute='weight[0]', t=1)# 在第24帧,设置blendShape权重为1
cmds.setKeyframe(blendShapeNode, v=1, attribute='weight[0]', t=24)# 在第48帧,再次设置blendShape权重为0
cmds.setKeyframe(blendShapeNode, v=0, attribute='weight[0]', t=48)
查看顶点个数
import maya.cmds as cmds# 选择对象
cmds.select('baseMesh', r=True)
# 获取顶点数
num_vertices = cmds.polyEvaluate(vertex=True)
print("Number of vertices:", num_vertices)
mel指令
// 选择对象
select -r yourMeshName;
// 打印顶点数
int $numVertices = `polyEvaluate -vertex`;
print ("Number of vertices: " + $numVertices);