XNA-仅缩放父母

我在想,是否可以Scale(Vector3) ModelBone而不缩放其子ModelBone 。 假设我在位置1,0,3得到了骨头A. 而其中的一个B骨头B在位置1,0,5 (他触摸骨头A )。 我是否可以沿着Z轴缩放骨骼A而不缩放骨骼B ,但保持骨骼B的位置和旋转,以便他仍然触摸骨骼A。

提前致谢

如果您按比例因子A缩放父骨骼,则将该子缩放1 / A,并保持其大小。

EJ。 如果父级乘以2,则应该乘以1/2 = 0.5f乘以子级

当您调用CopyAbsoluteBoneTransformsTo() ,它会遍历模型的骨骼集合并将父SRT应用到子SRT,并将结果放置在Matrix []中。 所以如果在调用之后,你进入Matrix [],你可以selectBoneA的变换,应用一些Z值,它不会影响它的子节点。

注意你进入Matrix []来做这个,而不是底层模型Bone集合。 如果您在底层模型骨骼集合中对BoneA的matrix执行了此操作,那么当您再次调用CopyAbsoluteBoneTransformsTo()时,它会将该Z值应用于下一帧的子CopyAbsoluteBoneTransformsTo() ,并且听起来不像您想要的那样。