Использование курсора в приложении виртуальной реальности для нажатия кнопок

Я разрабатываю приложение 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


person Aimee McCabe    schedule 10.06.2015    source источник
comment
Не используйте тег единства, поскольку он предназначен для других целей.   -  person Lex Li    schedule 10.06.2015


Ответы (2)


Просто используйте кнопки плавких предохранителей - когда вы смотрите на одну из них, отображается индикатор выполнения. Если вы не перестанете смотреть на кнопку, пока полоса не заполнится, кнопка активируется. Сейчас это довольно стандартно для VR.

person K.L.    schedule 13.07.2015

Я написал руководство для блога, в котором показано, как создавать интерактивные элементы пользовательского интерфейса и объекты трехмерной сцены в Unity VR:

VR Gaze Input

person peterept    schedule 29.07.2015
comment
эта страница сейчас 404, у вас есть обновленная ссылка? Благодарность - person steveh; 20.12.2016