如果模型由两个立方体组成,上立方体和下立方体沿z轴排列,下立方体是上立方体的父方。
提供两种骨骼动画:
动画A:上部立方体保持静态,下部立方体顺时针旋转. 动画B:上部立方体保持静态,下部立方体保持静态
骨骼动画文件存储本地转换。
也就是说,在动画A中,较低的立方体可能有两个关键帧:帧0:旋转0度,帧50:旋转360度
然后用混合A和B
A: upper_weight =1 lower_weight =0 B: upper_weight =0 lower_weight =1
正确的结果是什么?
a.上下保持静止 b.上部立方体逆时针旋转
我认为它们应该保持静态,这是在全局空间中的混合,因为A的较低的重量= 0,意味着忽略较低的转换?
但是如果我把它们混合在局部空间,根据A上立方体的局部旋转,它就会旋转。
我在谷歌上看到人们说混合本地转换更好,但我不认为它给出了正确的结果,有什么建议吗?
发布于 2016-02-01 14:15:17
我认为它们应该保持静态,这是在全局空间中的混合,因为A的较低的重量= 0,意味着忽略较低的转换?
不是的。
你说上身是下半身的孩子。这意味着,如果下半身有局部旋转,这种旋转会影响到每个孩子的“全局”旋转。
因此,A的上身的“全局”旋转将是360度的旋转。即使你掩盖了下半身的转换,那仍然是A的动画数据中定义的累积旋转。因此,如果您的动画数据被存储为“全局”转换,那么A的上体仍然会有这种旋转,即使局部转换是静态的。
这是动画不使用“全局”(更准确地说,是模型相对的)旋转的很大一部分原因。如果您想要能够组合多个动画,唯一合理的方法是在本地完成,每个骨头的动画相对于它的父动画。
https://stackoverflow.com/questions/35124966
复制相似问题