관리 메뉴

그냥한다

유니티VR-ViveController.cs 본문

유니티

유니티VR-ViveController.cs

hololol 2019. 7. 23. 09:22
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
32
33
34
35
36
37
38
39
40
41
42
43
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
 
public class ViveControllerInput : MonoBehaviour
{
    //입력 소스 정의
    public SteamVR_Input_Sources leftHand = SteamVR_Input_Sources.LeftHand;
    public SteamVR_Input_Sources rightHand = SteamVR_Input_Sources.RightHand;
    public SteamVR_Input_Sources any = SteamVR_Input_Sources.Any;
    public SteamVR_Input_Sources head = SteamVR_Input_Sources.Head;
 
    //액션(트리거 버튼)
    public SteamVR_Action_Boolean trigger = SteamVR_Actions.default_InteractUI;
    public SteamVR_Action_Boolean trackPad = SteamVR_Actions.default_Teleport;
    public SteamVR_Action_Boolean trackPadTouch = SteamVR_Actions.default_TrackpadTouch;
    public SteamVR_Action_Vector2 trackPadPosition = SteamVR_Actions.default_TrackpadPosition;
 
    public SteamVR_Action_Boolean grip = SteamVR_Input.GetBooleanAction("GrabGrip");
    public SteamVR_Action_Vibration haptic = SteamVR_Actions.default_Haptic;
 
    public SteamVR_Action_Boolean headSet
        = SteamVR_Input.GetAction<SteamVR_Action_Boolean>("HeadsetOnHead",true);
 
    void Update()
    {
        if (trigger.GetStateDown(leftHand)) { }
 
        if (trackPadTouch.GetState(any)) { }
 
        Vector2 pos= trackPadPosition.GetAxis(any);
 
        if (grip.GetStateDown(rightHand))
        {
            haptic.Execute(0.2f, 0.2f, 500.5f, rightHand);
        }
 
        if (headSet.GetStateDown(head)) { } //헤드셋을 착용
        else if (headSet.GetStateUp(head)) { } //헤드셋을 미착용
    }
}
 
cs

'유니티' 카테고리의 다른 글

유니티VR - DrawMgr.cs  (0) 2019.07.23
유니티VR - CastEventToUI.cs  (0) 2019.07.23
유니티VR - UI, 레이저 포인터, 텔레포트 기능  (0) 2019.07.22
로그라이크 - Player.cs  (0) 2019.06.25
로그라이크 - Wall.cs  (0) 2019.06.25