3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)( 二 )


3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

两个用户界面文本对象显示游戏状态和当前分数
UIManager脚本代码如下:

3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

UIManager脚本有两个用户界面文本对象。第一个文本对象显示分数,第二个显示游戏状态。UIManager类本身就是一个单独的实例,它还包含一些设置分数和状态文本对象的公共方法。还有保存玩家分数的私有整数变量,可以通过相应的公共方法修改。这个脚本在两个游戏级别中都使用。
最大动画
将Max模型导入Unity后,可以看到一些嵌入在Max中的动画。这个游戏会用空的闲、跑、跳动画。

3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

最大3D模型动画
使用Unity的Mecanim动画系统驱动Max。您可以在Mecanim中创建一个状态机来实现:
1.最大模型的所有必要状态
2.每个状态对应一个动画
3.国家间的过渡和过渡的条件
在这个游戏中,两个布尔变量用来切换动画状态。其实很简单:游戏开始时,Max处于空空闲状态。游戏开始,Max开始运行,于是切换到运行状态。Max在玩家向上滑屏(或按向上方向键)时跳跃,于是切换到跳跃状态。跳完之后,Max摔倒接触地面继续跑(回到跑步状态)。您可以在下面的统一编辑器中看到状态转换:

3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

Max的动画状态机。您可以看到有两个变量(跳转和启动)触发状态变化

3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

当Max运行时,如果跳转变量为真,切换到跳转状态(和动画)

3d跑酷游戏 [专栏作家]使用Unity创建3D无尽跑酷游戏(上)


文章图片

将运行动画指定为运行状态
目前动画状态已经完善,但是这两个变量如何修改?这个需要参考Max的动画控制器对象,在接下来的移动脚本介绍中会有说明。本教程前半部分已经结束,下一部分将继续讲解剩下的内容。

推荐阅读