python - Maya 交换对象 X 和 Z 轴
问题描述
我正在为 Maya 编写脚本,该脚本应该将对象枢轴向前对齐所选目标。但我所拥有的是 Z 轴指向 X 轴的目标。默认情况下。
我的工作流程是:
#getting direction
vector = target postition - object position and apply it to objects pivot
# getting vector rotation values
vectorOrientation = cmds.angleBetween(euler=True, v1=(0.0, 0.0, 1.0), v2=vector, ch=0)
cmds.select(ObjectWhitchPivotShouldBeAlighned)
# applying vector to object pivot
cmds.manipPivot(o=vector)
它有效,但我有不需要的轴。
这是解决问题的决定。
A)稍微更改代码
# don`t understand how but it works
vectorOrientation = cmds.angleBetween(euler=True, v1=(1.0, 0.0, 0.0), v2=vector, ch=0)
二)
- 创建虚拟(定位器)
- 将定位器与对象对齐(位置/旋转)
- 在对象空间中旋转定位器,使 X 轴指向前方目标
- 通过 cmds.manipPivot(o=[float,float,float]) 将定位器旋转值传输到对象枢轴
也许有人可以提出更合适和更干净的解决方案。感谢所有意见
解决方案
推荐阅读
- c# - 由于 App.config 文件中的错误,SQLite 无法加载数据
- excel - 需要excel公式进行多行列查找
- python - Python kivy(kivymd)如何从MD存储和加载数据
- c# - WPF 打开文件并更新窗口
- airflow - 气流元数据数据库权限
- python-3.x - 在 Python 3 中使用 sys.argv 和 Python 解释器
- sql - SQL 最近从第二个表注册的 Id
- spring-boot - Spring Data Source 是一个未知属性?
- jquery - 使用 jQuery 在 `input` 旁边定位 `label` 标签
- c# - WPF 用户界面在不移动鼠标的情况下不更新