0

所以我一直在为我实习的工作室开发一个姿势库工具。我已经完成了很多,但是在测试时我意识到该工具存在很大的缺陷。当我设置姿势时,它的位置基于其父级的本地空间,但父级是移动比例旋转曲线。

当动画师设置姿势并进行步行循环时,他们不会移动 MSR。我遇到的问题是,如果动画师将角色从 MSR 移开并且他们想要设置姿势怎么办?现在它会回弹到 MSR 所在的位置,如果姿势设置在 MSR 位置,或者它会回弹到基于 MSR 的位置设置的位置。

我需要该工具来处理偏移,以便当动画师将装备从 MSR 移开时,它不会快速回到最初设置姿势的位置,而是将姿势设置在空间中的当前位置。我想我可以通过弄乱矩阵或在控制曲线上使用 Dag 命令来实现这一点,但我真的不知道从哪里开始。

4

1 回答 1

0

技术部分非常简单。如果您已经在本地存储了所有内容,那么一开始都是相对于 root 的,这是最好的方法。如果您需要在世界空间中做事,您可以使用 xform(t = (x,y,z) ws = True) 在世界空间中而不是相对空间中移动它们。

听起来这个问题是一个语义问题:您需要在某个时候找出用户是否希望角色相对于根骨骼构成。可能正确的做法是始终相对存储您的姿势,并 要求用户指定要做什么:

1)将相关数据保留在根目录下,但不要重置根目录。例如,这将处理故意偏离根中心的空闲姿势。它适用于还原时根所在的位置。根 > 骨架关系被保留,但根留在动画师在恢复时拥有它的位置

2)恢复原始姿势的精确匹配的相对位置和根位置。这对于像循环过渡姿势这样的东西来说是很好的,它应该对根的移动和角色姿势都是精确的。

您也可以尝试捏造一些东西 - 例如恢复姿势,然后调整根位置(例如,到骨盆的地平面投影),但此时您正试图将动画师从他们自己手中拯救出来。1 和 2 涵盖了两个真正的替代方案:将此姿势应用于我的 MSR 和其他所有内容,或仅应用于“其他所有内容”

于 2013-06-25T05:32:01.003 回答