我试图编写一个mel脚本,为动画对象上的每个顶点分配CV曲线(5节)。对于动画对象上的每个顶点,然后使用约束按以下顺序对齐单个CV曲线的基础:几何体,法线(CV曲线的长度与法线方向对齐)以及多边形上的点。此后,在nHair模块中使每条CV曲线动态化,其基础锚定到动画对象的顶点。我已经能够记录单个实例的mel命令,但确实知道如何对动画对象上的所有顶点重复相同的命令
curve -d 3 -p 0 0 0 -p 0 1 0 -p 0 2 0 -p 0 3 0 -p 0 4 0 -p 0 5 0 -k 0 -k 0 -k 0 -k 1 -k 2 -k 3 -k 3 -k 3 ;
select -r pSphere1 ;
select -tgl curve1 ;
geometryConstraint -weight 1;
select -r pSphere1 ;
select -tgl curve1 ;
normalConstraint -weight 1 -aimVector 0 1 0 -upVector 0 1 0 -worldUpType "vector" -worldUpVector 0 1 0;
select -r pSphere1.vtx[184] ;
select -tgl curve1 ;
doCreatePointOnPolyConstraintArgList 2 { "0" ,"0" ,"0" ,"1" ,"" ,"1" ,"0" ,"0" ,"0" ,"0" };
{string $constraint[]=`pointOnPolyConstraint -offset 0 0 0 -weight 1`; setAttr ($constraint[0]+".pSphere1U0") 0.200000; setAttr ($constraint[0]+".pSphere1V0") 0.500000;};
select -r curve1 ;
makeCurvesDynamic 2 { "0", "1", "1", "1", "0"};
select -r follicle1 ;
selectKey -clear ;
setAttr "follicleShape1.pointLock" 1;
(太棒了!因为我还没有获得足够的积分,所以还不能嵌入图片...)
我知道这只是Maya球体上显示的法线的抓屏(如果允许我嵌入它-现在只需打开Maya球体的法线显示),但是如果您可以想象每条法线实际上是CV曲线卵泡,那么您可以理解我要编写的脚本-我希望能够选择球体上的所有顶点并分配CV,然后将其转换为动态卵泡...