stonstad 发表于 2022-4-11 09:24

想问一个问题,可以用代码控制Unity3D骨骼位移旋转么?

答案是可以,不过是有条件限制的。
先不谈讨题主的意图,或是否有更好的方案。单说控制骨骼的话,在不勾选optimize game object的情况下,是可以获取到骨骼的transform的。建议把控制代码放在late update中,在动画更新后修改。
如果勾选了optimize game object,骨骼信息是获取不到的。这是这个选项一个比较让人不快的副作用。
如果你不需要获取骨骼信息的话,还是建议勾选的。它不仅会简化game object的层级(省略了骨骼的transform组件),还会影响骨骼动画计算和蒙皮的并行化。
说回题主的意图,其他回答说的没错,估计用animation clip就能更好的满足题主的需求。不过题主的需求从技术上说是程序式动画,在某些应用场景中是十分有用的。比如在孤岛危机中的抬枪瞄准动画我们就是用程序式动画实现的,这可以让策划更方便的调整每一把枪的瞄准姿势。从而节省美术和策划大量用于调整的时间。另外IK也是程序式动画的一种。
页: [1]
查看完整版本: 想问一个问题,可以用代码控制Unity3D骨骼位移旋转么?