
VR 밀쳤을 때 반대방향으로 날라가는 시스템, 즉 작용 반작용 개념
힘껏 벽을 밀치면 뒤로 밀려나갑니다 코드는 수정해서 나중에 올릴 예정
- Unity/VR
- · 2022. 10. 27.

유니티 VR 수영
- Unity/VR
- · 2022. 10. 25.

오큘러스 터치 컨트롤러 버튼 명칭
- Unity/VR
- · 2022. 10. 23.
}
기존 PokeInteractor같은 경우 한 손가락으로만 Poke하는 인터렉션이 가능하다 나는 5손가락이 다 가능하게끔 했다 핸드트래킹 기술을 이용해 다섯개의 손가락을 사용해 키보드를 두드릴 수 있다!
예전부터 해보고 싶었던 기능인데 드디어 하게 돼서 매우 기쁘다 먼저 HandGrabPoseTool이라는 씬을 찾도록 한다 이거는 OVR에서 제공하는 씬으로 Hand Pose를 저장하는데 도움을 주는 유용한 툴 씬이다 이거는!!!! 구글링 or 유튜브에서 HandPose저장하는 방법을 찾지못해서 내가 열심히 이것저것 찾아보다가 발견한 씬이다!! 매우 감사하도록!!ㅎ_ㅎ 먼저 HandPose를 녹화하려면 위와 같은 과정을 거쳐야 한다고 한다 첫 번째로, 오브젝트가 필요하며 그 오브젝트에는 rigidbody와 grabbable 컴포넌트가 반드시 부착되어 있어야 한다( + Collider도 -> 필자는 콜라이더 빼먹어서 한참 애먹음) 아 그리고 반드시 모델을 스케일이 (1,1,1)로 맞추어져 있어야지 안그러면 ..
OculusInter.....이놈을 하이러키창에 끌어다 놓고 포지션을 (0,0,0)으로 맞추자 다음 Poses라는 빈 게임오브젝트를 하나 생성한다 Poses의 자식으로 빈 오브젝트 Bunny Right라는 녀석을 생성한다 이 녀석을 이용해서 포즈를 기록할 것이다 Shape Recognizer Active State컴포넌트를 부착해준다 Hand Ref 컴포넌트르 부착해주고 Shape Recognizer Active State 컴포넌트의 Hand에는 Hand Ref를 할당해준다 RightHand를 끌어다가 놓는다 Hand Pose라는 빈 폴더를 하나 생성해주고 [Create] - [Oculus] - [Interaction] - [SDK] - [Pose Detection] - [Shape] 를 순서대로 클릭해..
이번 시간엔 Leg Ik 설정하는 방법에 대해 알아보겠다 먼저 모델의 Animation Type을 Humanoid로 바꿔준다 그다음 믹사모같은데에서 Walk관련 애니메이션을 하나 다운받아준다 그 애니메이션 또한 휴머노이드로 바꿔주고 캐릭터애니메이션을 넣어준다 이렇게 그다음으로 새로운 아바타 마스크를 만들어주고 상체부분을 꺼준다 Base Layer에 방금 만든 아바타 마스크를 집어넣어준다 IKPass도 체크해준다 다음으로 VRLegIK 스크립트를 하나 생성해준다 using System; using System.Collections; using System.Collections.Generic; using UnityEngine; public class VRFootIK : MonoBehaviour { priva..
패키지 매니저에 들어가서 Animation Rigging 패키지를 다운받는다 준비해둔 휴머노이드 모델에다가 Rig Builder를 추가하고 Animation을 삭제해준다 Bone Renderer를 추가해주고 모델의 Root부분부터 맨 아래까지 다 Transforms안에다가 넣어주면 된다 IK를 만들기 위한 사전 작업으로 빈오브젝트 VR Contraints를 하나 생성해준다음 Rig컴포넌트를 부착해준다 그다음으로 아까 만들어둔 Rig Builder 컴포넌트에 방금 생성한 VR Contraints컴포넌트를 넣어준다 다음으로 VR Contraints자식으로 빈 오브젝트 Right Arm Ik를 하나 만들어주고 거기에 Two Bone IK Contraints 컴포넌트를 만들어준다 Root, Mid , Tip 각..
그냥 간단하게 만들어봄 제목 뒤틀린 차원의 열쇠 보는 방향에 따라 열쇠 Room이 보일 수도 안보일 수 있음 힌트로 바닥에 빨간 라이트를 비춤
학창 시절 분필가지고 놀고 싶지만 분필가루가 날라다니는걸 극도로 싫어해서 갖고 놀지 못했다...(Because 결벽증~) 아쉬운 마음으로나마 VR에서 분필을 가지고 놀아보자! Plane하나를 생성해서 작은 사이즈로 조정해준다음 자식으로 Camera하나를 생성해준다 카메라에 Audio Source는 필요없으므로 삭제해주고 Projection을 Orthographic으로 바꿔주고 Size 0.5 Near -0.2, Far 0.01로 바꿔준다(이건 사용자 설정에 맞게 컨트롤 해줘야 한다) 하나를 생성해주고 Camera에 Output Texture에 붙여준다 마커를 갖다대면 이렇게 빨간 점이 생기는데 이 점을 마커에 위치의 맞게 설정해주어야 한다(카메라의 각도를 돌려가며 맞추면 됨) 다음으로 카메라의 Backg..
힘껏 벽을 밀치면 뒤로 밀려나갑니다 코드는 수정해서 나중에 올릴 예정
먼저 Door 오브젝트와 빈오브젝트인 Pivot오브젝트를 생성해준다.Pivot오브젝트는 문의 Pivot에 놓는다. Pivot설정할 때 V누르고 하면 피봇 설정하기 매우 편하다.Door 오브젝트에 One Grab Rotate Transfomer컴포넌트와 Rigidbody를 만들어준다.각도를 설정해줘야 하는데, Constaints를 열어 설정해주면 된다(Pivot 오브젝트 Rotation을 돌리며 확인)이때 One Grab Rotate Transformer는 Grabbable의 One Grab Transformer에 할당해줘야 한다 + 추가돌리고자 하는 객체에는 One Grab Rotate Transformer와 Rigidbody함께!잡고 싶은 핸들에는 콜라이더만!그리고 자식 오브젝트 하나 만들고 거기에 ..
첫 번째 방법, Oculus Developer Hub를 이용하는 방법 페이스북 아이디를 만듭니다. (있으면 안만들어도 됩니다) 핸드폰에 Oculus앱을 설치합니다. 컴퓨터에 Oculus Developer Hub를 설치합니다. 핸드폰 및 컴퓨터 세팅 핸드폰 오큘러스앱을 실행하신 후 블루투스를 켜서 퀘스트2와 연결해줍니다. 이때 중요한 점, 세팅하고자 하는 Oculus Quest2의 전원 및 블루투스도 켜져있는 상태여야합니다. 핸드폰 오큘러스 앱의 개발자 모드를 켜줍니다. 다음은 PC의 Oculus Developer Hub를 킵니다. PC Oculus Developer Hub에 연결된 기기가 없다면 위와 같은 화면이 나올 것입니다. 새로운 기기를 추가하는 방법으로는 우측 상단 버튼을 눌러줍니다. 본인 기기의..
오늘은 인벤토리 인터렉션을 구현해보겠다 먼저 빈 GameObject를 생성하고 Inventory라고 이름을 바꿔주자 자식으로 Title Canvas를 생성하고 거기에 이미지를 생성해 상단 인벤토리를 표시한다 그 다음으로 자식 Slot(빈 게임오브젝트)들을 생성한다 다음 캔버스를 생성하고 캔버스에 이미지를 추가한다(사이즈는 0.001이 대부분인듯) 그다음 위치에 맞게 설정한다 ( 위 방식대로 안하고 원하는 방식으로 하면 된다 ) Item, Slot, OVR Grabbale 스크립트를 작성해보자 Item 스크립트 작성법이다 isSlot은 현재 슬롯에 들어가 있는지 판별하는 변수이다 slotRotation 같은 경우 슬롯에 집어넣었을 때 똑바로 집어넣기 위함이다 currentSlot은 아이템이 들어가 있는 슬..
Ray Interator를 사용하는 방법을 알려주겠다~ 일단 Ray Interactor을 Input OVR 프리팹의 각 해당하는 Controller에 넣어주고 Ref을 할당해준다. 그리고 드라이버에(Driver)도 추가해준다.(OVRPlayerController에 따로 더 추가할건 없다) 그다음으로 상호작용할 오브젝트를 생성하고 Ray Interactable컴포넌트를 부착해준다. Grabbable 스크립트와 비슷하다, 콜라이더를 할당해주면 끝이다.(Pointable Element에 추가하지 않아야함) 다음으로 Interactable Unity Event Wrappaer를 생성해준다. (가끔 할당되지 않는 경우가 있던데 Mesh가 없으면 안되는 것 같다.) Interactable Unity Event Wr..
💡 첫 번째, Asset Store에서 Oculus Integration을 Import 💡 두 번째, Project Setting 설정 동그라미 1번에서 Texture Compression 방식을 ASTC로 선택해 줍니다. ASTC는 텍스처 압축 방식 중 하나입니다. 형식 설명 2k RGBA 용량 (기본설정) 지원 OS RGBA 무압축 16 MB All ETC1 구형 안드로이드 압축형식 2 MB 안드로이드 ETC2 유니티의 기본 안드로이드 압축형식. OpenGL 3.0 이상 4 MB 안드로이드 PVRTC 유니티의 기본 iOS 압축형식 2 MB iOS ASTC 최신기기전용 압축형식 1.8 MB 안드로이드, iOS ASTC가 압도적으로 좋은 품질과 적은 용량을 사용하지만 유니티에서 기본설정이 아직도 ETC2..