Действия Unity SteamVR не работают в Build
Я пытаюсь переключиться на другую сцену, когда гарнитура удалена. Он уже работает в редакторе Unity, но не в сборке.
Настроить:
- Unity 2018.3.6f1
- Плагин SteamVR Unity v.2.2.0
- Vive Pro
Этот код работает в редакторе:
using System.Collections;
using UnityEngine;
using UnityEngine.SceneManagement;
using Valve.VR;
public class EndGame : MonoBehaviour
{
[Tooltip("This action lets you know when the player has placed the headset on their head")]
public SteamVR_Action_Boolean headsetOnHead = SteamVR_Input.GetBooleanAction("HeadsetOnHead");
void Update()
{
if (SteamVR.initializedState != SteamVR.InitializedStates.InitializeSuccess)
{
return;
}
if (headsetOnHead != null)
{
if (headsetOnHead.GetStateDown(SteamVR_Input_Sources.Head))
{
StopCoroutine(RestartGame());
}
else if (headsetOnHead.GetStateUp(SteamVR_Input_Sources.Head))
{
StartCoroutine(RestartGame());
}
}
}
IEnumerator RestartGame()
{
yield return new WaitForSecondsRealtime(3);
SceneManager.LoadScene("Startscene", LoadSceneMode.Single);
yield return null;
}
}
В редакторе \actions\default\in\HeadsetOnHead ссылается на общедоступный SteamVR_Action_Boolean headsetOnHead.
Actions.json (включая /actions/default/in/HeadsetOnHead) находится в папке сборки, и в журналах нет ошибок.
1 ответ
Переключение на SteamVR_LoadLevel вместо управления сценами решило проблему для текущей версии Unity.
Кроме того, сценарий был прикреплен к префабу SteamVR Player в сцене. Теперь он размещен на отдельном игровом объекте в сцене, чтобы избежать проблем, связанных с не разрушением при загрузке с префабом Player.