ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Unity - 官方2D动画(2D Animation Package)文档

2019-09-21 10:02:07  阅读:1049  来源: 互联网

标签:Category Sprite Package PSB component Library 2D Unity Asset


原文链接:https://docs.unity3d.com/Packages/com.unity.2d.animation@3.0/manual/index.html

本文由 祝你万事顺利 出品,转载请注明出处。

官方文档(英文),2D Animation 在2019.3已经是正式发布的包了。此资源包是将Assets Store 中的Anima2D进行了整合,在老版本中可以使用Anima2D。

简介

2D Animation package目前只在2019.3以及更高的版本中支持

Adobe Photoshop PSB格式

PSD Importer package此包支持Adobe Photoshop PSB 格式,

PSD格式介绍 PSD–Photoshop Document(PSD),是著名的Adobe公司的图像处理软件Photoshop的专用格式。 这种格式可以存储Photoshop中所有的图层,通道、参考线、注解和颜色模式等信息。 在保存图像时,若图像中包含有层,则一般都用Photoshop(PSD)格式保存。

PSB:大型文档格式(PSB) 大型文档格式(PSB) 支持宽度或高度最大为300,000 像素的文档。 PSB 格式支持所有Photoshop 功能(如图层、效果和滤镜)。 目前,如果以PSB 格式存储文档,则只有在Photoshop CS 中才能打开该文档。

准备和导入美术资源

在美术人员设计角色的时候最佳的做法是将角色的不同部位放到不同的图层(图1)。PSD Importer将自动分配不同的图层到Sprite Sheet layout
PSD Importer将将根据PSB源文件自动生成Prefab(图2)。
图1图2
Importer 设置
1.将图片保持那位PSB格式
2.PSB图片导入Unity通过PSD Importer
3.检视面板中设置如下:
在这里插入图片描述

Skinnin Editor模型

选中导入的资源点击SpriteEditor将进入Sprite Editor窗口。

在Sprite Editor窗口中下拉菜单中选择Skinning Editor,Skinning Editor将是创建动画骨架和骨骼的主要工具。
在这里插入图片描述

选中一个精灵

1.双击选中一个精灵图片
2.如果有多个精灵图片叠加在一起,不断双击将在这些精灵图片之间循环
3.双击空白区域取消选择

骨骼和网格节点

1.点击骨骼或网格节点选中它
2.一次框选多个骨骼或者节点
3.右键取消选中的骨骼或网格节点

角色操控

以下步骤将创建一个角色的骨骼和骨架
1.通过Create Bone工具创建角色骨架的骨头
2.所有骨骼创建完成后,生成为Sprites生成Mesh网格,使用Auto Geometry工具自动生成精灵图片的网格。通过CreateVertexCreateEdge重调网格
3.选择Bone Influence工具,双击精灵图片查看骨骼对精灵图片的影响。通过’-‘或者’+'可以添加其他骨骼
4.权重附加在顶点上影响骨骼和精灵图片的权重。使用Auto Weights工具自动权重,通过Weight BrushWeight Slider可以重新定义权重。
5.通过Preview Pose工具进行骨骼操作的测试

动画

完成角色的骨骼后就可以进行动画的创建了,将完成的资源放入场景中,之后就可以进入Unity animation的工作流程。

Sprite 替换

Sprite 替换让我们可以更换游戏物体的Sprite,同时保持骨骼和动画片段。这样可以快速创建大量外观不同但是动画模组一样的角色。
我们可以使用Sprite 替换切换Sprite在每一帧的显示。
通常实现Sprite替换的工作流:

  1. 创建和设置Sprite Libray Asset
  2. 添加一个Sprite Library component 和 Sprite Resolver component到需要Sprite替换的游戏物体。这个游戏物体必须包含Sprite Renderer组件。

Sprite Library component将引用一个Sprite Library Asset,Sprite Resolver component此组件将请求在Sprite Libray Asset注册的Sprite,并通过CategoryLabel来确定是哪个Sprite。

Sprite Library Asset

通过category将Sprite进行分组。这将允许创建更小的Sprite组。比如我们可以创建一个Weapin组,在组中添加Labels ‘Saber’,‘Bat’,‘Blade’,‘Axe’。
通过 Assets > Create > Sprite Library Asset.创建一个Sprite Libary Asset。
在这里插入图片描述

Sprite Library component

Sprite Library组件将Sprite Library Asset和游戏物体联系起来。这将让我们可以获取到Sprite Library Asset中全部Sprites,并将它们通过Sprite Renderer显示在游戏物体中。
在这里插入图片描述

Sprite Resolver component

Sprite Resolver将设置在Sprite Library component组件中的Sprite Library Asset的全部信息拉取下来。它将自动将选中的Sprite应用到Sprite Renderer。这样我们可以在运行时切换Sprite。
在这里插入图片描述

Sprite Swap 和 2D Animation 整合

Asset 生成步骤

