Я разрабатываю приложение VR для Oculus Rift в Unity (4.6.5f1), которое в основном представляет собой пошаговое руководство по зданию. У меня есть сцена меню, в которой есть кнопки, которые можно нажимать, чтобы перейти в различные места в здании.
Что я не могу получить, так это использовать курсор для нажатия на эти кнопки. Мышь связана с движением головы Oculus Rift и не отображается на экране, когда приложение используется. Он просто перемещает изображение в гарнитуре.
Я попытался создать 3D-курсор, который работает и может нажимать кнопки, но тогда кнопки не делают того, что должны делать, то есть переходят к следующей сцене. Кнопки работают отлично, когда это простая сцена без какой-либо из операционных камер и т. Д.
Я также пробовал актив «Курсор мирового пространства» (http://www.makeorbreakgames.com/world-space-cursor/), который делает то же самое - будет нажимать кнопки, но тогда они не будут работать.
Что еще мне нужно сделать, чтобы курсор полностью взаимодействовал с кнопками?
Это код на кнопках для перехода пользователя к следующей сцене при нажатии:
using UnityEngine;
using System.Collections;
public class LoadOnClick : MonoBehaviour {
public GameObject loadingImage;
public void LoadScene(int level)
{
loadingImage.SetActive(true);
Application.LoadLevel(level);
}
}
Код на курсоре (не в курсоре мировой сцены) - этот курсор затем связывается с системой событий.
using UnityEngine;
using UnityEngine.UI;
using System.Collections;
public class IgnoreRaycast : MonoBehaviour, ICanvasRaycastFilter
{
public bool IsRaycastLocationValid(Vector2 sp, Camera eventCamera)
{
return false;
}
}
А в системе событий у меня есть LookInputModule, который довольно длинный, но его можно увидеть здесь: Ссылка на Dropbox