【Unity(C#)】OculusIntegration을 사용하여 VR 공간에서 Slider를 조작
5428 단어 슬라이더OculusQuestUnityC#VR
목적
VR 공간 내에서 슬라이더의 UI를 조작하여 게임 난이도 설정
라는 것이 이번 목적입니다.
이 기사에서는 VR 공간 내에서 슬라이더의 UI를 조작의 부분을 설명합니다.
데모
실제로 만든 것이 여기입니다.
외형은 두고, 기능으로서는 완성입니다.
OculusIntegration 설정
①OVRInputModule 설정
Create Empty
에서 GameObject를 생성하고 OVRInputModule
를 Add Component 합니다.설정 항목으로는 3개소만 있습니다.
이번에는 집게 손가락 트리거로 조작하는 설정으로하고 있습니다.
커서의 위치는 나중에 설명합니다.
②Cursor 설정
그런 다음 커서 설정입니다.
Create Empty
에서 GameObject를 생성하고 LaserPointer
를 Add Component 합니다.같은 개체에
LineRenderer
또한 Add Component합니다.그리고, LineRenderer가 너무 굵기 때문에 Width를 0.03정도로 했습니다.
원하는대로 material을 설정하여 레이저 색상을 변경할 수 있습니다.
이번 데모에서는 커서는 표시하지 않지만,
필요한 경우
CursorVisual
좋아하는 커서(게임 오브젝트)를 부착하면 OK입니다.③OVRRaycaster 추가
Canvas 에
OVRRaycaster
를 Add Component합니다.이제 Canvas의 자식 UI에 대한 작업이 가능합니다.
원래 있다
GraphyicRaycaster
(은)는 지워 버릴 수 있습니다.설정 완료!
이제 더 이상 UI를 조작할 수 있습니다.
OculusIntegration 신이군요.
코드
슬라이더의 값을 취득하는 메소드,
GetLevel
를 준비합니다.슬라이더에 부착
using UnityEngine;
using UnityEngine.UI;
public class LevelGetFromSlider : MonoBehaviour
{
Slider levelSlider;
void Start()
{
levelSlider = this.gameObject.GetComponent<Slider>();
}
public int GetLevel()
{
return (int)levelSlider.value;
}
}
Text에 연결
using UnityEngine.UI;
using UnityEngine;
public class LevelText : MonoBehaviour
{
[SerializeField]
LevelGetFromSlider _levelGetFromSlider;
Text levelText;
void Start()
{
levelText = this.gameObject.GetComponent<Text>();
}
public void LevelTextChange()
{
levelText.text = _levelGetFromSlider.GetLevel().ToString();
}
}
다음은 텍스트 측에서
On Value Changed
에 등록하는 메소드내에서 이전의 GetLevel
를 사용합니다.On Value Changed
라는 것은 Slider Component 에 준비되어 있는 이벤트 핸들러입니다.이미지처럼 등록하여 사용합니다.
이제 Slider 값이 변경되면 텍스트도 변경됩니다.
Editor상에서 Slider의 Value를 직접 편집해도 반영되지 않으므로 주의입니다.
Reference
이 문제에 관하여(【Unity(C#)】OculusIntegration을 사용하여 VR 공간에서 Slider를 조작), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/OKsaiyowa/items/5580dc23414bc3aff24e텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)