文档章节

《Genesis-3D游戏引擎系列教程-进阶篇》9:动画融合

Genesis-3D
 Genesis-3D
发布于 2014/01/22 15:00
字数 850
阅读 230
收藏 3

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本

动画融合

素材资源   工程文件

在本实例中,我们分别制作了融合后的人物动画和未融合的人物动画,通过两者的对比,展示了Genesis-3D编辑器所提供的完美的动画融合效果。

1.创建工程。我们可以直接利用之前做好的“动画”工程。在入门实例中找到“动画”,点击“工程下载”下载工程,打开工程,一个人物动画出现在场景中:

2.运行游戏,可以看到人物动画效果:

3.为了形成对比,我们需要在场景中放两个人物动画,一个设置动画融合,另一个不设置,通过比较看出效果:

(1)复制人物动画zhujue_02,粘贴,可得到完全相同的第二个人物动画:

(2)此时场景中就有了两个人物。从左到右分别命名为"player01"和"player02",调整人物位置,使其如下图排列:

4.编辑代码

(1) 找到动画的代码文件UserDefCSharp.csproj,用Mono打开。如果已经将Mono和Genesis-3D编辑器连接,那么直接双击脚本文件,就能打开。

(2)往里添加控制动画融合的代码。添加后代码如下:

01 using System;
02 using System.Runtime.CompilerServices;
03 using ScriptRuntime;
04 namespace ScriptRuntime
05 {
06     public class ChactorControll : ScriptableClass
07     {
08         string ForwardAnim = "asset:forward.anim";
09         string RelaxAnim = "asset:relaxation2.anim";
10         public string PlayType="PLAYING";
11         //定义字符串并调用编辑器内部存储的动画资源。
12         public override void OnFrame()
13         {
14             if (Input.KeyPressed(Code.W) )
15             {
16                 if(PlayType=="PLAYING")
17                 {
18                     Owner.Animation.PlayAnimation(ForwardAnim);
19                 }
20                 else if(PlayType=="CROSSFADING")
21                 {
22                     Owner.Animation.CrossFading(ForwardAnim,0.5f);
23                 }
24             }
25             //如果按住W键,控制播放前进动画。
26             else
27             {
28                 Owner.Animation.CrossFading(RelaxAnim);
29             }
30             //其他情况下,则播放休闲动画。
31         }
32     };
33     }

(3)点击"Build"—>"Build UserDefCSharp",对脚本进行编译。左下方出现"构建成功"表示编译通过:

5.在代码中添加的字符串变量PlayType是可以从编辑器中获取的内容。此时我们可以在右侧脚本栏中看到多了一个PlayType(string)输入框,里面输入的内容就是程序中变量PlayType获得的值。我们设置player01的PalyType值=PLAYING,player02的PalyType值=CROSSFADING:

6.运行并发布游戏:

每个人物都有休闲动作和前进动作。在播放休闲动作时,两个动画的效果一样:

当按住键盘上W键,需要实现从休闲动画到前进动画的转换时,两个动画人物的效果出现差别:左侧player01由于设置了动画融合,所以在转换时有一个自然地过渡,右侧player01由于没有设置动画融合,发生转变时比较突然,动作生硬,没有过渡:

看到这里,是不是已经了解了Genesis-3D所能实现的强大的动画融合效果呢?赶快动手做出漂亮流畅的动画效果吧!

引擎官方网站:http://www.genesis-3d.com.cn/

官方论坛:http://bbs.9tech.cn/genesis-3d/

官方千人大群:59113309   135439306

YY频道-游戏开发大讲堂(完全免费,定期开课):51735288 

Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!



© 著作权归作者所有

Genesis-3D
粉丝 12
博文 34
码字总数 33360
作品 0
佛山
私信 提问
《Genesis-3D游戏引擎系列教程-进阶篇》6:动画

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 脚本控制与分割动画 资源下载 工程文件 经过一些编辑器基本操作技巧的学习之后,我们可以尝试着做一个简单的人物操纵设计,这其中最重...

Genesis-3D
2014/01/21
92
0
《Genesis-3D游戏引擎系列教程-进阶篇》1:物理

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 物理 资源下载 工程文件 物理组件是实现游戏功能的重要组成部分,Genesis-3D中三种物理组件刚体、碰撞器、角色控制器分别有其各自的作...

Genesis-3D
2014/01/20
508
0
《Genesis-3D游戏引擎系列教程-进阶篇》2:声音

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 声音 众所周知,声音系统是一个游戏中非常重要的组成部分,优秀的游戏音乐是许多玩家能够长时间享受其中的重要因素。因此,熟悉和使用...

Genesis-3D
2014/01/20
60
0
《Genesis-3D游戏引擎系列教程-入门篇》三:资源的导入

注:本系列入门教程仅针对引擎编辑器:v1.2.2及以下版本 1、FBX文件的导入 模型导入是所有3D程序最基本的功能,但常常也是让很多新手最头疼的问题之一,现在就让我们来学习一下FBX文件导入的...

Genesis-3D
2014/01/17
140
0
《Genesis-3D游戏引擎系列教程-进阶篇》3:转动的球体

注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本 转动的球体 资源下载 工程文件 当我们掌握了一些Genesis-3D编辑器的操作技巧之后,现在来尝试着做一个非常简单的游戏,一个转动的球体...

Genesis-3D
2014/01/20
273
0

没有更多内容

加载失败,请刷新页面

加载更多

计算机实现原理专题--二进制减法器(二)

在计算机实现原理专题--二进制减法器(一)中说明了基本原理,现准备说明如何来实现。 首先第一步255-b运算相当于对b进行按位取反,因此可将8个非门组成如下图的形式: 由于每次做减法时,我...

FAT_mt
昨天
6
0
好程序员大数据学习路线分享函数+map映射+元祖

好程序员大数据学习路线分享函数+map映射+元祖,大数据各个平台上的语言实现 hadoop 由java实现,2003年至今,三大块:数据处理,数据存储,数据计算 存储: hbase --> 数据成表 处理: hive --> 数...

好程序员官方
昨天
7
0
tabel 中含有复选框的列 数据理解

1、el-ui中实现某一列为复选框 实现多选非常简单: 手动添加一个el-table-column,设type属性为selction即可; 2、@selection-change事件:选项发生勾选状态变化时触发该事件 <el-table @sel...

everthing
昨天
6
0
【技术分享】TestFlight测试的流程文档

上架基本需求资料 1、苹果开发者账号(如还没账号先申请-苹果开发者账号申请教程) 2、开发好的APP 通过本篇教程,可以学习到ios证书申请和打包ipa上传到appstoreconnect.apple.com进行TestF...

qtb999
昨天
10
0
再见 Spring Boot 1.X,Spring Boot 2.X 走向舞台中心

2019年8月6日,Spring 官方在其博客宣布,Spring Boot 1.x 停止维护,Spring Boot 1.x 生命周期正式结束。 其实早在2018年7月30号,Spring 官方就已经在博客进行过预告,Spring Boot 1.X 将维...

Java技术剑
昨天
18
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部