Unity 2D骨骼动画

许久不用Unity做骨骼动画还是会遗忘很多操作,这次使用又发现了很多新的细节。

必要插件

不出意外的是2D Animation和2D Sprite?项目本来就是2D包。

素材要求格式

万物皆可骨骼,unity的2d骨骼教程_哔哩哔哩_bilibili

参考上面的教程(很直观易懂),有单张图片、分散式绘制的单张图片,还有psb文件。

第二种方法挺令我惊奇的,虽然和第一种方法一样本质上都是一张图,但分离素材也能省去分图层的功夫。而且能更明显地看出,骨骼对图片中被圈出来并且刷好权重的网格像素能单独控制,底层来说可能是复制了一份像素并且受骨骼影响?待研究。

psb文件能够保留所有的图层。这样分层控制会更精细一些。

我这里素材比较复杂,所以用的还是psb文件。

素材导入

直接把psb文件拖入到Asset文件夹中,不需要做其它设置。

打开SpriteEditor,可以看见各图层已经排列出来。

绑骨

点击窗口左上角的Skinning Editor,有以下四个栏,分别是姿势、骨骼关节、网格、权重和所有骨骼。

点击CreateBone,像针一样的便是骨骼关节,针头是运动的"根"的位置,相当于树的主枝干,树一摆动上面的所有枝叶也会随之摇摆。(这个我经常搞反头尾......)

就这样哐哐绑骨。

骨骼分派给图层

同一个骨骼可能只会影响到其中一缕发丝而不是所有的头发,分图层的意义就在于此。

点击Weights->BoneInfluence,再点击右上角的SpriteSheet,

回到图层排列模式,双击想要控制的图层,就能显示对应的骨骼。

再点击SpriteSheet回到整合状态,可以看到图层在整体的情况。透明骨骼是无关骨骼,深色反之。

点击不需要的深色骨骼,在右下角就会跳到对应的名称,点击删除符号。新增骨骼也是相似操作。

网格生成

点击AutoGeometry便自动生成网格。网格的分布非常重要,之前接触三维建模的时候要求网格点均匀分布还得三角片面,2D也需要更均匀的网格(不然等到刷权重就后悔了)。

点数量适中:我这里的素材刚生成网格的时候点巨多,因为素材文件比较大像素就很分明,识别的时候就自动添加很多点,要狠狠地删掉点然后重新规划。

点沿轮廓分布:这样能够进行合理分区,影响的范围更可控。

点分布均匀:也是为了让影响范围更细致更可控。不排除一些特殊情况,点密集控制范围越精细,反之越笼统,可以根据需要摸索。

操作上的话,在EditGeometry模式下时,双击图片某处可以新增一个点并随意拖动点(非边界),这样就能对边界范围内进行更细致的点的排布;

(边界上)SplitEdge比CreateVertex好用。

权重

点击AutoWeights为关节以及网格自动刷权重。权重也就是连接了骨骼和网格,并且决定骨骼对某个点的影响比例多大。

在WeightBrush模式下可以刷权重,个人习惯从根骨骼开始一个个检查效果。

长按笔刷刷准网格点,这样就不容易点到骨骼,刷得才有效果,在网格里面刷是没用的。

如果效果很离谱或者没啥用,也多返回检查网格。

K动画

一系列工作做好后,右上角Apply一下应用更改,资产就多了很多东西。 突然想到,上面的图层应该就是从原图层复制出来受骨骼控制的。

直接把该psb文件拖到场景中,添加Animator和Animation,就可以愉快地k动画了。

个人习惯在第一帧先把所有的骨骼的position、rotation以及一切可能用得上的参数都add keyk帧,再把该帧作为最后一帧(循环动画),中间想怎么k就怎么k了。

拓展

挖个坑,看到网上还有IK、换装什么的,下次用上再回来补充。

相关推荐
Mapmost2 天前
【数据融合实战手册·进阶篇】模型融合总出错?先看看这些“对齐”了没!
unity3d
北桥苏3 天前
如何在 Unity3D 导入 Spine 动画
unity3d
Thomas游戏开发4 天前
Unity3D状态管理器实现指南
前端框架·unity3d·游戏开发
土豆宝10 天前
Unity Visual Scripting(可视化脚本) 自定义节点 踩坑教程
unity3d
Thomas游戏开发10 天前
Unity3D光照层级与动态切换指南
前端框架·unity3d·游戏开发
Thomas游戏开发21 天前
Unity3D 崩溃分析工具的集成与优化
前端框架·unity3d·游戏开发
Thomas游戏开发25 天前
Unity3D网格简化与LOD技术详解
前端框架·unity3d·游戏开发
Thomas_YXQ1 个月前
Unity3D 图形渲染(Graphics & Rendering)详解
开发语言·unity·图形渲染·unity3d·shader
Thomas游戏开发1 个月前
Unity3D 图形渲染(Graphics & Rendering)详解
前端·unity3d·游戏开发
Thomas游戏开发1 个月前
Unity3D 光栅化 vs 光线追踪:技术详解
前端框架·unity3d·游戏开发