欢迎光临散文网 会员登陆 & 注册

Unity萌新:如何获取每帧动画的骨骼数据

2023-01-16 15:59 作者:DeadCyber  | 我要投稿

先看置顶评论!

真的逆天。对于动画的每帧骨骼信息,我以为会有一些类似 boneTransform[frameNum]的动画数据,可以从Unity的API上获得。结果根本没有。

要从Unity生成的prefab上,自己换算。骨骼会被生成为实际的sceneObject。然后你只能从那上面获取数据:

虽然你可以Inactive它们,但是实际上Unity还在使用并更新它们的位置。并且我们如果需要找到某根骨骼,需要从根节点上用

去遍历判断名称寻找,其中true代表包含inactive孩子。

并且在SkinedMeshRenderer中的bones里,其下标和这个层级关系没有对应关系,所以我们只能通过name硬找,绝了。

示例代码:

在状态机中设置state播放速度为0, 这段代码会1.更新动画到某frame 2.输出bones[0]的世界位置。其中从root找同名骨骼的函数:


本来想看看能不能从.fbx直接读取动画数据,结果也是春春的逆天,还不如这。

Unity萌新:如何获取每帧动画的骨骼数据的评论 (共 条)

分享到微博请遵守国家法律