unity怎么显示骨骼_Unity骨骼动画的总结

本文主要介绍了Unity中3D骨骼动画的概念和应用,包括网格、骨骼、绑定的原理,以及模型与动画的处理方式。重点讨论了Generic和Humanoid两种骨骼动画模式,推荐使用Generic模式,并解释了 Animator 的切换、分层和混合树机制。同时,文章还提到了补间动画与帧动画的区别,提出了针对补间动画过于流畅的问题的抽帧解决方案。
摘要由CSDN通过智能技术生成

欢迎参与讨论,转载请注明出处。

前言

恰逢假期,在家继续推进Demo,骨骼动画相关的调研算是告一段落了,遂以本文记录相关要点。

首先要明确一点,本文所说的骨骼动画皆是3D模型的骨骼动画,与2D精灵的骨骼动画无关,虽然原理大致相通。

网格、骨骼、绑定

了解过3D相关知识的都知道,模型(Model)是由一个个三角形组成的,而这种三角形的学名则是网格(Mesh)。当然在DCC软件里为了方便创作,会用2个三角形组成四边形作为网格:

然后便是骨骼(Skeleton)了,它是驱动模型运动的根本,如下图所示,这是一种彼此之间有父子关系连接在一起的长条状玩意:

最后便是让模型跟着骨骼一起运动了,这个骨肉融合的过程称为绑定,具体要做的事便是将某节骨骼与相关的网格建立关系:

如上图所示,模型上有着不同的颜色,这表示该节骨骼所影响到的网格权重值(蓝色为0,红色为1),所以绑定也俗称“刷权重”。权重值越高,该节骨骼对相应网格的影响便越大(存在多节骨骼对相同网格存在影响,此时便要通过权重值来决定优先级了)。

随着时代的发展,现代DCC软件基本配备自动刷权重的功能了。做好模型部件的划分(每个部件拥有独立的骨骼,通过各骨骼之间建立关系来联系模型),减少每个模型的权重复杂度,如此通过自动刷权重基本可以应对一般情况了。

模型与动画

生成给Unity使用的模型与动画我选择FBX格式,毕竟这算是最流行的3D格式了。对于动画,我选择一个动画一

Unity 是一款流行的游戏开发引擎,它提供了强大的骨骼显示系统。 在 Unity显示骨骼,我们需要使用骨骼动画系统来实现。首先,我们需要创建一个骨骼数据结构,该结构通常由层级关系的骨骼节点组成。这些节点通常包括根节点、父节点和子节点等。我们还需要确定每个节点的局部坐标以及其相对于父节点的变换。 接下来,在 Unity 中,我们可以使用骨骼动画系统来实现骨骼显示和动画。一般来说,我们可以导入包含骨骼动画数据的文件,例如 FBX 或者 Collada 格式。在导入后,Unity 会自动解析文件中的节点和动画数据,并将其与模型进行绑定。 为了在场景中显示骨骼,我们可以使用 Unity 的 SkinnedMeshRenderer 组件。这个组件可以将动态骨骼系列应用到一个静态网格上。我们可以将这个组件添加到我们的角色模型上并将模型与我们导入的骨骼数据进行绑定。 显示骨骼通常需要使用一些额外的工具,例如骨骼详细信息的调试器。在 Unity 中,我们可以使用 Mecanim 去检查我们的骨骼动画系统。Mecanim 是 Unity 引擎内置的一套动画系统,它提供了一系列的编辑器工具和脚本接口,以方便我们查看、编辑和调试骨骼动画。 总之,Unity 提供了全面的骨骼显示和动画编辑工具,使得开发者能够方便地在游戏中实现精美的骨骼动画效果。通过使用 Unity 的 SkinnedMeshRenderer 和 Mecanim 等组件和工具,我们可以轻松地显示和调试骨骼
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值