使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作

一.综述

关于地图或者场景漫游导览的生成方式有两种,一种是以代码记录一组摄像头位置然后使用代码牵引摄像头然后使用差值进行平滑遍历;另外一种就是使用Animation了。至少目前我知道的是这两种方式。

二.Animation的使用

接下来其实就是如何使用Animation做一个导览动画了,其实不只可以用在摄像头上,可以用在任何想按照一定方式运动的游戏对象上。也不一定必须是对Position做动画,也可以是Rotation,Color,甚至是Flare(这点当时是让我惊讶的,最后想想就是这个道理,任何属性,只要产生变化都是动画,光线一会儿出现了一会儿又没了当然也是动画了)以及自己挂的脚本组件中的属性,接下来我将以给摄像头做漫游动画为例,详细讲述如何使用Animation实现动画

三.Animation使用过程

1.Animation的简介

Animation就是动画编辑器,用过Adobe Flash的应该感觉很熟悉,它就是用来编辑动画帧的,不过它会自动在每两帧间完成“补间动画”不用自己再去创建。当然了,这个就相当于Flash编辑器中的图形界面版,并不能进行类似于使用ActionScript进行代码动画设计。它存在的意义在于,比如游戏中有一些简单的游戏对象需要一直进行简单的动画走动,如果都自己用代码去设计的话,一方面是管理混乱、另一方面是不利于性能最优,还有一方面是,不一定所有的动画都可以用代码最完美的去完成,有些动画就适合用帧编辑器进行编辑。
其实宣老师已经有篇文章详述了动画开发步骤:
Unity3D研究院之使用Animation编辑器编辑动画(五十四)
我就尽量避开上面已有的知识点免得写的啰嗦,写写我的地图导览中需要注意的点就好了:

2.摄像头地图导览

1)创建摄像头动画文件,选择需要的动画属性

使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作_第1张图片
作为场景导览,我只需要Position/Rotation/Scale三个属性就够了。

2)创建关键帧

使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作_第2张图片
点击左上角红色圈中的按钮可以创建一个关键帧,到右边时间轴上红色竖线所在的位置。此时,当前这个帧的属性就是当前Camera这个游戏对象的当前属性了。

3)移动Camera到合适位置确定 当前帧属性

在Scene视图中进行漫游,选择合适的位置,作为动画当前帧的位置,然后选中Cmaera游戏对象,点击GameObject菜单栏中的Aligh With View ,当前Scene中的角度就会应用到Camera中了。然后就可以去创建下一帧了。
关于位置的选择。自己得先构想出一条漫游路径,然后依次创建关键帧,Camera就会按照设定位置漫游。

4)关于Animation中的帧频的解释

帧频其实确实就是N帧/秒的含义。那么时间轴怎么看呢?
比如当帧频为60时,时间轴会这样显示:

使用Unity3D 自主实战开发的赛车游戏实例,关键点记录 (二)之地形场景漫游导览制作_第3张图片

0:00 0:10 0:20 0:30 0:40 0:50 1:00 1:10 等等
格式是: 秒数:当前秒的帧数
0:40 就是第0秒的第40帧。

然后如果把60fps改成30fps呢?
答案是:如果60fps时,第一个关键帧在0:00的位置,第二个关键帧在2:00的位置
当改成30fps后,第一个关键帧在0:00的位置,第二个关键帧变更到4:00的位置
因为系统会保持每个关键帧的帧位置不变。第二个关键帧在第120帧的位置,是不会改变的。

5)关于unity5.0使用旧版Animation

我这里使用的Animation已经不是Unity建议使用的动画了。所以如果想正常播放动画的话,得现选中制作好的Animation文件,然后将inspector标题点击右键切换到debug模式,然后Legacy打钩就可以了。关于新版动画的使用,烦请参考宣老师的文章:
Unity4新Mecanim动画
如果我关于Mecanim有心得会再拿出来分享的。

6)关于预览动画时,感觉不流畅,跳帧的问题

我制作动画时发现了一个恐怖的问题,就是在预览动画时,发现时间轴指针竟然在跳着走,没有一帧一帧地走。这个不用担心,正常制作好动画时使用的过程中就没有了,九连冠了,如果再不连贯,请考虑系统性能问题。(愚见,有误烦请指正)

你可能感兴趣的:(游戏编程)