Сейчас я делаю проект для моего последнего семестра в университете, и мой район изменил сцену, взглянув на нее (google VR SDK).
Сначала я просто добавил код, чтобы изменить сцену.Это сработало.Но мне нужны некоторые улучшения, поэтому я использовал таймер взгляда, который смотрел на youtube (ссылка: https://www.youtube.com/watch?v=bmMaVTV8UqY)
Теперь анимация таймера взгляда работает, но функция SceneSwitcher в коде NexScene1 не работает.
Я сделал 'build' после добавления новой сцены, в которую я добавил функцию таймера взгляда. Также я использовал tagged, который показан в youtube.
Это все, что я сделал.
public class VRGaze : MonoBehaviour {
public Image imgGaze;
public float totalTime = 2;
bool gvrStatus;
float gvrTimer;
public int distanceOfRay = 10;
private RaycastHit _hit;
// Use this for initialization
void Start () {
}
// Update is called once per frame
void Update () {
if (gvrStatus)
{
gvrTimer += Time.deltaTime;
imgGaze.fillAmount = gvrTimer / totalTime;
}
Ray ray = Camera.main.ViewportPointToRay(new Vector3(0.5f, 0.5f, 0.5f));
if(Physics.Raycast(ray, out _hit, distanceOfRay))
{
if(imgGaze.fillAmount == 1 && _hit.transform.CompareTag("NexScene1"))
{
_hit.transform.gameObject.GetComponent<NexScene1>().SceneSwitcher();
}
}
}
public void GVROn() {
gvrStatus = true;
}
public void GVROff() {
gvrStatus = false;
gvrTimer = 0;
imgGaze.fillAmount = 0;
}
}
public class NexScene1 : MonoBehaviour {
public UnityEngine.UI.Scrollbar obj_scroll_;
public GameObject player;
public void PointEnter()
{
StartCoroutine(TimeToAction());
}
public void PointExit()
{
StopAllCoroutines();
}
public void SceneSwitcher()
{
SceneManager.LoadScene("Page2");
}
void Start () {
}
// Update is called once per frame
void Update () {
}
}
Не фактическая ошибка, а только функция SwitchScene не вызывается в VRGaze
Не ошибка, но консоль говорит:
Рекомендуется использовать GvrPointerPhysicsRaycaster или GvrPointerGrahpicRaycaster сGvrPointerInputModule.