본문으로 이동

편집 및 작업 공간 변환

두 가지 변환을 통해 장치를 애플리케이션 공간 내에 배치합니다. 처리 과정을 이해하면 올바른 변환을 선택하는 데 도움이 됩니다.

좌표 처리 체인​

에타프역할이를 어떻게 정의할까계속되나요?
기본축을 재설정합니다(예: Z축이 위쪽 → Y축이 위쪽).session.configure.basis — 보기 튜토리얼 08 (HTTP 원격 구성)네
편집 변환장치의 물리적 장착 오차 (암 위치, 회전, 배율)configure.mount ou configure.preset — 보기 튜토리얼 08 (HTTP 원격 구성)네
업무 공간의 변화카메라 또는 씬의 내비게이션 편차commands.set_transform — 보기 튜토리얼 09 (매 사이클마다 WebSocket을 통한 실시간 스트리밍)Oui (지속적)

편집 변환​

설정 정보는 장치의 물리적 위치, 즉 암의 오프셋, 방향 및 스케일을 설명합니다. 이 정보는 한 번만 정의되며(또는 사용자가 물리적 구성을 변경할 때), 실행 중에 업데이트되는 경우는 거의 없습니다.

기본 설정 (공장 출하 시 설정)​

직접 편집 설정을 계산하기보다는 다음과 같은 이름의 사전 설정을 선택하세요:

사전 설정원점의 위치팔의 방향
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 et preset 서로 배타적이다

두 가지를 같은 메시지에 함께 보내면 의미가 모호해지므로, 해당 서비스는 이를 거부합니다. 둘 중 하나를 선택하세요: 하나 preset nommé(사용자를 대신해 편집을 정의하는 것) 또는 변환 mount 명시적으로.

주문과 순간값 간의 비대칭성

당신이 보내주세요 한 장의 몽타주로 그 변화를 담아내세요: { "mount": { "transform": { … } } }. 당신이 읽어보세요 스냅샷을 바탕으로 합성한 이미지인데, 평면화되어 있습니다: { "mount": { "position": …, "rotation": …, "scale": … } }. 이는 의도된 것입니다: 명령어들은 통합 엔벨로프를 사용합니다 command_data ; 스냅샷은 직접 시리얼화합니다 core::transform.

업무 공간의 변화​

작업 공간의 변환은 편집 위에 적용되는 실행 파생 작업입니다. 이 기능의 대표적인 사용 사례는 기기가 물리적으로 제자리에 고정된 상태에서 장면 내를 탐색(애플리케이션 화면의 패닝, 회전 또는 확대/축소)하는 것입니다.

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

  • 이 구성은 한 번 정의하면 그대로 유지되도록 설계되었으며, 물리적 구성을 설명하고 드문 업데이트에 최적화되어 있습니다.
  • 작업 공간의 변환은 높은 빈도로 출력되도록 설계되어 있으며 (예: 카메라 이동 중 매 프레임마다), 내부 처리 흐름은 이러한 업데이트 주기에 맞춰 최적화되어 있습니다.
{
"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 매 틱마다: 물리 엔진, 햅틱 피드백, 그리고 작업 공간의 경계를 자동으로 처리해 줍니다.