Unity3d 简单的按照路径移动物体!

 在TORQUE引擎中,我们只要设置几个点,然后物体会按照这几个点顺序移动,Unity3d也可以的,现在介绍一个很简单的按照路径移动的方法。


目标是让蓝色方块沿着紫色方块组成的路径移动,设计思想就是让蓝色方块移动第一个,然后继续移动到第二个,然后.....,我们使用碰撞检测判定蓝色方块是否已经到位置来改变方向。

首先编写2个简单的脚本:

/----------------------------- move.cs 给蓝色方块使用------------------------------/
using UnityEngine;
using System.Collections;

public class move : MonoBehaviour
{
    //用来保存目标的数组
    public Transform [] obj;
    //用来改变数组的值
    private static int i = 0;
 
    void Start()
    {
    }
  
    void Update()
    {
        // 让我们的物体朝目标移动
        transform.LookAt(obj[i % obj.Length]);
        transform.Translate(Vector3.forward*Time.deltaTime*5);
    }

    //改变目标物体
    public static void Add()
    {
        i++;
    }
}
/----------------------------- move.cs end --------------------------/

/----------------------------- point.cs 给紫色方块使用 ----------------/
using UnityEngine;
using System.Collections;

public class point : MonoBehaviour {

// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
}

    //当用户接触到目标物体改变参数到下一个目标物体
    void OnTriggerEnter(Collider cos)
    {
        move.Add();
    }
}
/----------------------------- point.cs end --------------------------/

蓝色方块的参数设置,注意要将box collider 换成Character Controller,这样才能跟紫色方块产生碰撞触发。

紫色方块的参数设置,注意要将Is Trigger 参数打钩,否则也不会产生碰撞检测。


运行工程,你就会发现蓝色方块会沿着紫色方块路径移动,不停的循环......

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值