《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇01:播放序列动画》
1.播放序列动画
系列动画播放概述
2D游戏中的动画系统,不同于3D游戏。3D游戏中,角色美术资源不仅包含角色模型的,还包括角色的贴图和动作等,模型本身自带角色的动作动画效果。2D游戏中,角色美术资源仅仅是单张的序列帧图片,需要开发者将序列帧连续播放,形成角色的动画效果。为了能实现上述的2D游戏角色动画效果,Genesis-3D引擎加入了对2D图片的编辑功能,其中主要借助精灵包(Sprite)得以实现。
播放原理:
在Genesis-3D引擎中制作精灵动画,来实现其序列帧的播放效果,如图1-1所示。

图1-1
实现方法:
步骤1:
创建精灵包。在项目视图中,创建>精灵包完成精灵包的创建,并将“精灵包”命名为: little_plane。对项目文件修改名称,可以方便以后的资源管理,如图1-1-1所示。引擎自动生成两个文件,效果如图1-1-2所示。

图1-1-1

图1-1-2
步骤2:
导入角色动画图像。将制作好的little——plane角色序列动画图像,导入到项目视图中。这里需要注意到导入图像尺寸长宽必须为2的N次方,并且角色所有动画单帧等距离排放在一张图像上。导入完成后,项目视图中会增加导入的文件,效果如图1-2-1所示。

图1-2-1
步骤3:
将图像赋给精灵材质球。选择little_plane_Spackage->Diffuse Map,将little_plane图像设置为其纹理,如图1-3-1所示

图1-3-1
步骤4:
精灵动画制作。选择“精灵little_plane”,打开“2D编辑器”(Sprite Editor);点击“创建”,创建一个Texture Tiles(纹理列表),命名为little_plane,选择纹理贴图little_plane,如图1-4-1所示。

图1-4-1
步骤5:
“编辑模式”(Workspace)选择“动态精灵”(Animation);选择little_plane纹理,将其分割成8张(这里注意little_plane角色动画设置为八张图像循环播放,根据开发者设定内容自行分割图像),如下图1-5-1所示。

图1-5-1
步骤6:
点“动画”后面的"+"后,创建动画命名为little_plane;将分割好的图片拖动到时间轴上即完成精灵动画制作,如下图1-6-1所示。(注意:帧频为每秒播放图片频率)。

图1-6-1
步骤7:
动画实现。将精灵little_plane拖动到场景结构中, “精灵动画选择”制作好的little_plane动画,如下图1-7-1所示。

图1-7-1
步骤8:
在场景中即可看见角色序列帧播放效果。为了确保游戏最佳的2D视图效果,这里需要将“相机”的“投影方式”设置为“正交”,如图1-8-1所示。 即完成了2D序列帧动画的制作。

图1-8-1
引擎官方网站:http://www.genesis-3d.com.cn/
官方论坛:http://bbs.9tech.cn/genesis-3d/
官方千人大群:59113309 135439306
YY频道-游戏开发大讲堂(完全免费,定期开课):51735288
Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!
《Genesis-3D开源游戏引擎完整实例教程-2D射击游戏篇01:播放序列动画》的更多相关文章
- 简单物联网:外网访问内网路由器下树莓派Flask服务器
最近做一个小东西,大概过程就是想在教室,宿舍控制实验室的一些设备. 已经在树莓上搭了一个轻量的flask服务器,在实验室的路由器下,任何设备都是可以访问的:但是有一些限制条件,比如我想在宿舍控制我种花 ...
- 利用ssh反向代理以及autossh实现从外网连接内网服务器
前言 最近遇到这样一个问题,我在实验室架设了一台服务器,给师弟或者小伙伴练习Linux用,然后平时在实验室这边直接连接是没有问题的,都是内网嘛.但是回到宿舍问题出来了,使用校园网的童鞋还是能连接上,使 ...
- 外网访问内网Docker容器
外网访问内网Docker容器 本地安装了Docker容器,只能在局域网内访问,怎样从外网也能访问本地Docker容器? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Docker容器 ...
- 外网访问内网SpringBoot
外网访问内网SpringBoot 本地安装了SpringBoot,只能在局域网内访问,怎样从外网也能访问本地SpringBoot? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装Java 1 ...
- 外网访问内网Elasticsearch WEB
外网访问内网Elasticsearch WEB 本地安装了Elasticsearch,只能在局域网内访问其WEB,怎样从外网也能访问本地Elasticsearch? 本文将介绍具体的实现步骤. 1. ...
- 怎样从外网访问内网Rails
外网访问内网Rails 本地安装了Rails,只能在局域网内访问,怎样从外网也能访问本地Rails? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Rails 默认安装的Rails端口 ...
- 怎样从外网访问内网Memcached数据库
外网访问内网Memcached数据库 本地安装了Memcached数据库,只能在局域网内访问,怎样从外网也能访问本地Memcached数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装 ...
- 怎样从外网访问内网CouchDB数据库
外网访问内网CouchDB数据库 本地安装了CouchDB数据库,只能在局域网内访问,怎样从外网也能访问本地CouchDB数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动Cou ...
- 怎样从外网访问内网DB2数据库
外网访问内网DB2数据库 本地安装了DB2数据库,只能在局域网内访问,怎样从外网也能访问本地DB2数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动DB2数据库 默认安装的DB2 ...
- 怎样从外网访问内网OpenLDAP数据库
外网访问内网OpenLDAP数据库 本地安装了OpenLDAP数据库,只能在局域网内访问,怎样从外网也能访问本地OpenLDAP数据库? 本文将介绍具体的实现步骤. 1. 准备工作 1.1 安装并启动 ...
随机推荐
- SQL Server查询优化方法(查询速度慢的原因很多,常见如下几种) .
今天看到一位博友的文章,觉得不错,转载一下,希望对大家有帮助,更多文章,请访问:http://blog.haoitsoft.com 1.没有索引或者没有用到索引(这是查询慢最常见的问题,是程序设计的缺 ...
- 各种分区类型对应的partition_Id
ID Name Note == ==== ==== 00h empty [空] 01h DOS 12-bit FAT [MS DOS FAT12] 02h XENIX root file system ...
- 转Unity 异常操作
摘要 使用 unity 处理异常的方法可能会与你的直觉不符.本文将给出正确的处理方法,并简单剖析Unity这部分源代码. 处理异常 打算用Unity的AOP截获未处理的异常,然后写个日志什么的,于是我 ...
- Django admin site(二)ModelAdmin methods
ModelAdmin methods save_model(request, obj, form, change) 此方法为admin界面用户保存model实例时的行为.request为HttpReq ...
- UVa 1402 Runtime Error 伸展树
Runtime Error 到现在连样例也跑不出来!!! 调试了一晚上快要死了…… 知道错在哪里但是不会改,代码先扔在这里吧.看来不能太依赖模板啊orz…… #include <cstdio&g ...
- BZOJ 2326 数学作业(矩阵)
题目链接:http://61.187.179.132/JudgeOnline/problem.php?id=2326 题意:定义Concatenate(1,N)=1234567……n.比如Concat ...
- 使用设置报头x-Frame-Options限制iframe网页嵌套
x-frame-options的出现一部分是为了防止一些别有用心的者制作钓鱼网站,现在支持的浏览器有一下: chrome 4.1.249.1042 firefox 3.6.9(1.9.2.9) IE ...
- Codeforces_GYM Flight Boarding Optimization
(ACM ICPC 2013–2014, NEERC, Northern Subregional Contest) Flight Boarding OptimizationInput file: fl ...
- 漫谈 polling 和 Websocket
Http被设计成了一个单向的通信的协议,即客户端发起一个request,然后服务器回应一个response.这让服务器很为恼火:我特么才是老大,我居然不能给小弟发消息... 轮询 老大发火了,小弟们自 ...
- codevs 1135 选择客栈
这题没什么话说. #include<iostream> #include<cstdio> #include<cstring> #include<algorit ...