我试图通过 MAYA 中另一个对象的旋转来控制对象的挤出。但由于某种原因,它不起作用。它一直显示我收到语法错误。我不确定它有什么问题或如何解决它?
这是它的代码:
int $totalObjects = 1;
polyPipe -n Rotator -ch on -o on -r 1.839239 -h 1.223879 ;
polyExtrudeFacet -constructionHistory 1 -keepFacesTogether 1 -pvx 0.07364761256 -pvy 0.6119394158 -pvz 4.019784712 -divisions 1 -twist 0 -taper 1 -off 0 -thickness 0 -smoothingAngle 30 Rotator.f[36];
setAttr "polyExtrudeFace1.localTranslate" -type double3 0 0 0.930651 ;
string $controlName = "Rotator";
float $spacing = 1.5;
for($i=1;$i<=$totalObjects;$i++)
{
string $outName = ("twist_"+ $i);
string $outNameExtrude = ("ext_"+$i);
float $extrusion = 0;
polyCube -n $outName -ch on -o on -w 12.009218 -h 7.720124 -d 0.755927 -cuv 4 ;
setAttr ($outName+".translateZ") ($spacing*$i);
expression -s ($extrusion +"= Rotator.rotateY * 0.01*" + ($i*0.5) + ";") -o "" -ae 1 -uc all ;
polyExtrudeFacet -n $outNameExtrude -constructionHistory 1 -keepFacesTogether 1 -pvx 0 -pvy 0 -pvz 4.0 -r $outName ;
setAttr $outNameExtrude + ".localTranslate" -type double3 0 $extrusion 0 ;
}
更新:
int $totalObjects = 1;
polyPipe -n Rotator -ch on -o on -r 1.839239 -h 1.223879 ;
polyExtrudeFacet -constructionHistory 1 -keepFacesTogether 1 -pvx 0.07364761256 -pvy 0.6119394158 -pvz 4.019784712 -divisions 1 -twist 0 -taper 1 -off 0 -thickness 0 -smoothingAngle 30 Rotator.f[36];
setAttr "polyExtrudeFace1.localTranslate" -type double3 0 0 0.930651 ;
string $controlName = "Rotator";
float $spacing = 1.5;
for($i=1;$i<=$totalObjects;$i++)
{
string $outName = ("twist_"+ $i);
string $outNameExtrude = ("ext_"+$i);
float $extrusion = 0;
polyCube -n $outName -ch on -o on -w 12.009218 -h 7.720124 -d 0.755927 -cuv 4 ;
setAttr ($outName+".translateZ") ($spacing*$i);
polyExtrudeFacet -n $outNameExtrude -constructionHistory 1 -keepFacesTogether 1 -pvx 0 -pvy 0 -pvz 4.0 $outName ;
setAttr ($outNameExtrude + ".localTranslate") -type double3 0 $extrusion 0 ;
expression -s ( $outNameExtrude + ".O[0]" +"= Rotator.rotateY * 0.01*" + ($i*0.5) + ";") -o "" -ae 1 -uc all ;
}