以下是Sprite Swap components生成的各个步骤
1.当使用PSD Importer导入PSB file的时候,Unity生成一个Prefab和一个Sprite Library Asset作为这个Prefab的附加资源。
2.对于不属于任何分类或者第一个标签的在Prefab中的Sprite,Unity将创建一个GameObject。
3.Unity将属于同一个类的全部Sprite GameObjects全部附加Sprite Resolver component
4.Unity之后将附加Sprite Library component到根节点,这个组件将和第一步中的Sprite Library Asset建立引用联系。

Editor 整合

Skinning EditorSprite Visibility面板有两列,可以在这里设置Category和Label给选中的Sprite。
在这里插入图片描述
1.给Sprite分配一个Category
在这里插入图片描述
2.创建一个新的Category,在同一个Library Asset下名称需要是单独的。
3.输入Category名称的时候,Unity将分配一个Label给Sprite基于Sprite名称。在同一个Category中Label必须是独特的。

Context Menu Shortcuts

在这里插入图片描述
右键点击Sprite Visibility panel的一行。
如果点击的是一组Sprites的根,可以选择Convert Group to Categoty,Unity将创建一个新的组和这个根节点的名称相同。Convert Layer to Category选择这个选项将自动生成Label名称和Sprite名称相同。Clear All Category清除选中的全部Sprite的现有分组。

精灵图片切换和骨骼动画限制

为了确保在骨骼动画中的精灵图片切换正确,动画骨骼配置需要在Sprites切换的时候相应是相同的。使用Copy and Paste功能将相同的bones和Mesh data从Sprites复制到另一些相关的Sprites。

Sprite Swap Manual Setup

1.创建一个Sprite Library Asset
在这里插入图片描述
2.选中创建好的在监视面板中查看
在这里插入图片描述
3.选择plus(+)在Sprite Library Asset中添加一个新的Category
在这里插入图片描述
4.创建一个游戏物体添加Sprite Renderer组件
5.给此游戏物体添加Sprite Library组件,并给给其分配第三步中设置的Sprite Library Asset
6.给此游戏物体添加Sprite Resolver组件
在这里插入图片描述
7.选择Category中的下拉菜单,选择想在此游戏物体上应用的组。如果此组中存在Sprites,则将出现Label的下拉菜单,可以通过Label选择当前Sprite Renderer中要显示的Sprite。

使用实例

帧动画

通过帧动画在运行的时候通过Sprite Swap可以快速的切换Sprites。对一些简单的动画这将很有帮助,比如闪现的效果。
工作流:
1.将每一帧需要的Sprites放到Sprite Library Asset,将他们分配到同一组下。给每个Sprite不同的Label。
2.选择角色的预制体,将其放入场景中。为其创建Animator和Animation
3.打开Animation窗口,选择角色预制体。选择Add Property按钮,选择Sprite Resolver component的LabelHash属性。
在这里插入图片描述
4.在Animation窗口中改变每一帧的LabelHash,也就是在关键帧中选中这一帧需要的Sprite

改变关键帧切线:(此Bug已修复)
这里要将关键帧切线设置成Constant。This is because the Sprite Resolver component uses the defined string hash value to locate the desired Sprite. If the values between keyframe’s are interpolated, the Sprite Resolver will not be able to resolve to the correct Sprite.

改变角色的某一部分

1.在PS中将想要替换的部分放到一个组中
在这里插入图片描述
2.在Skinning Editor中给他们分配Category和Label,这里分配完成后要按Apply,这样才会自动生成Sprite Library Asset
在这里插入图片描述
3.在游戏场景中将Prefab添加,在prefab中添加了组的节点添加一个Sprite Resolver组件,在这里可以选择要替换的的Sprite
在这里插入图片描述在这里插入图片描述在这里插入图片描述

Swapping Sprite Library Assets

在Sprite model需要替换的sprite很多的时候,通过上面组的方式需要替换的Sprite可能非常多。这种情况我们可以创建一个新的Sprite Libray Asset,这样在Sprite Library component组件中通过替换Sprite Library Asset来实现大量的替换。

以下是设置一个新的Sprite Library Asset的工作流:
1.首先在PS中创建两个版本的Sprites。这里举例一张彩色,一张灰色
2.将PSB文件导入Unity,将产生Prefab。
3.在Skinning Editor中将角色每一个部分单独设置一个Category
4.要确保两边的Sprite部分有相同的Category和label
在这里插入图片描述在这里插入图片描述
5.将彩色角色的Prefab放入场景中。
在这里插入图片描述
6.接着将灰色角色的Sprite Library Asset拖入Sprite Library Asset来替换原有的Asset,原有的彩色角色现在将全部替换为灰色的
在这里插入图片描述

标签:Category,Sprite,Package,PSB,component,Library,2D,Unity,Asset
来源: https://blog.csdn.net/Game_Builder/article/details/101033034

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有