Unity3d实现的十字路口的模拟(四)

这篇博客详细介绍了在Unity3D中如何实现十字路口的车辆随机生成。作者将脚本置于地形或摄像机上,十字路口由四条道路(left, right, bottom, top)组成,每条路有四条车道,右侧车道用于右转和紧急车辆。博客通过代码展示了车辆生成的实现过程。" 112389945,8074708,Java面试必备:高并发系统设计详解,"['Java', '分布式', '高并发', '数据库', '缓存']
摘要由CSDN通过智能技术生成

ok,我们已经知道我们的预制物体都是怎么个结构了,下面我们就来说一下,具体的随机创造车辆的函数,我是把这个脚本放到了我的地形这个物体上,当然你也可以放到摄像机上,正如最开始展示的图片,我们这里一共有四条道路,暂且我们把它命名为left,right,bottom,top每一条路都有四个车道,在我们中国都是靠右行驶的嘛,所以其中最靠右的就用于右转和紧急车辆的行驶。所以我们开始生成车辆,不多说上代码:

#pragma strict
var counter:float=0;
var SUV:GameObject;
var Pickup_Truck:GameObject;
var IceCreamTruck:GameObject;
var CopCar:GameObject;
private var Car:GameObject;
static var path_name:String;
private var angle:float;
private var n:int;//随机数的储存
private var prefabPath:String;
function Start () {
 n=0;
}

function Update () {
  counter=counter+Time.deltaTime;
  if(counter>5){//每隔五秒生成一辆车
  Car=choosecar();//获得不同种类的车
  if(n==3){//3是紧急车辆
    choosehurryway();
  }else{
    choosenormalway();
  }
   counter=0;
  }
  //Debug.Log(counter);
}
//选择紧急车辆的way
function choosehurryway(){
   n=Random.Range(0,4);//产生随机数
   switch(n){
    case 0://left
     angle=Mathf.Sqrt(2);
     Instantiate (Car, Vector3(67.7,0.6,94.5), new Quaternion(0,angle/2,0,angle/2));//最后那个是一个四元数用于控制车的朝向
     path_name="left_hurry";
     break;
    case 1:
     Instantiate (Car, Vector3(103.2,0.6,55.96), new Quaternion(0,0,0,1));
     path_name="bot_hurry";
     break;
    case 2:
     Instantiate (Car, V
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值