250x250
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
Tags
- 터치디자이너 reference
- 터치디자이너 interface
- 터치디자이너 if
- 터치디자이너 파이썬
- touchdesinger
- 파이썬 if
- displace
- touchdesigner displace
- 터치디자이너
- 터치디자이너 Instancing
- 터치디자이너 강의
- 파이썬
- 터치디자이너 에이블톤
- particleGPU
- ableton live 10
- 터치디자이너 replicator
- 터치디자이너 인터페이스
- TDableton
- 터치디자이너 참조
- 터치디자이너 클론
- 터치디자이너 함수
- touchdesigner GPU
- 터치디자이너 list
- 터치디자이너 timeline
- 파이썬reference
- 터치디자이너 오퍼레이터
- 터치디자이너 python
- TouchDesigner
- touchdesigner particle
- 터치디자이너 튜토리얼
Archives
- Today
- Total
caLAB
Oculus Quest 컨트롤러 + input 받아오기 본문
728x90
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.XR;
public class handPresence : MonoBehaviour
{
public InputDeviceCharacteristics controllerCharacteristics;
public List<GameObject> controllerPrefabs;
private InputDevice targetDevice;
private GameObject spawnedController;
void Start()
{
List<InputDevice> devices = new List<InputDevice>();
InputDevices.GetDevicesWithCharacteristics(controllerCharacteristics, devices);
//input devices 체크 debug
foreach(var item in devices)
{
Debug.Log(item.name + item.characteristics);
}
if(devices.Count > 0)
{
targetDevice = devices[0];
//targetDevice의 이름과 동일한 controller를 찾는다.
GameObject prefab = controllerPrefabs.Find(controller => controller.name == targetDevice.name);
if(prefab) //prefab이 존재할 때
{
spawnedController = Instantiate(prefab, transform);
Debug.Log(prefab);
}
else //prefab이 controller를 찾지 못할 때
{
Debug.LogError("Did not find corresponding controller model.");
spawnedController = Instantiate(controllerPrefabs[0], transform);
}
}
}
void Update()
{
//input값 debug
if (targetDevice.TryGetFeatureValue(CommonUsages.primaryButton, out bool primaryButtonValue) &&
primaryButtonValue)
Debug.Log("Pressing Primary Button");
if (targetDevice.TryGetFeatureValue(CommonUsages.trigger, out float triggerValue) &&
triggerValue > 0.1f)
Debug.Log("Triggerr pressed" + triggerValue);
if (targetDevice.TryGetFeatureValue(CommonUsages.primary2DAxis, out Vector2 primary2DAxisValue) &&
primary2DAxisValue != Vector2.zero)
Debug.Log("Primary TouchPad" + primary2DAxisValue);
}
}
728x90
반응형
'Unity > 유니티VR' 카테고리의 다른 글
[유니티 VR 네트워크 개발] 유니티 VR클럽 개발기(feat. XR toolkit 세팅) (0) | 2021.09.26 |
---|---|
전시 관리자를 위한 Oculus Quest Link사용방법(feat. 구글 원격데스크탑, Sidequest) (0) | 2020.12.21 |
Oculus Quest 링크 케이블로 유니티에서 개발하기 (1) | 2020.09.01 |
[Oculus Quest] 링크 케이블 구매 (0) | 2020.08.08 |
[Htc Vive] VR 컨트롤러 binding / grab 인터렉션 (0) | 2020.06.10 |
Comments