【问题标题】:Making an object(with camera) move passively使物体(带相机)被动移动
【发布时间】:2016-11-05 00:59:38
【问题描述】:

我正在创建一个 Vive VR 被动式 VR 体验,您在太空飞船中并且没有任何控制,它在整个太阳系中被动移动。不是AI,会有预定的目的地。

我的问题:如何让物体被动移动?(A.K.A Space Ship with camera)

【问题讨论】:

    标签: c# unity3d unityscript virtual-reality


    【解决方案1】:

    您有一个起点和一个目标点,然后在它们之间有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);
        }
    }
    

    您可以将该脚本附加到您的“宇宙飞船”根对象,然后将玩家设置为宇宙飞船的子对象,这样它就会随着飞船沿其路线移动。

    【讨论】:

    • 这个想法是让宇宙飞船以弧形运动方式“飞行”。我会尝试使用它,至少这将是一个很好的起点。这有点像那些带有过山车的 VR,除了在太空中的宇宙飞船上。
    • 在这种情况下,您可能需要use a animation 来执行移动。您可以将每个要停止的地方设置为关键帧,并让它为您计算如何在每个位置之间移动。
    【解决方案2】:

    Asset Store 上的Path Magic 可以为您完成所有工作,而且您可能无需编写任何代码。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-02-25
      • 2018-11-08
      • 1970-01-01
      相关资源
      最近更新 更多