MX Ink 통합
이 애드온은 Logitech MX Ink 펜을 Fusion 프로젝트에 통합하는 방법을 보여줍니다.
또한 특정 오류 상황(예: Meta SDK가 설치되지 않았거나, 펜이 사용 불가하거나, 일부 컴포넌트의 서브클래싱이 필요한 경우 등)을 처리할 수 있도록 수정된 Unity 통합 패키지가 포함되어 있습니다.
구성 요소
HardwareMXPen
HardwareMXPen
컴포넌트는 Logitech 유니티 통합 패키지에 포함된 VrStylusHandler
클래스를 약간 수정한 버전입니다.
주요 기능은 에디터 내에서 MX Ink 펜 존재를 강제로 에뮬레이션 할 수 있게 해주는 것입니다. 두 가지 옵션을 제공합니다:
forceRightHandPen
: true로 설정하면, 실제 하드웨어와 관계없이 에디터 내 오른쪽 컨트롤러가 MX Ink 펜으로 인식됩니다.forcedHandPenIsAController
: 기본적으로 팁 압력 입력은 컨트롤러의 x축 스틱 위치에 대응합니다. 압력이 없을 때 값이 1, 최대 압력 시 값이 0이 됩니다. true로 설정하면 이 논리가 반전되어, 컨트롤러를 쉴 때 무작정 그림을 그리지 않게 할 수 있습니다. false로 설정하면 기본 논리가 적용되어 MX Ink 펜이 예상대로 동작합니다.
HardwareMXPen
은 로컬 펜 감지를 위해 하드웨어 리그에 배치해야 합니다.
VrStylusHandler
처럼 left_touch_controller
와 right_touch_controller
참조가 필요하며, 펜이 감지되면 컨트롤러는 숨겨집니다.
NetworkMXPen
NetworkMXPen
클래스는 LineDrawing 애드온의 NetworkLineDrawer
를 제어합니다.
현재 구현 로직은 다음과 같습니다:
- MX Ink 펜의 압력 또는 팁 버튼이 눌리면 드로잉 포인트를 추가하여 필요한 경우 드로잉/라인을 시작합니다.
- 두 버튼 모두 압력이 0이 되면 현재 라인을 종료합니다.
- 압력 버튼 인접 버튼이 눌리면 현재 드로잉을 종료합니다.
- 스타일러스가 감지되지 않으면 드로잉을 종료합니다.
또한 이 클래스는 MX Ink 펜이 손을 대체할 때 네트워크 리그에서 숨겨야 할 파트를 제어합니다.
NetworkHand
컴포넌트를 사용할 경우, automaticallyDetectNetworkHands
속성을 true로 설정하면 이 구성이 자동화됩니다.
의존성
데모
데모 씬은 Assets\Photon\FusionAddons\MXInkIntegration\Demo\
폴더에 있습니다.
이 데모 씬을 테스트하려면 프로젝트에 Meta 패키지를 설치해야 합니다.
또는 Meta XR 통합 프로젝트를 사용하여 직접 테스트할 수 있습니다.
다운로드
이 애드온의 최신 버전은 무료 XR 애드온 프로젝트에 포함되어 있습니다.
지원 토폴로지
- 공유 모드
변경 기록
- 버전 2.0.2: 의존성 검사 수정
- 버전 2.0.1:
- 프리팹에 콜라이더 추가 및 BlockingContact 호환성 관련 수정
- 피드백 클래스 추가
- 버전 2.0.0: 첫 번째 릴리스