기저 순열(Basis Permutation)
기저는 Haply의 내부 좌표계와 사용자 애플리케이션의 좌표계 사이를 매핑합니다.
Haply 기본 프레임
Haply는 오른손 좌표계를 사용합니다:
| 축 | 방향 |
|---|---|
| +X | 오른쪽 |
| +Y | 앞쪽 |
| +Z | 위쪽 |
작동 방식
순열 문자열은 서비스에 애플리케이션의 축이 Haply의 축과 어떻게 대응하는지 알려 줍니다. 설정하면 서비스가 반환하는 모든 값(위치, 속도, 힘, 방향)은 사용자의 기저로 표현되며, 사용자가 전송하는 모든 값은 사용자의 기저를 기준으로 해석됩니다. 변환은 자동으로 이루어지며 양방향으로 동작합니다.
이 문자열은 X, Y, Z의 순열이며, 축을 반전하려면 선택적으로 + 또는 - 접두사를 붙일 수 있습니다.
예시
| 순열 | 의미 | 일반적인 용도 |
|---|---|---|
XYZ | 항등 — 재매핑 없음 | Haply 네이티브 앱 |
XZY | Y와 Z 교환 → 사용자의 +Y가 위쪽 | Y-up 엔진 |
X-YZ | Y 반전 → 왼손 Z-up | Unreal Engine |
ZXY | 세 축을 모두 순환 | 사용자 정의 프레임 |
해석
"YZX"는 다음을 의미합니다:
- 사용자의 X 축 = Haply의 Y 축(앞쪽)
- 사용자의 Y 축 = Haply의 Z 축(위쪽)
- 사용자의 Z 축 = Haply의 X 축(오른쪽)
기저 설정
- WebSocket
- HTTP
{
"session": {
"configure": {
"basis": { "permutation": "XZY" }
}
}
}
curl -X POST "http://localhost:10001/inverse3/0/config/basis?session=:0" \
-H "Content-Type: application/json" \
-d '{"permutation": "XZY"}'
기저는 영구적으로 유지됩니다. 첫 메시지에서 한 번 설정하면 변경하거나 세션이 끝날 때까지 활성 상태로 남습니다.
session.set_basis에서 마이그레이션축 부호 규칙이 레거시 session.set_basis와 session.configure.basis 사이에서 변경되었습니다. 이전 명령에서 동작하던 순열이 새 명령에서는 뒤집힌 변환을 만들어 낼 수 있습니다. 필요한 경우 축 부호를 반전하십시오(예: X-ZY는 XZ-Y가 됩니다).
자세한 내용은 3.5 마이그레이션 가이드를 참조하십시오.