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
- 터치디자이너 timeline
- 터치디자이너 replicator
- touchdesigner GPU
- particleGPU
- touchdesinger
- 파이썬
- 터치디자이너 튜토리얼
- TDableton
- 터치디자이너 에이블톤
- 터치디자이너 강의
- TouchDesigner
- 터치디자이너 인터페이스
- displace
- 터치디자이너 python
- 터치디자이너 interface
- 터치디자이너 list
- 터치디자이너 오퍼레이터
- 파이썬reference
- 터치디자이너
- 파이썬 if
- 터치디자이너 클론
- 터치디자이너 함수
- 터치디자이너 Instancing
- touchdesigner displace
- touchdesigner particle
- 터치디자이너 reference
- ableton live 10
- 터치디자이너 if
- 터치디자이너 파이썬
- 터치디자이너 참조
Archives
- Today
- Total
caLAB
[Htc Vive] VR 컨트롤러 input 본문
728x90
1인칭 시점 움직임
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
public class firstPerspectMove : MonoBehaviour
{
public SteamVR_Input_Sources handType;
public SteamVR_Action_Boolean teleportAction;
public float speed = 0.05f;
public Transform cam;
private float v;
void Update()
{
RotCtrl();
MoveCtrl();
}
// VR이동
void MoveCtrl()
{
if (teleportAction.GetState(handType))
{
v = 1;
}
else if (teleportAction.GetStateUp(handType))
{
v = 0;
}
if (!(v == 0))
{
transform.Translate(RotCtrl() * speed * Time.deltaTime * 0.1f);
}
}
// 회전
public Vector3 RotCtrl()
{
Vector3 dir = cam.transform.localRotation * Vector3.forward;
transform.localRotation = cam.transform.localRotation;
transform.localRotation = new Quaternion(0, transform.localRotation.y, 0, transform.localRotation.w);
return dir;
}
}
3인칭 시점 움직임
Input값으로 단일 버튼 값만 받아오기 때문에 직진 이동만 가능함.
제어를 위한 것으로 다음에 추가적으로 4방향 이동 연구.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Valve.VR;
public class cloneBehaviour : MonoBehaviour
{
public SteamVR_Input_Sources handType;
public SteamVR_Action_Boolean teleportAction;
public SteamVR_Action_Vector2 touchPad;
public Animator anim;
public float speed = 0.05f;
private float v;
void Update()
{
if (teleportAction.GetState(handType))
{
v = 1;
}
else if (teleportAction.GetStateUp(handType))
{
v = 0;
}
if (!( v == 0))
{
transform.Translate(Vector3.forward * speed * Time.deltaTime * 0.1f);
anim.SetFloat("Speed", .15f);
}
else
{
anim.SetFloat("Speed", 0);
}
}
}
728x90
반응형
'Unity > 유니티VR' 카테고리의 다른 글
전시 관리자를 위한 Oculus Quest Link사용방법(feat. 구글 원격데스크탑, Sidequest) (0) | 2020.12.21 |
---|---|
Oculus Quest 컨트롤러 + input 받아오기 (0) | 2020.09.06 |
Oculus Quest 링크 케이블로 유니티에서 개발하기 (1) | 2020.09.01 |
[Oculus Quest] 링크 케이블 구매 (0) | 2020.08.08 |
[Htc Vive] VR 컨트롤러 binding / grab 인터렉션 (0) | 2020.06.10 |
Comments