【发布时间】:2016-11-05 00:59:38
【问题描述】:
我正在创建一个 Vive VR 被动式 VR 体验,您在太空飞船中并且没有任何控制,它在整个太阳系中被动移动。不是AI,会有预定的目的地。
我的问题:如何让物体被动移动?(A.K.A Space Ship with camera)
【问题讨论】:
标签: c# unity3d unityscript virtual-reality
我正在创建一个 Vive VR 被动式 VR 体验,您在太空飞船中并且没有任何控制,它在整个太阳系中被动移动。不是AI,会有预定的目的地。
我的问题:如何让物体被动移动?(A.K.A Space Ship with camera)
【问题讨论】:
标签: c# unity3d unityscript virtual-reality
您有一个起点和一个目标点,然后在它们之间有Lerp。统一文档中的示例为您的确切问题提供了一个示例。
using UnityEngine;
using System.Collections;
public class ExampleClass : MonoBehaviour {
public Transform startMarker;
public Transform endMarker;
public float speed = 1.0F;
private float startTime;
private float journeyLength;
void Start() {
startTime = Time.time;
journeyLength = Vector3.Distance(startMarker.position, endMarker.position);
}
void Update() {
float distCovered = (Time.time - startTime) * speed;
float fracJourney = distCovered / journeyLength;
transform.position = Vector3.Lerp(startMarker.position, endMarker.position, fracJourney);
}
}
您可以将该脚本附加到您的“宇宙飞船”根对象,然后将玩家设置为宇宙飞船的子对象,这样它就会随着飞船沿其路线移动。
【讨论】:
Asset Store 上的Path Magic 可以为您完成所有工作,而且您可能无需编写任何代码。
【讨论】: