다음을 통해 공유


Interactable을 잡고 throw합니다.

개요

Mesh Interactables는 런타임에 개체 또는 아바타 동작과의 상호 작용을 정의하는 Unity 스크립트를 사용하여 개체를 구성하는 시스템입니다. 스크립트는 XRI 상호 작용기를 사용하여 상호 작용할 수 있는 개체의 속성을 정의합니다. Mesh 도구 키트에는 정의할 수 있는 다양한 개체 형식의 스크립트가 포함되어 있습니다. 프로젝트가 실행되면 개체 또는 아바타가 정의된 대로 동작하는 데 필요한 모든 프리팹 및 설정을 설정합니다. 상호 작용 가능한 개체가 메시 앱에서 실행될 때의 모양과 느낌에 대한 대략적인 미리 보기를 보려면 메시 에뮬레이션을 사용하여 재생 모드를 설정해야 합니다. 메시 앱에 표시되는 IK 기능은 메시 에뮬레이션을 사용하는 재생 모드에서 사용할 수 없습니다.

메시 상호 작용 가능 설정 구성 요소

개체를 상호 작용할 수 있도록 하려면 Mesh Interactable Setup 구성 요소를 추가해야 합니다.

  1. 계층 구조에서 개체를 선택합니다.

  2. 검사기에서 구성 요소 추가 단추를 클릭한 다음 메시 상호 작용 가능 설정을 선택합니다.

    메시 상호 작용 가능 설정 구성 요소가 선택된 구성 요소 추가 대화 상자의 스크린샷

구성 요소는 기본 Interactable Type 속성이 Basic으로 설정된 상태로 추가됩니다. (개체 형식은 다음 섹션에서 설명합니다.)

개체 유형이 Interactable로 설정된 Mesh Interactable 설치 구성 요소의 스크린샷.

모두 동일하게 동작하는 개체 그룹에 대한 속성은 부모 Mesh Interactable 설치 구성 요소를 사용하여 설정할 수 있습니다. 속성은 각 자식 개체에 Mesh Interactable Body 구성 요소를 자동으로 추가하여 런타임에 강체가 있는 모든 자식 에 적용됩니다. 메시 상호 작용 가능 본문을 수동으로 추가하여 상호 작용 이벤트와 같은 Visual Scripting과 메시 상호 작용 가능 개체를 사용하거나 시각적 스크립트를 통해 매니풀 가능한 대상 변환을 수정할 수 있습니다.

메시 상호 작용 가능한 본문 구성 요소의 스크린샷입니다.

참고:

  • 메시 상호 작용 가능한 본문 은 상호 작용 가능한 각 상호 작용이 독립적으로 작동하도록 허용합니다.

  • 물리학을 사용하도록 설정하려면 개체에 강체를 추가해야 합니다.

도움말 가져오기

Mesh Interactables 설정메시 상호 작용 가능한 본문 구성 요소에서 "?" 단추를 클릭하여 단추가 연결된 기능에 대한 도움말이 포함된 Mesh 설명서의 페이지로 이동할 수 있습니다.

상황에 맞는 도움말 단추가 강조 표시된 메시 상호 작용 가능 구성 요소의 스크린샷

상호 작용 가능한 개체 형식

다음과 같은 네 가지 개체 유형이 있습니다.

  • 기본
  • 매니풀 가능
  • 장착 가능
  • Throw 가능

개체 형식을 선택하려면 다음을 수행합니다.

  • Mesh Interactable Setup 구성 요소에서 상호 작용 가능한 형식 드롭다운을 클릭한 다음 네 가지 옵션 중 하나를 선택합니다.

메시 상호 작용 가능한 본문 구성 요소의 개체 유형 메뉴 옵션 스크린샷입니다.

기본

위에서 설명한 대로 기본 형식입니다. 사용자가 개체를 마우스로 가리키거나 선택하면 콜백을 호출할 수 있으며 다른 스크립트가 반응할 수 있습니다. 예를 들어 다른 개체를 사용하도록 설정하는 데 사용할 단추가 있는 경우 OnSelected 콜백이 있는 단추에 이 Interactable 형식을 추가하여 다른 개체를 사용하도록 설정합니다. 단추는 이 형식과 충돌체를 추가하여 완전히 상호 작용할 수 있습니다. 다른 작업을 수행할 필요가 없습니다.

참고: 다른 세 가지 상호 작용 가능한 형식인 매니풀 가능, 장착 가능 및 Throw 가능(아래에 설명됨)은 기본 형식과 동일한 특성을 가지지만 추가 기능이 있습니다.

기본 개체 형식 설정에 대해 자세히 알아보기

매니풀 가능

이 형식의 개체를 멀리서 이동할 수 있습니다. 특히 런타임에 변환을 조작하고 상호 작용기 광선 끝에 있는 공간을 통해 이동합니다. 바로 가기 컨트롤을 사용하여 개체를 회전하거나 변환할 수 있습니다. Mesh 앱에서 개체를 조작하려면 아바타 손의 IK 설정을 켜서 개체를 따를 수 있습니다. 매니풀 가능한 개체에는 딱딱한 표시가 필요하지 않지만 개체에 물리학 기능이 있도록 하려면 개체를 추가해야 합니다.

커피 포트가 조작되는 메시 환경의 스크린샷입니다.

Manipulable 개체 형식 설정에 대해 자세히 알아보기

장착 가능

