时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率
系列目录
【Unity3D基础】让物体动起来①--基于UGUI的鼠标点击移动
【Unity3D基础】让物体动起来②--UGUI鼠标点击逐帧移动
时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现
时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画
时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率
时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率
前言
上篇提到的引用的“图片切换法”,以及这篇要讲的“图片截取法”(这两个说法都是引用的大牛深蓝色右手的原话),实际上序列帧动画的本质就是定时器,已经反复强调过了。这里“图片切换法”和“图片截取法”主要是针对纹理资源的获取途径方式来划分的,主要原因还是渲染效率的问题,如果会写网页的同学也一定都知道有CSS有一种Sprite雪碧技术,就是把松散的小图合并成一张大图来减少网络请求数,这里原理是可以类比的。实际上在Unity3D中这个问题已经很好的解决了,这也是本文的一个主题。
本文的两个主题分别是
一、使用Animation编辑器实现2D人物序列帧动画
二、Unity3D中2D资源的优化工具简介
效果图

实现
一、使用Animation编辑器实现2D人物序列帧动画
这里由于方面的教程很多,所以这里也就是点到为止,记录关键点和关键部分,需要学习的朋友自己按照其它教程实现一遍自然明白,这里就不用浪费口舌了。
A、制作素材,这里直接引用深蓝的原话了
准备工作:这里我以创建主角向右方向施法动画为例。首先需要将10帧150*150的图片通过Photoshop或其他方式合成为一张1500*150的大图,如下图:
从图上可以很清晰的看出主角的整个流畅的施法流程。接着,我将该文件取名叫PlayerMagic.png保存。还记得上篇引用的文字吗,个人觉得挺赞的 (因为是提取的素材,初始宽和高是不均衡值,所以必须扩大成自己的需求,这样人物会在图片中居中,并且为后期加入武器或坐骑留好余地。稍微的偏离也可以在后期进行微调)
红字部分觉得比较赞的。将该图导入到Unity3d中(很多种方法拖拽即可)
B、使用Sprite Editor工具(点击Project下的图片)进行分割,这里有了A的上下文思想,所以个人觉得使用静态分割是比较合理的,图片素材由美工或者自己按照规格调好,符合单一原则,以下是截图


C、使用Animation工具窗口,制作序列帧动画即可(其实我觉得有点像关键帧动画不知道为什么叫序列帧),这里需要注意的就是制作动画必须选中GameObject(也是Animation工具必须的)这样动画控制组件和动画就自动挂接绑定到了选中的GameObject上,
两个关键点:
1、移动关键帧的时候,可以使用滚轮放大时间线,然后逐个拖拽(感觉不是很方便,不知道有没有更方便的方法)
2、注意调节采样率已达到最好的显示效果

二、Unity3D中2D资源的优化工具简介
实际我们通过一,已经介绍了一个纹理分割的工具Sprite Editor了,下面还有一个工具,就是针对上篇中的非组合打包的图片,Unity3d也提供了一个工具,叫做sprite Packer,使用很简单了(注意下图红圈即可),主要的疑问是性能的提高的效果,这里就需要介绍Unity3d 性能查看工具了,但是发现Unity3d 5.x以后和很多教程上显示的不一样(可能是更新了,这里先不深究以后慢慢研究了)


总结
万里长征第二步终于完成了,没有什么好说的,简单还是简单。
时光煮雨 Unity3D实现2D人物动画② Unity2D 动画系统&资源效率的更多相关文章
- 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画
系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...
- 时光煮雨 Unity3D实现2D人物移动-总结篇
系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...
- 时光煮雨 Unity3d 序列目标点的移动①
系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...
- 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现
本文首发蛮牛,次发博客园.接系列 第一篇,第二篇,本文为第三篇,再次感谢“武装三藏”在前两篇无私且精彩的问题解答 写在最前,时光煮雨,为了怀念 以下引用曾今读过的一些教程文章 其实这3种动画都有它特定 ...
- 前端笔记之HTML5&CSS3(下)2D/3D转换&animate动画
一.2D转换(transform) CSS3中的transform转换和PS中的变换是一样的,分别有:缩放.位移.斜切.旋转 1.1 transform:scale()缩放 transform:sca ...
- unity3d 动画卡帧 动画合成 动画层次
2013-02-26 16:22 2059人阅读 评论(0) 收藏 举报 unity3d 中动画的添加 http://unity3d.com/support/documentation/Manua ...
- [3dmax教程] 人物+骨骼+蒙皮+动画教程
人物+骨骼+蒙皮+动画完整教程选准备好一个人,做人的方法我在这里就不做了,大家可以学都用poser来做一个. 在大腿里建立4根骨骼! 在前视图中移动如图所示位置! 做一段简单的骨骼向前伸的动画,做4 ...
- iOS开发UI篇—核心动画(基础动画)
转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...
- 第三部分:Android 应用程序接口指南---第四节:动画和图形---第一章 属性动画及动画与图形概述
第1章 属性动画及动画与图形概述 Android提供了一系列强大的API来把动画加到UI元素中,以及绘制自定义的2D和3D图像中去.下面的几节将综述这些可用的API以及系统的功能,同时帮你做出最优的选 ...
随机推荐
- CSS:z-index层级在IE中无效
引用地址:http://apps.hi.baidu.com/share/detail/19853262 在CSS中,只能通过代码改变层级,这个属性就是z-index,要让z-index起作用有个小小前 ...
- iOS 开发技巧总结
1.添加定时器的常用代码 - (void)delayEnableTabButton { self.tabChannelButton.enabled = NO; [self appendTimer]; ...
- FLEX SharedObject介绍及应用
ShareObject介绍: 1 ShareObject,顾名思义共享对象,而通常意义上的共享,从B/S结构上来讲,无非是客户端(浏览器端)的共享和服务器端的共享了,不错,ShareObject刚好份 ...
- Ubuntu root密码修改
安装完Ubuntu后忽然意识到没有设置root密码,不知道密码自然就无法进入根用户下.到网上搜了一下,原来是这麽回事.Ubuntu的默认root密码是随机的,即每次开机都有一个新的root密码.我们可 ...
- Local Database Sample Model
[Table] public class AddTableNameHere : INotifyPropertyChanged, INotifyPropertyChanging { // // TODO ...
- Missing number
Missing number 题目: Description There is a permutation without two numbers in it, and now you know wh ...
- onselectstart
以前在做图片滚动时,在双击左右箭头,快速切换图片滚动时,会选择附近区域的文字,感觉不是很好,今天在同事在分享时,讲到了这个问题, 试了一下,不错,解决了问题IE及Chrome下的方法一样,对相应的元素 ...
- [LintCode] Surrounded Regions 包围区域
Given a 2D board containing 'X' and 'O', capture all regions surrounded by 'X'. A region is captured ...
- JS写四个图片滚动显示的效果
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- js实现事件模型bind与trigger
function Emitter() { this._listener = [];//_listener[自定义的事件名] = [所用执行的匿名函数1, 所用执行的匿名函数2] } //注册事件 Em ...
