使用Python在Maya中创建相对于选择的位置的曲线控件?
我对编码还是很陌生,我想我会尝试编写一个Chris Lesage教程中的工具,该教程概述了一个小的softMod装备。到目前为止,我一直在尝试一步一步地把它组合起来,就像许多编码教程推荐的那样。 它工作正常,但我很好奇,在这种情况下,如何创建用作控制器但具有相对于选定顶点的“中心”属性的圆。我不确定我应该看什么命令 最终,我尝试在选定顶点制作一个softMod,并创建这些控件来设置效果的动画。我希望这是有道理的。到目前为止,这是一个有趣的学习练习 谢谢你的提示! 亚历克斯使用Python在Maya中创建相对于选择的位置的曲线控件?,python,maya,Python,Maya,我对编码还是很陌生,我想我会尝试编写一个Chris Lesage教程中的工具,该教程概述了一个小的softMod装备。到目前为止,我一直在尝试一步一步地把它组合起来,就像许多编码教程推荐的那样。 它工作正常,但我很好奇,在这种情况下,如何创建用作控制器但具有相对于选定顶点的“中心”属性的圆。我不确定我应该看什么命令 最终,我尝试在选定顶点制作一个softMod,并创建这些控件来设置效果的动画。我希望这是有道理的。到目前为止,这是一个有趣的学习练习 谢谢你的提示! 亚历克斯 使用cmds.poi
使用cmds.pointPosition或cmds.xform获取顶点的位置。我将尝试,谢谢您的建议!
import maya.cmds as cmds
import pymel.core as pm
from pymel.core import *
cmds.softMod( falloffRadius=10, envelope=1, falloffAroundSelection=True)
cntrlA = cmds.circle( nr=(0, 0, 1), c=(0, 0, 0), r=2, name="ControlA" )
cntrlB = cmds.circle( nr=(0, 0, 1), c=(0, 0, 0), r=1, name="ControlB" )
#Need to translate the curves above the specific surface or mesh
cmds.parentConstraint( 'ControlA', 'ControlB', maintainOffset=True )
cmds.spaceLocator(name="testLoc")
cmds.parentConstraint( 'ControlA', 'testLoc', maintainOffset=False )
cmds.connectAttr( 'testLoc.t', 'softMod1.falloffCenter' )
cmds.connectAttr( 'ControlB.t', 'softMod1Handle.translate' )
cmds.connectAttr( 'ControlB.r', 'softMod1Handle.rotate' )
#### This code worked to create the controls AND assign them to a variable
cmds.select( cntrlB)
cmds.addAttr('ControlB', ln='softModENV', keyable=True, dv=1, min=0, max=1 )
cmds.addAttr('ControlB', ln='falloffRAD', keyable=True, dv=10, )
# Connect the attributes you made previously
cmds.connectAttr( 'ControlB.softModENV', 'softMod1.envelope' )
cmds.connectAttr( 'ControlB.falloffRAD', 'softMod1.falloffRadius' )
cmds.group( 'ControlA', 'ControlB', 'testLoc', 'softMod1Handle', n='softModGRP' )