注:本系列进阶教程仅针对引擎编辑器:v1.2.2及以下版本
脚本控制与分割动画
经过一些编辑器基本操作技巧的学习之后,我们可以尝试着做一个简单的人物操纵设计,这其中最重要的技巧就是动画切割与脚本控制动画的播放,本篇将会详细的阐述该过程。
1.创建一个场景,加入人物模型。在之前的文档中已经介绍过方法,人物模型加入后如图所示
 
2.分割动画。将动画分割成几部分,需要其中的几个挂载在动画面板中。
 
3.创建脚本。点击工程面板下的创建按钮,选择c#脚本。
 
4.挂载脚本。将新创建的脚本文件拖拽到右侧人物属性栏内,即可将脚本挂载在人物模型上面。
 
5.用MonoDevelop打开脚本。
 
6.编写代码。我们想要实现一项简单的功能:用w按键控制人物向前走动,其他情况下人物原地放松,具体代码如下图所示。
| 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 | //定义字符串并调用编辑器内部存储的动画资源。 | 
| 11 | public override void OnFrame() | 
| 12 | { | 
| 13 | if (Input.KeyPressed(Code.W) ) | 
| 14 | { | 
| 15 | Owner.Animation.CrossFading(ForwardAnim); | 
| 16 | 
| 17 | } | 
| 18 | //如果按住W键,控制播放前进动画。 | 
| 19 | else | 
| 20 | { | 
| 21 | Owner.Animation.CrossFading(RelaxAnim); | 
| 22 | } | 
| 23 | //其他情况下,则播放休闲动画。 | 
| 24 | } | 
| 25 | }; | 
| 26 | } | 
7.调整参数。为了使游戏中人物行动自如并且在画面中间,我们需要把循环模式调整为播放一次,将camera的位置调整使人物处于画面中央
 
8.发布并运行游戏。如图所示点击发布并运行按钮,我们可以生成游戏程序。
 
9.观察游戏界面。打开我们保存的游戏文件,尝试操作测试其功能的实现。
 
假如人物能够按照我们设想的运动,就宣告我们大功告成,我们已经可以实现简单的游戏设计,接下来还有更复杂的人物等待我们。
引擎官方网站:http://www.genesis-3d.com.cn/
官方论坛:http://bbs.9tech.cn/genesis-3d/
官方千人大群:59113309 135439306
YY频道-游戏开发大讲堂(完全免费,定期开课):51735288
Genesis-3D开源游戏引擎:游戏起源,皆因有我!!!
来源:oschina
链接:https://my.oschina.net/u/1432254/blog/194706