이 형식의 개체를 잡을 수 있습니다. 메시 용어로, 우리는 당신이 당신의 아바타의 손에 개체를 "장비"라고 말한다. PC에 개체를 장착하려면 개체를 클릭하거나 F 키를 누른 상태에서 개체를 선택합니다. 퀘스트에 개체를 장착하려면 개체를 선택하는 동안 '그립' 단추를 누릅니다. 장착 가능한 개체에는 개체가 장착된 동안 아바타의 팔 포즈에 대한 IK 대상에 대한 설정이 포함되어 있습니다. IK 대상은 아바타의 가슴에서 오프셋입니다. 개체를 보유하거나 활성화하는 동안 손이 어디로 가는지 결정합니다.

장비 가능 개체 유형 설정에 대해 자세히 알아보기

Throw 가능

이름에서 알 수 있듯이 이 형식의 개체를 잡고 throw할 수 있습니다. 마우스를 잡은 후 마우스 왼쪽 단추를 길게 눌러 조준 모드로 전환할 수 있습니다. 이렇게 하면 아바타의 팔이 마우스 대상을 따를 수 있습니다. 개체를 throw하려면 마우스 왼쪽 단추를 놓습니다.

다트를 잡고 읽을 수 있는 다트 게임의 스크린샷.

Throw 가능한 개체 유형 설정에 대해 자세히 알아보기

개체를 시각적 스크립팅과 상호 작용 가능하게 만들기

모든 Interactables 구성 요소에는 시각적 스크립팅에서 사용할 수 있는 상호 작용 속성과 메서드가 있으므로 함께 작동할 수 있는 방법은 무제한입니다. 이를 활용하려면 OnStateChanged 노드에 연결된 OnHovered 또는 OnSelected와 같은 사용 가능한 속성에 대한 노드가 있는 스크립트 그래프 내에서 Mesh Interactable Body 구성 요소를 사용합니다. 예를 들어 다음 스크립트 그래프는 단추를 누르는 동안 실린더를 사용하도록 설정하고 단추를 놓을 때 사용하지 않도록 설정합니다. 이 단추는 스크립트와 충돌기를 추가하여 완전히 상호 작용할 수 있습니다. 다른 작업을 수행할 필요가 없습니다.

메시 상호 작용 가능한 본문이 있는 스크립트 그래프의 스크린샷이 선택된 노드입니다.

시각적 스크립팅 속성

모든 상호 작용 가능한 본문의 경우:

  • IsHovered(읽기 전용) – 로컬 아바타가 개체를 가리키고 있는지 여부입니다.
  • IsSelected(읽기 전용) – 아바타가 개체를 선택하는지 여부입니다. MeshBrowser에서 실행하는 경우 네트워크로 연결됩니다.
  • IsSelectedLocally – 로컬 아바타가 개체를 선택하는지 여부입니다.
  • IsMine(읽기 전용) – 개체를 선택하거나 장착할 마지막 아바타의 경우 True입니다.

장비의 경우:

  • EquippedAt(읽기 전용) - 이 개체가 장착된 위치 - 없음, DefaultHand, RightHand, LeftHand. MeshBrowser에서 실행하는 경우 네트워크로 연결됩니다.
  • EquipTime(읽기 전용) – 이 개체가 장착된 시간입니다. MeshBrowser에서 실행하는 경우 네트워크로 연결됩니다.
  • IsActivated(읽기 전용) – 이 개체가 활성화된 상태인 경우 throw할 수 없는 개체에 대해서만 유효합니다. MeshBrowser에서 실행하는 경우 네트워크로 연결됩니다.
  • IsAiming(읽기 전용) – 이 개체를 보유하는 동안 로컬 아바타가 조준 상태에 있는 경우 throw 가능한 경우에만 유효합니다.
  • IsThrowing(읽기 전용) – 로컬 아바타가 개체를 적극적으로 throw하는 경우 throw 가능한 경우에만 유효합니다.
  • IsEquipped(읽기 전용) (읽기 전용) – 이 개체가 현재 아바타에 의해 장착되어 있는 경우. MeshBrowser에서 실행하는 경우 네트워크로 연결됩니다.
  • IsThrowable – 이 개체를 throw할 수 있는 경우입니다.
  • ThrowVelocity – 개체가 해제될 때 throw할 속도입니다.

대상 위치를 수정하려면 다음을 수행합니다.

  • 대상 위치(읽기 전용): 메시 상호 작용 가능 속성에서 기본 힘 모드를 사용하는 경우 본문의 대상 위치
  • 대상 회전(읽기 전용): 메시 상호 작용 가능 속성에서 기본 힘 모드를 사용하는 경우 본문의 대상 회전
  • 광선 적중 위치(읽기 전용): 본문에 있는 상호 작용기의 광선 캐스트 적중 위치
  • 광선 적중 회전(읽기 전용): 광선 방향 주위의 상호 작용기 회전
  • 수정된 대상 위치(읽기 및 쓰기) : 시각적 스크립트에서 새 대상 위치를 설정하는 데 사용됩니다. 그러면 기본 대상 위치가 재정의됩니다. 이 속성을 재정의하는 것이 가장 좋습니다.
    • 상태 변경 시 대상 위치 사용. 이 경우 시각적 스크립트는 상호 작용기와 새 위치가 변경된 경우에만 흐름을 실행합니다.
    • 늦은 업데이트 시 사용. 모든 프레임에서 대상 변환을 변경해야 하는 경우 새 대상 변환을 다음 프레임에서 즉시 사용할 수 있도록 늦은 업데이트에서 변경합니다.
  • 수정된 대상 회전(읽기 및 쓰기): 시각적 스크립트에 의해 새 대상 회전을 설정하는 데 사용됩니다. 그러면 기본 대상 위치가 재정의됩니다.

다음 단계