주요 콘텐츠로 건너뛰기
버전: 3.5.x

마운트 및 작업 공간 변환

두 가지 변환 방식이 장치를 애플리케이션 공간에 위치시킵니다. 이 파이프라인을 이해하면 적절한 방식을 선택하는 데 도움이 됩니다.

파이프라인 조정

무대기능설정 방법끈기 있는?
기초축을 재매핑합니다(예: Z축 위쪽 → Y축 위쪽)session.configure.basis — 참조 튜토리얼 08 (HTTP 원격 구성)
변환 적용장치의 물리적 장착 오차(암 위치, 회전, 스케일)configure.mount 또는 configure.preset — 참조 튜토리얼 08 (HTTP 원격 구성)
작업 공간 변환카메라/장면 이동 시 위치 편차commands.set_transform — 참조 튜토리얼 09 (웹소켓 틱별 스트리밍)예 (고정 게시물)

변환 적용

마운트는 장치가 물리적으로 배치되는 위치, 즉 암 오프셋, 방향 및 크기를 나타냅니다. 이는 한 번만 설정되며(또는 사용자가 물리적 구성을 변경할 때), 실행 중에는 거의 업데이트되지 않습니다.

사전 설정(기본 설정)

마운트를 직접 계산하는 대신, 이름이 지정된 사전 설정을 선택하세요:

사전 설정원산지 표시팔을 향하여
defaults기기 베이스앞으로 (팔을 앞으로)
arm_front기기 베이스다음
arm_front_centered워크스페이스 센터다음
led_front기기 베이스LED 측면 전방
led_front_centered워크스페이스 센터LED 측면 전방
custom설명서 — 직접 장착하기

프리셋을 사용하면 마운트, 기준계, 작업 공간의 원점을 한 번에 설정할 수 있습니다.

마운트를 직접 설정하기

{
"inverse3": [{
"device_id": "049D",
"configure": {
"mount": {
"transform": {
"position": { "x": 0.0, "y": 0.0, "z": 0.0 },
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
mount 그리고 preset 서로 배타적이다

두 가지를 같은 메시지에 함께 보내면 모호해지므로 서비스가 이를 거부합니다. 둘 중 하나를 선택하세요: 이름이 지정된 preset (마운트를 자동으로 설정해 주는) 또는 명시적인 mount 변환.

명령어 대 스냅샷 비대칭성

~할 때 전송 마운트에 감싸고, 변환을 적용하세요: { "mount": { "transform": { … } } }. ~때~ 읽기 스냅샷에서 마운트한 결과, 평평합니다: { "mount": { "position": …, "rotation": …, "scale": … } }. 이는 의도된 설계입니다. 명령어는 통합된 command_data 래퍼; 스냅샷 다음 내용을 직렬화합니다 core::transform 직접.

작업 공간 변환

워크스페이스 변환은 마운트 위에 적용되는 런타임 드리프트입니다. 이 기능의 대표적인 사용 사례는 장면 이동으로, 기기가 물리적으로 제자리에 있는 상태에서 애플리케이션 뷰를 이동, 회전 또는 확대/축소하는 것입니다.

마운트 변환과 작업 공간 변환은 모두 지속적입니다. 즉, 서비스는 사용자가 마지막으로 전송한 값을 기억합니다. 두 가지의 차이점은 용도와 성능에 있습니다:

  • Mount는 한 번 설정하면 그대로 유지되도록 설계되었습니다. 이는 물리적 구성을 정의하며, 업데이트 빈도가 낮은 환경에 최적화되어 있습니다.
  • 워크스페이스 변환은 높은 빈도로 스트리밍되도록 설계되었습니다 (예: 카메라 이동 중 매 프레임마다) — 내부 파이프라인은 이러한 업데이트 속도에 최적화되어 있습니다.
{
"inverse3": [{
"device_id": "049D",
"commands": {
"set_transform": {
"transform": {
"position": { "x": 1.0, "y": 0.0, "z": 0.0 },
"rotation": { "x": 0.0, "y": 0.0, "z": 0.0, "w": 1.0 },
"scale": { "x": 1.0, "y": 1.0, "z": 1.0 }
}
}
}
}]
}
크기 변화는 힘의 발생에 영향을 미치며, 대개는 원하는 방식으로 작용합니다

마운트나 작업 공간의 크기를 조정하면 장치가 렌더링하는 힘이 달라집니다. 이는 크기 조정이 침투 깊이 접촉력을 계산하는 데 사용됩니다. 예를 들어, 2x 배율은 침투 깊이를 대략 절반으로 줄여주므로(가상 장면은 기기의 이동 거리에 비해 두 배 더 넓기 때문), 결과적으로 발생하는 힘은 대략 ~에서 느낄 법한 1x반대로, 0.5x 레버의 길이는 힘을 대략 두 배로 증가시킵니다.

일반적으로 이는 원하는 동작입니다. 햅틱 장면에서 화면을 축소하면 자연스럽게 접촉 강도가 약해지고(‘멀어지기’ 때문), 확대하면 강도가 강해집니다. 만약 이것이 원하는 동작이 아니라면(예: 사용자가 화면을 확대하거나 축소할 때 강성이 일정하게 유지되어야 하는 경우), 힘의 증가율을 반비례하도록 조정하여 이를 보정하십시오.

자동 드리프트를 위해 내비게이션 모듈을 사용하세요

지속적인 이동(버블 내비게이션, 속도 제어 드리프트)이 필요한 경우, 다음과 같이 사용하십시오. 탐색 모듈 수동으로 스트리밍하는 대신 set_transform 매 프레임마다 — 물리 엔진, 햅틱 피드백, 작업 공간 경계 설정을 자동으로 처리해 줍니다.