(1) 车辆的基本参数的设定
车辆要想行驶,需要具备车辆的一些基本参数,包括车辆的车体名称,车辆轮胎的名称,车辆的最大速度,车辆的加速度,车辆的转弯半径等。这些都是需要在脚本中设定的,脚本中对这些参数进行了如下的设定:
var CarObject:Transform; 车主体的类型
var FrontWheels:Transform[]; 车前轮的参数类型
var FrontWheelsRotation:Array = new Array(); 车轮旋转的参数类型
var BackWheels:Transform[]; 后轮的参数类型
var MaxSpeed:float = 8; 赛车的最大速度
var MaxReverse:float = -3; 赛车的倒车速度
var SpeedAcceleration:float = 0.01; 赛车的加速度
private var Speed:float = 0; 赛车的初始速度
var MaxRotateSpeed:float = 30; 赛车的最大旋转速度
private var RotateSpeed:float = 0; 初始旋转速度
var Drag:float = 0.095; 赛车的阻力值
var MaxDrift:float = 20; 赛车的最大漂移值
private var Drift:float = 0; 赛车的初始漂移值
(2) 车辆的基本控制的设定
车辆的控制是通过键盘来实现的,通过设定键盘的特定按键来实现赛车的前进倒退左转后转操作。车辆的控制设定脚本如下:
var LeftButton:String = "a"; 向左转定义为键盘上的A键
var RightButton:String = "d"; 向右转定义为键盘上的D键
var UpButton:String = "w"; 向前进定义为键盘上的W键
var DownButton:String = "s"; 向后退定义为键盘上的S键
(3) 车辆粒子效果的设定
车辆上具备了一些预定的粒子效果,如车胎的痕迹,车辆的灯光,车辆的尾气以及车辆触发储气罐后火焰的效果,这些在游戏开始时是不都出现的,有些需要触发一定规则后才会出现,所以要对这些参数及功能做一些初始的设定,脚本中是通过对对应组件及接口是否开启来实现他们的触发及关闭的,详细设定如下列代码所示:
function Start()
{
for ( Wheel in FrontWheels )
{
Wheel.Find("SkidMark").particleEmitter.emit = false; 初始胎印组件关闭
FrontWheelsRotation.Push(Wheel.eulerAngles.y);
}
for ( Wheel in BackWheels )
Wheel.Find("SkidMark").particleEmitter.emit = false;
for( var Glow:Transform in transform.Find("Hull").transform )
{
if ( Glow.name == "BrakeGlow" )
Glow.GetComponent("Halo").enabled = false; 初始刹车灯组件关闭
if ( Glow.name == "ReverseGlow" )
Glow.GetComponent("Halo").enabled = false; 初始倒车灯组件关闭
}
GameController = GameObject.Find("GameController"); 调用游戏控制器
for( var NitroJet:Transform in transform.Find("Hull").transform )
{
if ( NitroJet.name == "NitroJet" ) 3d赛车游戏设计(unity3D+3dsmax+游戏引擎)(9):http://www.youerw.com/jisuanji/lunwen_990.html