You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Maya中如何用精确厘米值设置多边形平面的宽高?

如何用精确厘米值设置Maya多边形平面的宽高

嘿,这个问题我之前也碰到过!Maya里直接用Scale调尺寸确实有点绕,毕竟它是相对缩放,不是绝对尺寸。下面给你两种实用的解决方法,看哪种适合你的场景:

方法一:直接修改平面的原始创建属性(最省心)

如果你的平面还没删除历史记录,这绝对是最快的方式——多边形平面在创建时自带width和height属性,直接给这两个属性赋值你要的厘米数就行,完全不用管缩放:

import maya.cmds as cmds

# 把pPlane1换成你的平面名称
cmds.setAttr("pPlane1.width", 100)  # 设置宽度为100厘米
cmds.setAttr("pPlane1.height", 50)  # 设置高度为50厘米

要是你已经删了历史,那这个方法就用不了了,往下看方法二。

方法二:计算缩放比例实现绝对尺寸设置

这种方法适合已经删除历史的平面,核心思路是先拿到当前平面的实际厘米尺寸,再算出目标尺寸和当前尺寸的比例,用这个比例去调整缩放:

import maya.cmds as cmds

plane_name = "pPlane1"  # 替换成你的平面名称

# 获取平面在世界空间的边界盒数据,得到六个坐标值:x最小、y最小、z最小、x最大、y最大、z最大
bbox = cmds.xform(plane_name, query=True, boundingBox=True, worldSpace=True)
current_width = bbox[3] - bbox[0]  # 计算当前实际宽度(x轴方向)
current_height = bbox[4] - bbox[1]  # 计算当前实际高度(y轴方向)

# 输入你想要的目标厘米尺寸
target_width = 100
target_height = 50

# 计算需要的缩放比例
scale_x = target_width / current_width
scale_y = target_height / current_height

# 应用缩放,这里用xform或者直接设置Scale属性都可以
cmds.xform(plane_name, scale=[scale_x, scale_y, 1], worldSpace=True)
# 或者用setAttr直接改通道盒里的Scale值
# cmds.setAttr(f"{plane_name}.scaleX", scale_x)
# cmds.setAttr(f"{plane_name}.scaleY", scale_y)

额外小技巧:从源头避免麻烦

提前把Maya的场景工作单位设置成厘米(路径:Window > Settings/Preferences > Preferences > Settings > Working Units),之后创建平面时,直接在创建窗口里输入你要的厘米数作为Width和Height——这样创建出来的平面Scale值默认就是1,尺寸完全符合要求,根本不用后续调整!

内容的提问来源于stack exchange,提问作者bblack

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 07:46:00