您的位置:首页 > 移动开发 > Unity3D

Unity3D 中物体向目标移动

2012-11-28 13:22 281 查看
这几天在写一个数字漫游项目,有一个要求是在高空鸟瞰,沿着固定的路径移动.........

部分代码如下:C#代码,CameraMove.cs

using UnityEngine;
using System.Collections;
public class CameraMove : MonoBehaviour
{
int SpeedUp = 10;
bool Automatic = true;
Vector3 Goal = new Vector3(200,10,100);
void Update ()
{
if(Automatic)
{
Speed = true;
transform.position=Vector3.MoveTowards(transform.position,Goal,Time.deltaTime * SpeedUp);
}
}
}


主要是 这个 Vector3.MoveTowards当前的地点移向目标。
API 上没有具体介绍,

说是 “这个函数基本上和Vector3.Lerp相同,而是该函数将确保我们的速度不会超过maxDistanceDelta。maxDistanceDelta的负值从目标推开向量,就是说maxDistanceDelta是正值,当前地点移向目标,如果是负值当前地点将远离目标。”

第一个参数是 开始位置,第二个参数是 目标位置; 第三个参数 我理解为控制 移动速度与方向的;

上面代码中 SpeedUp 是为了控制 移动的速度的.......

上面代码拖动到摄像机上 ,就可以实现摄像机移动了......

貌似通过这个还可以设置按固定曲线轨迹移动,个人觉得可以通过一些逻辑判断来实现(PS:目前没要求曲线我就没有做测试)。

嘿嘿........小弟新手 ,希望大家多多指教~

破破

2012年11月28日 13:02:44
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: