在maya中使用python编写脚本非常新,请原谅我的知识有限
我需要帮助了解如何定义浮动滑块的变量。我需要两个浮动滑块来完成我正在做的作业。我需要一个可以更改所选或指定对象的大小,我需要另一个可以使用MASH来更改该对象的计数
我有带滑块的脚本和一个分发按钮。我不确定我需要包括什么来将对象的比例链接到我拥有的滑块
这是我目前掌握的代码:
from maya import cmds
if cmds.window('mainUI2', exists=True):
cmds.deleteUI
win = cmds.window("mainUI2", title="Bush Generator", widthHeight=(300, 300))
# Layout
cmds.columnLayout(adjustableColumn=True)
cmds.text(label='Bush Generator')
cmds.button(label='Distribute', command='DistributeMesh()')
cmds.text(label=' ')
# need help defining Leaf_size
Leaf_size = cmds.floatSlider(min=0, max=100, value=0, step=1)
# I tried another type of slider
LeafScale = cmds.intSliderGrp(min=0, max=100, f=True)
cmds.text(label='Leaf Size')
# need defining Leaf_amount and linking to mash count
Leaf_amount = cmds.floatSlider(min=0, max=100, value=0, step=1)
cmds.text(label='Leaf Amount')
# Bush tool
def DistributeMesh():
cmds.loadPlugin("MASH", quiet=True)
import MASH.api as mapi
count = 3000
source_mesh = "pCube2"
scatter_mesh = "pSphere1"
source_shape = cmds.listRelatives(scatter_mesh, children=True)[0]
cmds.select(source_mesh)
mash_network = mapi.Network()
mash_network.createNetwork(name="Test", geometry="Instancer")
# set to use meshes to scatter
cmds.setAttr(mash_network.distribute + ".arrangement", 4)
cmds.setAttr(mash_network.distribute + ".pointCount", count)
# connect mesh
cmds.connectAttr(
source_shape + ".worldMesh[0]",
mash_network.distribute + ".inputMesh",
force=True)
cmds.showWindow(win)
缩放是一个浮点值,因此可以使用
cmds.floatSliderGrp
设置源网格的缩放。首先,您必须定义一个单独的函数,当您更改floatSliderGrp
的值时,该函数将被触发,然后在floatSliderGrp
中,将其changeCommand
参数设置为该函数:拖动滑块将设置立方体的比例。尽管老实说,这里的代码结构非常混乱,而且有点太硬(想想它如何处理当前选择,而不是显式使用对象的名称)
相关问题 更多 >
编程相关推荐