美文网首页Unity游戏开发
Unity 骨骼动画 2D Animation 入门(1)

Unity 骨骼动画 2D Animation 入门(1)

作者: Colocasia | 来源:发表于2019-07-28 21:47 被阅读0次

    好记性不如烂笔头啊,还是记录一下!


    Unity从2018版本开始引入不少2D的新功能,在资源包里加入很多新功能,一定要开启预览模式可以看到新功能,2D Animation2D IK2D Pixel Perfect2D SpriteShape等等。

    屏幕快照 2019-07-28 下午3.07.13.png

    这篇博客主要介绍的是2D Animation:


    1. 安装 2D Animation

    安装很简单点击install就可以安装了:

    20180721134417352.png

    我装的是最新的2.0.0-preview.3:

    安装成功后有兴趣的同学可以直接看看unity的官方例子教程:
    https://github.com/Unity-Technologies/2d-animation-v2-samples
    需要unity 2018.3.x以上才能运行

    插件的详细介绍,不过是英文版的:
    https://docs.unity3d.com/Packages/com.unity.2d.animation@2.0/manual/index.html


    2. 创建骨骼

    随意导入一张图片:

    我用的碧蓝航线的标枪

    804F0641-C4F3-45C5-A39C-B02553A25A9D.png

    Sprite Mode选择Single:
    然后点击Sprite Editor进入Sprite Editor

    619F8EE8-8944-4C2C-BAE4-C4DF29C6EECD.png

    选择Skinning Editor进入Skinning Editor,注意1.0.x叫Bone Edito
    在编辑器右侧有一排按钮,依次为:

    工具名 快捷键 用途
    Preview Pose Shift + Q 预览模式,可以预览动作并不会真正的改变设置。
    Edit Joints Shift + W 改变骨骼的位置,长度,方向,名称,层级等等,这些改变会影响使用者。
    Create Bone Shift + E 创建骨骼
    Split Bone Shift + R 把一个骨骼分成两根
    Reparent Bone Shift + T 浏览骨骼的层次结构,可以在这里改变层级和名称。
    Auto Geometry Shift + A 自动蒙皮,这个好用
    Edit Geometry Shift + S 编辑蒙皮的点
    Create Vertex Shift + D 创建新的顶点
    Create Edge Shift + G 创建新的边
    Split Edge Shift + H 用一个新的顶点分离一个边
    Auto Weights Shift + Z 自动赋予权重
    Weight Slider Shift + X 编辑顶点,边的权重
    Weight Brush Shift + C 用画刷赋予权重
    Bone Influence Shift + V 选择骨骼用到的Sprite

    首先要使用Create BoneReparent Bone创建骨骼和设置骨骼层级,这里就不在说明具体的使用方法了,骨骼创建为应该为这个样子:

    DA403A52-8D61-4780-AA8E-B4539CBCA2A0.png

    创建骨骼时可以选中一个骨骼再进行创建,这样就能直接设置新的骨骼为选中骨骼的子骨骼


    3. 骨骼蒙皮

    蒙皮我的理解就是怎么让骨骼和他控制的部件绑定在一起,这样骨骼移动、旋转的时候,部件才能跟着骨骼运动, Unity 2D Animation这个工具蒙皮还是很好用的,在Auto Geometry这个工具里,调整参数,工具就会根据你调整的参数来进行自动蒙皮:

    13AC6A82-C34B-4298-BD87-ABC741C4C389.png

    如图所示,调整红框里的参数,然后点击Generate For Selected就可以

    注意如果自动蒙皮是正确的,骨骼颜色会和部件颜色是一样的,也就是什么颜色的骨骼会控制什么颜色的区域

    如果蒙皮的区域大小识别的和自己想的不一样可以使用Edit GeometryCreate Edge或者Create Vertex

    1. 如果只是调整大小使用Edit Geometry
    2. 如果觉得顶点数量不足使用Create Vertex
    3. 然后用Create Edge把顶点连接起来。

    如果部分的区域蒙皮不是很好可以使用Weight Slider或者Weight Brush来进行调整,具体可以看下一节。


    4. 设置权重

    蒙皮表示的是骨骼影响区域,权重表示的是骨骼对区域的影响程度,在Weight Slider权重编辑工具中,点击一个顶点,可以看到这个顶点受到哪些骨骼的影响,举个例子:

    040E0B1C-CD65-431D-921A-83E1DD12661B.png

    比如上图这个区域,身体这个部件我加了两根骨骼,我们选中一个点,可以看到body这个紫色的骨骼对这个点的影响是0.5waist这个红色的骨骼对这个点的影响是0.5,什么意思呢?

    我的理解是如果body这个骨骼有移动,旋转等操作的时候,这个点只会受到50%的影响,在具体点说就是如果body旋转90度,这个点只受到45度的影响

    再来个直观的图方便大家理解,可以在Preview Pose预览模式中旋转这个部件看看效果:

    屏幕快照 2019-07-28 下午9.23.08.png

    这样赋予每个顶点不同的权重,就可以对身体产生不同程度的形变。


    5. 组装角色

    组装角色就比较简单了,主要先检查下骨骼的层级:


    DA403A52-8D61-4780-AA8E-B4539CBCA2A0.png

    也可以通过Preview Pose预览模式中旋转骨骼,检查预想的部件是不是跟着旋转了

    59093479-7D8B-4C69-9A20-2F9498247601.png

    如果层级没问题就可以保存下,点击右上角的Apply按钮。
    然后我们就可以把这个Sprite拖到Unity的场景里了,然后会看到部件仍然是分布在各个地方的,接下来我们要做的是:

    1. 为这个GameObject添加一个Sprite Skin控件(这个控件只有安装了2D animation才会有)
    2. 点击控件下的Create Bones,会发现图片上的部件的骨骼就都会显示出来。
    3. 根据自己的喜好,组装角色吧

    来一张自己完成组装的图:

    屏幕快照 2019-07-28 下午9.45.41.png

    以上说法只是我的个人理解,如有不对,欢迎留言指正。

    相关文章

      网友评论

        本文标题:Unity 骨骼动画 2D Animation 入门(1)

        本文链接:https://www.haomeiwen.com/subject/zgtprctx.html