Unity萌新:如何获取每帧动画的骨骼数据
先看置顶评论!
真的逆天。对于动画的每帧骨骼信息,我以为会有一些类似 boneTransform[frameNum]的动画数据,可以从Unity的API上获得。结果根本没有。
要从Unity生成的prefab上,自己换算。骨骼会被生成为实际的sceneObject。然后你只能从那上面获取数据:

虽然你可以Inactive它们,但是实际上Unity还在使用并更新它们的位置。并且我们如果需要找到某根骨骼,需要从根节点上用
去遍历判断名称寻找,其中true代表包含inactive孩子。
并且在SkinedMeshRenderer中的bones里,其下标和这个层级关系没有对应关系,所以我们只能通过name硬找,绝了。
示例代码:
在状态机中设置state播放速度为0, 这段代码会1.更新动画到某frame 2.输出bones[0]的世界位置。其中从root找同名骨骼的函数:
本来想看看能不能从.fbx直接读取动画数据,结果也是春春的逆天,还不如这。