【发布时间】:2020-09-12 18:39:11
【问题描述】:
我们的想法是拍摄 360 度视频,并使用资产商店场景中的“Unity Interactive 360 Video Sample”将其映射到天空盒。摄像头在录制时穿过商场。
我们希望视频的观众能够在运行时在 Unity 的 VR 中的商场中“向前走”、“向后走”、“静止不动”。
为此,我们希望使用 oculus 操纵杆在视频中移动播放器。也就是说,使用来自Input.GetAxis("Vertical") 的值在运行时前后滚动当前视频剪辑时间。
有效:前进就像一种魅力。
不起作用:向后移动不起作用,因为播放速度不能为负数。
这是当前脚本:
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Video;
public class OculusInput_VideoControl : MonoBehaviour {
VideoPlayer videoPlayer = null;
// Use this for initialization
void Start () {
videoPlayer = (VideoPlayer)FindObjectOfType(typeof(VideoPlayer));
}
// Update is called once per frame
void Update () {
float joystickPosition_from_minusone_to_one = Input.GetAxis("Vertical");
videoPlayer.playbackSpeed = joystickPosition_from_minusone_to_one;
OVRDebugConsole.print(videoPlayer.playbackSpeed + " ### " + joystickPosition_from_minusone_to_one );
}
}
这些是系统规格:
我们如何嵌入倒退?
if (joystickPosition_from_minusone_to_one < 0) videoPlayer.time -= (int) Mathf.Abs(joystickPosition_from_minusone_to_one);
迟钝!
if (joystickPosition_from_minusone_to_one < 0) videoPlayer.frame -= (int) Mathf.Abs(joystickPosition_from_minusone_to_one * 10);
也很迟钝!
【问题讨论】:
标签: unity3d