paint-brush
Presence Platform Interaction SDK 시작하기: 손 추적~에 의해@shiaart
24,233 판독값
24,233 판독값

Presence Platform Interaction SDK 시작하기: 손 추적

~에 의해 Art Sh4m2023/07/31
Read on Terminal Reader
Read this story w/o Javascript

너무 오래; 읽다

Presence Platform은 가상 현실 환경에서 공유된 존재감과 상호 작용을 생성하도록 설계되었습니다. VR 헤드셋을 사용하여 사람들이 몰입형 가상 공간에서 서로 연결하고, 상호 작용하고, 참여할 수 있게 해줍니다. 손 추적은 VR 게임 개발의 기본 요구 사항 중 하나입니다. 우리는 경험과 같은 손 추적 게임을 설정, 구축 및 출시할 것입니다.
featured image - Presence Platform Interaction SDK 시작하기: 손 추적
Art Sh HackerNoon profile picture
0-item
1-item
2-item

이전 게시물에서 Quest 2 장치를 대상으로 한 첫 번째 Unity 프로젝트를 성공적으로 만들었으므로 이제 Presence Platform을 통해 Meta가 제공하는 가장 강력한 기능 세트 중 하나에 대한 통찰력을 얻게 될 것입니다.

메타의 프레즌스 플랫폼이란?

Presence Platform은 가상 현실 환경에서 공유된 존재감과 상호 작용을 생성하도록 설계되었습니다 . VR 헤드셋을 사용하여 사람들이 몰입형 가상 공간에서 서로 연결하고, 상호 작용하고, 참여할 수 있도록 해줍니다.


Meta의 Presence Platform의 특징과 기능은 다음과 같습니다.


  1. 아바타 시스템: Presence Platform을 통해 사용자는 가상 세계에서 자신을 나타내는 디지털 아바타를 만들고 맞춤 설정할 수 있습니다. 이러한 아바타는 사용자의 실제 움직임, 표정, 몸짓을 모방하여 존재감과 사회적 상호 작용을 향상시킬 수 있습니다.
  2. 사회적 상호 작용: 사용자는 공유된 가상 환경에서 친구 및 다른 사람들을 만나고 상호 작용할 수 있습니다. 그들은 게임, 가상 이벤트 참석, 비디오 시청 등 다양한 활동에 함께 참여할 수 있습니다.
  3. 공간 오디오: 플랫폼에는 공간 오디오가 포함되어 있습니다. 즉, 가상 환경의 사운드는 위치 기반입니다. 이를 통해 사용자는 실제 세계처럼 특정 방향에서 나오는 소리를 들을 수 있으므로 더욱 현실적이고 몰입감 넘치는 오디오 경험을 얻을 수 있습니다.
  4. 손 추적: Presence 플랫폼은 손 추적 기술을 지원하므로 사용자는 컨트롤러 없이도 VR에서 손과 손가락을 직접 사용할 수 있습니다. 이는 상호 작용을 더욱 자연스럽고 직관적으로 만듭니다.
  5. 교차 플랫폼 지원: 이 플랫폼은 다양한 Oculus VR 헤드셋에서 작동하도록 설계되어 다양한 장치를 사용하는 사용자가 서로 원활하게 참여하고 상호 작용할 수 있습니다.
  6. 콘텐츠 생성 도구: Presence Platform은 개발자를 위해 VR 애플리케이션, 게임 및 경험을 만들고 게시할 수 있는 도구와 API를 제공하여 가상 콘텐츠의 번창하는 생태계를 활성화합니다.


손 추적으로 시작하기

보시다시피 Presence Platform은 하위 시스템/기능의 포괄적인 세트이며 각각에 대해 자세히 다룰 것입니다. 하지만 시작하려면 VR 게임 개발을 위한 기본 요구 사항 중 하나로 손 추적부터 시작하겠습니다. , 경험과 같은 손 추적 게임을 구축하고 실행합니다.


https://docs.unity3d.com/


완벽한 출발점은 oculus-samples repo 에서 제공하는 Unity-FirstHand 경험입니다.

다시 한 번 개발 환경 설정에 대한 이전 게시물을 참조하여 다양한 종속성이 설치되어 있는지 확인하십시오.


Git LFS가 설치되어 있는지 확인하고 다음 명령을 실행하십시오.

 git lfs install


그런 다음 "코드"를 사용하여 repo를 복제하고 Github 데스크탑에서 열고 다음 명령을 실행하십시오.

 git clone https://github.com/oculus-samples/Unity-FirstHand.git


실제 프로젝트 파일은 모두 자산 → 프로젝트에 있습니다. 이 폴더에는 Interaction SDK 자체를 제외하고 샘플을 실행하는 데 필요한 모든 스크립트와 자산이 포함되어 있습니다. 이 프로젝트에는 Interaction SDK를 포함한 Oculus SDK v41이 포함되어 있습니다. Interaction SDK는 [Assets/Oculus/Interaction]{Assets/Oculus/Interaction)에서 찾을 수 있습니다.


Unity 에디터의 FirstHand


필요한 모든 종속성을 설치하고 Quest 장치에서 실행되도록 빌드를 구성하면 편집기에서 위와 비슷한 내용을 얻게 됩니다.


빌드 및 실행

Mac을 사용하는 경우 파일 → 빌드 설정으로 이동하세요.

이전 게시물의 지침을 따르고 장치를 연결한 경우 빌드 설정에 다음과 같은 내용이 표시됩니다.

설정 빌드 및 실행

Build and Run(빌드 및 실행)을 클릭하고 Unity에서 앱이 연결된 Quest 장치에 배포된다는 메시지를 빌드하고 기다립니다.


달리기 체험

사용자 정의 및 변경

이 예제를 가지고 플레이해보고 컴포넌트와 스크립트를 사용자 정의하여 내부적으로 어떻게 작동하는지 알아보고 Unity 편집기의 프로젝트 섹션으로 이동하여 프로젝트 디렉토리 계층 구조를 확장해 보시기 바랍니다.


우리는 LazerProjectile을 사용자 정의할 것입니다:


프로젝트 구조

 public class LazerProjectile : ActiveStateObserver { [SerializeField] Transform _target; [SerializeField] GameObject _effect; [SerializeField] float _rayCastDelay = 0.5f; [SerializeField] float _fadeOutTime = 0.1f; [SerializeField] float _delayBetweenShots = 0.5f; [SerializeField] AudioTrigger _chargeUp; [SerializeField, Optional] AudioTrigger _chargeUpComplete; protected override void Update() { base.Update(); Vector3 endPos = Vector3.Lerp(_target.position, transform.position + transform.forward * 20, 5 * Time.deltaTime); _target.position = endPos; } //...... }


Raycast 지연을 늘리고 교체하여 헤드셋에서 앱을 테스트해 보겠습니다.


 float _rayCastDelay = 0.1f;

에게

 float _rayCastDelay = 0.5f;


작동 방식은 다음과 같습니다!

데모


직접 시도해 보고 핸드 트래킹을 사용하여 무엇을 만들고 싶은지 알려주세요.