Unity3D 中物体向目标移动
2012-11-28 13:22
281 查看
这几天在写一个数字漫游项目,有一个要求是在高空鸟瞰,沿着固定的路径移动.........
部分代码如下:C#代码,CameraMove.cs
主要是 这个 Vector3.MoveTowards当前的地点移向目标。
API 上没有具体介绍,
说是 “这个函数基本上和Vector3.Lerp相同,而是该函数将确保我们的速度不会超过maxDistanceDelta。maxDistanceDelta的负值从目标推开向量,就是说maxDistanceDelta是正值,当前地点移向目标,如果是负值当前地点将远离目标。”
第一个参数是 开始位置,第二个参数是 目标位置; 第三个参数 我理解为控制 移动速度与方向的;
上面代码中 SpeedUp 是为了控制 移动的速度的.......
上面代码拖动到摄像机上 ,就可以实现摄像机移动了......
貌似通过这个还可以设置按固定曲线轨迹移动,个人觉得可以通过一些逻辑判断来实现(PS:目前没要求曲线我就没有做测试)。
嘿嘿........小弟新手 ,希望大家多多指教~
破破
2012年11月28日 13:02:44
部分代码如下: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
相关文章推荐
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- Unity3D里实现物体移动到目标点,并且摄像机跟着移动的简单方案
- unity3D学习【功能实现】之十二:指定时间移动到目标位置
- unity3d 随机函数 场景中物体移动和旋转
- unity3d游戏物体跟着鼠标方向移动
- Unity3d 框移动而物体不移动
- Unity3D 入门小技巧——鼠标拾取并移动物体
- 关于Unity3d 使用rigidbody.velocity代替Transform.Translate()来使物体向前移动
- unity3D中使用鼠标控制物体移动的方法
- unity3d 2D物体的移动
- Unity3D 物体移动方式总结
- Unity3d实现Android滑动屏幕移动3D物体
- Unity3D之物体跟随鼠标移动和旋转
- 【unity3d】2D场景下的物体移动
- unity3d 判断目标物体对于我的方向
- unity3d游戏物体跟着鼠标方向移动
- Unity3D控制物体移动
- Unity3D 控制物体移动、旋转、缩放
- unity3d 让物体移动到点击位置