《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 安装并启动 ...
随机推荐
- java:类集框架
类集框架:jdk提供的一系列类和接口,位于java.util包当中,主要用于存储和管理对象,主要分为三大类:集合.列表和映射. 集合Set:用于存储一系列对象的集合.无序.不允许重复元素. 列表Lis ...
- Lambda 表达式型的排序法
int[] arry = {3,9,5,7,64,51,35,94 }; foreach (int i in arry.OrderBy(i => i)) Console.WriteLine(i) ...
- android从应用到驱动之—camera(2)---cameraHAL的实现
本来想用这一篇博客把cameraHAL的实现和流程都给写完的.搞了半天,东西实在是太多了.这篇先写cameraHAL的基本实现框架,下一篇在具体写camerahal的流程吧. cameraHAL的实现 ...
- hibernate--lazy(懒加载)属性
关联映射文件中<class>标签中的lazy(懒加载)属性 Lazy(懒加载):只有在正真使用该对象时,才会创建这个对象 Hibernate中的lazy(懒加载):只有我们在正真使用时,它 ...
- NuGet学习笔记
NuGet学习笔记(1)——初识NuGet及快速安装使用 NuGet学习笔记(2)——使用图形化界面打包自己的类库 NuGet学习笔记(3)——搭建属于自己的NuGet服务器
- [51NOD1126]求递推序列的第n项(矩阵快速幂)
题目链接:http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1126 存在参数a,b为负数的情况.这时候要这么处理: 根据mo ...
- Codeforces Beta Round #2B(dp+数学)
贡献了一列WA.. 数学很神奇啊 这个题的关键是怎么才能算尾0的个数 只能相乘 可以想一下所有一位数相乘 除0之外,只有2和5相乘才能得到0 当然那些本身带0的多位数 里面肯定含有多少尾0 就含有多少 ...
- log4j配置webapp日志系统
1.基础知识: Log4j的中文文档 (这是根据最新的log4j(jakarta-log4j-1.2.8)的开发包自带文档的manual翻译的) http://dev.csdn.net/develop ...
- iOS开发:记录开发中遇到的编译或运行异常以及解决方案
1.部署到真机异常 dyld`dyld_fatal_error: -> 0x120015088 <+0>: brk #0x3 dyld: Library not loaded ...
- li添加浮动时不能完全包裹的方法
<html> <head> <meta http-equiv="Content-Type" content="text/html;chars ...