系列目录

【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 动画系统&资源效率的更多相关文章

  1. 时光煮雨 Unity3D实现2D人物动画① UGUI&Native2D序列帧动画

    系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...

  2. 时光煮雨 Unity3D实现2D人物移动-总结篇

    系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...

  3. 时光煮雨 Unity3d 序列目标点的移动①

    系列目录 [Unity3D基础]让物体动起来①--基于UGUI的鼠标点击移动 [Unity3D基础]让物体动起来②--UGUI鼠标点击逐帧移动 时光煮雨 Unity3D让物体动起来③—UGUI DoT ...

  4. 时光煮雨 Unity3D让物体动起来③—UGUI DoTween&Unity Native2D实现

    本文首发蛮牛,次发博客园.接系列 第一篇,第二篇,本文为第三篇,再次感谢“武装三藏”在前两篇无私且精彩的问题解答 写在最前,时光煮雨,为了怀念 以下引用曾今读过的一些教程文章 其实这3种动画都有它特定 ...

  5. 前端笔记之HTML5&CSS3(下)2D/3D转换&animate动画

    一.2D转换(transform) CSS3中的transform转换和PS中的变换是一样的,分别有:缩放.位移.斜切.旋转 1.1 transform:scale()缩放 transform:sca ...

  6. unity3d 动画卡帧 动画合成 动画层次

    2013-02-26 16:22 2059人阅读 评论(0) 收藏 举报 unity3d 中动画的添加   http://unity3d.com/support/documentation/Manua ...

  7. [3dmax教程] 人物+骨骼+蒙皮+动画教程

    人物+骨骼+蒙皮+动画完整教程选准备好一个人,做人的方法我在这里就不做了,大家可以学都用poser来做一个.  在大腿里建立4根骨骼! 在前视图中移动如图所示位置! 做一段简单的骨骼向前伸的动画,做4 ...

  8. iOS开发UI篇—核心动画(基础动画)

    转自:http://www.cnblogs.com/wendingding/p/3801157.html 文顶顶 最怕你一生碌碌无为 还安慰自己平凡可贵 iOS开发UI篇—核心动画(基础动画) iOS ...

  9. 第三部分:Android 应用程序接口指南---第四节:动画和图形---第一章 属性动画及动画与图形概述

    第1章 属性动画及动画与图形概述 Android提供了一系列强大的API来把动画加到UI元素中,以及绘制自定义的2D和3D图像中去.下面的几节将综述这些可用的API以及系统的功能,同时帮你做出最优的选 ...

随机推荐

  1. POJ 1473 There's Treasure Everywhere!

    题目链接 小小的模拟一下. #include <cstdio> #include <cstring> #include <string> #include < ...

  2. SVN错误:Attempted to lock an already-locked dir

    在eclipse里提交和更新文件是报错: Attempted to lock an already-locked dir svn: Working copy 'F:\workspace\WebFram ...

  3. 清空highcharts数据

    1:清空highcharts图表的数据我们常用的方法就是remove() var seriesList = chart.series; //获得图表的所有序列 var seriesCount=seri ...

  4. 腾讯 pc端面试(2015.10.26)

    整个面试过程全部围绕着我在前一家公司做过的项目开始提问.因为这个项目是我主要负责的,所以面试官第一个问题是让我讲解了整个项目的框架结构.在对于项目的框架结构的讲解方面,大致条理还算清醒但是因为很少对做 ...

  5. GX转账站点无法访问的问题

    1.先检查200路由器上的端口<8099,8098> 没有则加上 2.检查站点是否能在200服务器上打开 不能打开,重启站点

  6. Bin Packing

    Bin Packing 题目链接:http://acm.hust.edu.cn/vjudge/contest/view.action?cid=85904#problem/F 题目: A set of  ...

  7. 用脚本来简化iOS美术同学的工作

    用脚本来简化iOS美术同学的工作 问题 我们知道,在 iOS 开发中,为了使我们的 app 能够同时支持 iPhone 的 Retina 屏幕和普通屏幕,美术同学需要对 UI 设计稿中的每个元素进行 ...

  8. Android 图片轮播(最简单的)

    布局文件 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android ...

  9. 无法分配超出32(XXX)的MINEXTENTS报错的解决方法

    今天在创建新表的时候,遇到该报错:ORA-01659 无法分配超出32(XXX)的MINEXTENTS 解决方法:修改表空间大小. 命令如下: ALTER DATABASE DATAFILE ''D: ...

  10. NY-字符串替换

    描述编写一个程序实现将字符串中的所有"you"替换成"we" 输入 输入包含多行数据 每行数据是一个字符串,长度不超过1000 数据以EOF结束 输出 对于输入 ...