본문으로 바로 가기

설정 참조

이 문서는 /settings/ 엔드포인트가 반환하는 모든 설정을 키, 유형(type_hint (기준), 제약 조건(metadata.constraint.range 및 해당되는 경우 locked (기준)과 함께 나열합니다.

locked 설정은 실행 시 읽기 전용입니다. 설정 파일 또는 Haply Hub 설정 페이지를 통해 변경할 수 있지만, 변경 사항을 적용하려면 서비스를 완전히 다시 시작해야 합니다. 이러한 설정은 아래 표에서 부팅로 표시됩니다.

구성​

서비스 시작 중에 설정을 재정의하는 구성 파일은 다음 위치에 있습니다:

플랫폼위치
WindowsC:\ProgramData\Haply\Inverse\haply-inverse-service-config.json
macOS/Library/Application Support/Haply/Inverse/haply-inverse-service-config.json
리눅스/etc/haply-inverse-service/haply-inverse-service-config.json

구성 파일은 설정 키를 재정의된 값에 매핑하는 평면 JSON 객체입니다. 키는 /settings/ HTTP 라우트가 반환하는 유효한 설정 키여야 합니다(API 참조 (참고). 지정되지 않은 키는 서비스의 기본값을 사용합니다.

예를 들어, 네트워킹 구성 재정의는 다음과 같습니다:

{
"communication/http/port": 8400,
"communication/websocket/port": 8500,
"communication/events/port": 9000,
"communication/bind_all_interfaces": true
}

표시 여부 및 필터링​

/settings 목록 엔드포인트(GET /settings, GET /settings/)는 기본적으로 기본(basic) 설정만 반환합니다. advanced 플래그가 지정된 설정을 포함하려면 ?advanced=true를, 사용 중단 예정인 플래그가 지정된 별칭을 포함하려면 ?deprecated=true를 전달해 주십시오. ‘숨김’ 설정은 내부 용도로만 사용되며, POST /settings/misc/hidden_settings를 통해 misc/hidden_settings설정된 경우에만 표시됩니다(이에 해당하는 쿼리 매개변수는 없음). 필터 플래그는 AND 연산으로 결합됩니다. advanced와 hidden 모든 플래그가 지정된 키의 경우 두 게이트가 모두 열려 있어야 합니다. 알려진 키에 대한 POST 및 DELETE 요청은 게이트의 제한을 받지 않습니다.

정식 키(canonical key)를 정확하게 사용하면 단일 키 조회(GET /settings/<key>)는 advanced/deprecated 게이트를 우회합니다. 사전 지식이 있는 클라이언트에게 유용합니다. 숨김 키는 여전히 게이트의 제한을 받습니다.

세 가지 런타임 토글이 게이트의 초기값을 설정하며, 이 값은 서비스 수명 기간 동안 유지됩니다:

키유형제약 조건설명
misc/advanced_settingsbool—GET /settings 목록에 advanced 지정된 플래그가 포함된 설정을 포함합니다(기본값 false). 모든 요청에 ?advanced=true를 전달하는 것과 같습니다.
misc/deprecated_settingsbool—GET /settings 목록에 deprecated 지정된 플래그가 포함된 설정을 포함합니다(기본값 false). 모든 요청에 ?deprecated=true를 전달하는 것과 같습니다.

타입 매핑​

API가 반환하는 타입 힌트는 다음 JSON 형식과 일치합니다:

  • STRING → string
  • BOOL → bool
  • INT → int
  • FLOAT → float
  • ARR_STRING → string[]
  • VEC3 → vec3 ({x, y, z} (속성을 가진 객체)
  • GENERIC → json (임의의 구조화된 값)

communication/…​

HTTP, WebSocket 및 이벤트 스트림 서버의 네트워크 포트와 바인드 주소입니다. 대부분의 항목은 부팅 시에만 사용됩니다.

키유형제약 조건설명
communication/serial/enabledbool—시리얼 장치 통신을 활성화하거나 비활성화합니다.
communication/bind_addressstring부팅HTTP 및 WebSocket 서버가 바인딩할 IP 주소입니다.
communication/bind_all_interfacesbool부팅localhost 대신 서버를 0.0.0.0에 바인딩합니다.
communication/http/portint부팅HTTP REST API 포트(기본값 10000).
communication/websocket/portint부팅기본 v3.1 WebSocket 포트(기본값 10001).
communication/websocket/legacy_portint부팅레거시 v3.0 WebSocket 포트(기본값 10000).
communication/events/portint부팅이벤트 스트림 WebSocket 포트(기본값 10020).

devices/…​

devices/detection/…​

이것은 시리얼 포트 스캔 정책입니다. 모든 항목은 고급(advanced) 설정입니다.

키유형제약 조건설명
devices/detection/scan_period_msint범위 100–10000; 부팅 시직렬 포트 스캔 간격(ms).
devices/detection/handshake_timeout_sint범위 1–15포트별 핸드셰이크 타임아웃(초).
devices/detection/max_retriesint범위 1–10포트별 최대 핸드셰이크 재시도 횟수.
devices/detection/failure_log_delay_sint범위 1–60감지 실패를 다시 기록하기 전까지의 지연 시간(초).
devices/detection/block_looping_portsbool—루프 포트가 감지되면 장치의 준비 상태를 차단합니다.
devices/detection/excluded_portsjson—감지 중에 건너뛸 직렬 포트 경로.
devices/detection/additional_portsstring[]—조건 없이 스캔할 추가 시리얼 포트 경로.
devices/detection/allowed_vendor_id_filterstring[]—포트 열거 시 허용되는 USB 벤더 ID.
devices/detection/port_name_substring_filterstring[]—매칭할 플랫폼별 포트 이름의 일부 문자열.
devices/detection/wireless_verse_grip_description_filterstring[]—무선 VerseGrip 감지용 포트 설명 부분의 문자열.
devices/detection/inverse3x_description_filterstring[]—Inverse3x 감지용 포트 설명 부분의 문자열.
devices/detection/extra_ports (사용 중단됨)string[]—대신 devices/detection/additional_ports를 사용합니다. 읽기 및 쓰기 작업은 정규 키를 통해 투명하게 전달됩니다.

devices/*inverse/…​

Inverse3 계열의 모든 장치에 적용되는 전역 기본값입니다. 세션별 재정의가 우선합니다.

3.5.1에서 이름이 변경되었습니다.

3.5.0에서는 글롭 패턴이 devices/inverse*/…였으며, 선행 *이제 inverse 앞쪽에 위치합니다. 이전 리터럴을 사용하는 설정 파일은 3.5.1에서 바인딩에 실패하므로 업데이트하십시오. 키 자체는 그 외에는 변경되지 않았습니다.

키유형제약 조건설명
devices/*inverse/filters/force_scale/gainfloat범위 0.0–2.0모든 장치에 적용되는 전역 힘 출력 배율.
devices/*inverse/filters/force_gate/gainfloat범위 0.0–1.0새 세션의 기본 힘 게이트 이득.
devices/*inverse/control_timeout_msint범위 50–10,000장치 제어 잠금을 해제하기 전까지의 타임아웃(ms).
devices/*inverse/query_orientation_on_idlebool—장치가 유휴 상태일 때 펌웨어에서 본체의 방향을 확인합니다.
devices/*inverse/safeties/expose_in_snapshotbool—GET /devices/{id} 스냅샷에 장치별 안전 플래그를 포함합니다.

devices/presets​

키유형제약 조건설명
devices/presetsjson—장치 유형별 기본 장치 구성 프리셋(inverse_arm_front_*, inverse_led_front_*, minverse_*, verse_grip_default, wireless_verse_grip_default, custom_verse_grip_default(마운트 변환, 기저 등).

devices/wireless_verse_grip/…​

키유형제약 조건설명
devices/wireless_verse_grip/battery/low_thresholdint—저전력 경고가 발생하는 배터리 잔량(%)의 임계값.
devices/wireless_verse_grip/battery/critical_thresholdint—배터리 위험 경고가 발생하는 배터리 잔량(%)의 임계값.
devices/wireless_verse_grip/battery/reset_marginint—배터리 경고를 해제하기 전의 히스테리시스 여유값.
devices/wireless_verse_grip/filters/orientation_filterjson부팅 시무선 VerseGrip 방향에 대한 One Euro Filter 구성.

features/…​

features/calibration/…​

키유형제약 조건설명
features/calibration/hall_thresholdint범위 1–32보정 중 펜이 장착된 것으로 판단되는 홀 센서 레벨.

features/grip_hook/…​

그립을 똑바로 세운 상태로 잡고 있는 동안 커서를 고정하는 자동 그립 훅 동작입니다.

키유형제약 조건설명
features/grip_hook/enabledbool—그립을 똑바로 세워 잡았을 때 그립 훅 자동 잠금 기능이 활성화됩니다.
features/grip_hook/use_hallbool—그립 감지 시 방향 대신 홀 센서 임계값을 사용합니다.
features/grip_hook/hallint범위 1–32그립 잠금을 작동시키는 홀 센서 값의 임계값.
features/grip_hook/hold_durationint범위 10–1000트리거 발생 후 잠금을 유지하는 시간(ms).

features/navigation/bubble/…​

버블 내비게이션 모듈의 기본값입니다. bubble 동작이 처음 활성화될 때 세션에 전달됩니다. 각 필드의 런타임 동작은 내비게이션 모듈 해당 페이지를 참조하십시오.

키유형제약 조건설명
features/navigation/bubble/centervec3—기본 버블의 중심 위치입니다.
features/navigation/bubble/center_enabledbool—버블 동작이 처음 활성화될 때 설정된 center을 적용합니다.
features/navigation/bubble/rotation_enabledbool—작업 공간 회전을 내비게이션 방향에 적용합니다.
features/navigation/bubble/scale_enabledbool—작업 공간의 스케일을 탐색 속도에 반영합니다.
features/navigation/bubble/center_drift_speedfloat≥ 0auto_follow 중심 모드에서의 드리프트 속도(m/s)입니다.
features/navigation/bubble/max_velocityfloat—속도 범위 내의 최대 내비게이션 속도(m/s)입니다.
features/navigation/bubble/velocity_zone_widthfloat—버블 표면 바깥쪽 속도 영역의 폭(m)입니다.
features/navigation/bubble/reset_velocity_on_entrybool—커서가 버블에 들어갈 때 속도를 0으로 재설정합니다.
features/navigation/bubble/spring_innerfloat—버블 중심에서의 스프링 계수(N/m)입니다.
features/navigation/bubble/spring_surfacefloat—버블 표면에서의 스프링 계수(N/m)입니다.
features/navigation/bubble/spring_outerfloat—외부 경계에서의 스프링 계수(N/m)입니다.
features/navigation/bubble/damping_innerfloat—버블 중심에서의 감쇠 계수(Ns/m)입니다.
features/navigation/bubble/damping_surfacefloat—버블 표면에서의 감쇠 계수(Ns/m)입니다.
features/navigation/bubble/damping_outerfloat—외부 경계에서의 감쇠 계수(Ns/m)입니다.
features/navigation/bubble/wall_stiffnessfloat—바깥쪽 경계에 있는 단단한 벽의 강성(N/m)입니다.
features/navigation/bubble/bump_widthfloat—버블 표면에 있는 촉각 돌기의 폭(m)입니다.
features/navigation/bubble/bump_stiffnessfloat—버블 표면에 있는 촉각 돌기의 강성(N/m)입니다.
features/navigation/bubble/stop_at_collisionbool—충돌이 활성 상태일 때 버블의 중심이 충돌 방향으로 쏠리지 않도록 차단합니다.
features/navigation/bubble/collision_thresholdfloat> 0충돌을 감지하는 외력의 크기(N)입니다.
features/navigation/bubble/collision_inflate_scalefloat≥ 1충돌이 활성 상태인 동안 velocity_zone_width에 곱하는 배율입니다.
features/navigation/bubble/collision_exit_ratiofloat범위 (0, 1]히스테리시스 비율입니다. |ext_force|가 collision_threshold × this 아래로 떨어지면 충돌 상태를 해제합니다. 1.0이면 히스테리시스를 비활성화합니다.
features/navigation/bubble/avatar_boundary_enabledbool—아바타의 월드 위치를 설정된 avatar_boundary SDF 형상 내부로 제한합니다.

features/safe_trajectory/…​

엔드 이펙터 동작용 속도 제한기입니다.

키유형제약 조건설명
features/safe_trajectory/enabledbool—안전 궤적(safe-trajectory) 속도 제한기를 활성화합니다.
features/safe_trajectory/max_velfloat범위 0.01–2.0허용되는 최대 엔드 이펙터 속도(m/s)입니다.

features/screensaver/…​

Inverse3 기기에서 세션이 제어하지 않을 때 재생되는 유휴 애니메이션입니다.

키유형제약 조건설명
features/screensaver/enabledbool—Inverse3 기기에서 대기 모드 스크린세이버 애니메이션을 켭니다.
features/screensaver/speedfloat범위 0.001–0.2스크린세이버 애니메이션 속도입니다.
features/screensaver/distracted_speedfloat범위 0.001–0.2사용자가 근처에 있지만 상호작용을 하지 않을 때의 애니메이션 속도입니다.

features/sdf/…​

부호 있는 거리장(SDF) 햅틱 효과 모듈(SDF HFX)입니다.

키유형제약 조건설명
features/sdf/enabledbool—SDF 햅틱 효과 모듈을 켜거나 끕니다.
features/sdf/state_outputbool—기본적으로 장치 출력 페이로드에 SDF 상태를 포함합니다.
features/sdf/max_countint범위 0–128활성 SDF 효과의 최대 개수(0 = 무제한)입니다.
features/sdf/events/createdbool—새로운 SDF 효과가 생성될 때 이벤트를 발생시킵니다.
features/sdf/events/deletedbool—SDF 효과가 제거될 때 이벤트를 발생시킵니다.
features/sdf/events/updatedbool—SDF 효과가 업데이트될 때 이벤트를 발생시킵니다.
features/sdf/probe_on_zero_force/enabledbool—가해지는 힘이 0에 가까워지면 SDF 필드를 자동으로 탐색합니다.
features/sdf/probe_on_zero_force/delayfloat범위 0.001–60.0힘이 0이 된 후 자동 프로브가 시작되기까지의 지연 시간(초)입니다.

features/verse_grip_pairing/…​

Inverse3 장치와 (유선 또는 무선) Verse Grip 간의 연결/분리 상태를 추적하는 기능입니다. 이는 ‘ Haply ’ 허브 페어링 UI의 기반이 됩니다.

키유형제약 조건설명
features/verse_grip_pairing/enabledbool—페어링 및 연결/분리 추적을 활성화합니다.
features/verse_grip_pairing/hall_threshold_vgint범위 1–32유선 VerseGrip 연결로 판단되는 홀 레벨입니다.
features/verse_grip_pairing/hall_threshold_wvgint범위 1–32무선 VerseGrip 연결로 판단되는 홀 레벨입니다.
features/verse_grip_pairing/detach_debounce_msint범위 0–1000분리를 확정하기 전의 디바운스 구간(ms)입니다.
features/verse_grip_pairing/heartbeat_msint범위 100–10,000강제 재알림 간의 간격(ms)입니다.
features/verse_grip_pairing/force_attachedbool—홀 센서를 우회하여 연결 상태를 true로 영구적으로 고정합니다(하드웨어 장애 우회용).

session/serialization/…​

Transform 출력 형식 — WebSocket 및 HTTP JSON 페이로드에 영향을 미칩니다. 이 키들은 세션별 범위를 반영하기 위해 3.5.1 버전에서 serialization/*에서 session/serialization/*로 이동되었습니다. 기존 경로는 더 이상 사용되지 않는(deprecated) 별칭을 통해 여전히 해석됩니다.

키유형제약 조건설명
session/serialization/explicit_fieldsbool—직렬화된 출력에 항등 기본값과 동일한 transform 필드를 포함합니다(예: position: {0,0,0}, rotation: {w:1,…}). 클라이언트가 모든 필드의 명시적 존재를 요구하는 경우에 유용합니다. 기본값: false.
session/serialization/force_complete_transformsbool—방향 전용 장치(Verse Grip, Wireless Verse Grip)를 포함하여 모든 transform 출력에 position, rotation, 그리고 scale을 항상 출력합니다. 이 장치들은 그렇지 않으면 rotation만 출력합니다. session/serialization/explicit_fields를 포함합니다. 기본값: false.
serialization/explicit_fields (지원 중단)bool—대신 session/serialization/explicit_fields를 사용합니다. 읽기 및 쓰기 작업은 정규 키를 통해 투명하게 전달됩니다.
serialization/force_complete_transforms (지원 중단)bool—대신 session/serialization/force_complete_transforms를 사용합니다. 읽기 및 쓰기 작업은 정규 키를 통해 투명하게 전달됩니다.

session/…​

세션 스케줄러입니다.

키유형제약 조건설명
session/min_simulation_rate_hzint범위 20–500경고가 발생하기 전의 최소 허용 장치 시뮬레이션 속도(Hz)입니다.

rate/…​

서비스 페이싱입니다. 3.5.1 버전에서 도입되었습니다 — 아래의 네 가지 rate/websocket/* 키는 이전에 session/commands/* 아래에 있었으며, 기존 경로는 더 이상 사용되지 않는(deprecated) 별칭을 통해 여전히 해석됩니다.

키유형제약 조건설명
rate/websocket/zoh_window_msint—제로차 홀드(zero-order-hold) 윈도우 — 이 윈도우 내에 수신된 프로브를 억제합니다(ms).
rate/websocket/drop_warning_thresholdint—경고가 발생하기 전까지 Windows 내에서 실행된 명령의 수입니다.
rate/websocket/drop_warning_window_msint—드롭된 명령을 집계하기 위한 슬라이딩 윈도우 크기입니다(ms).
rate/websocket/tick_on_empty_batchbool고급웹소켓 배치 전체가 삭제된 경우에도 main_loop 예약을 잡습니다.
session/commands/zoh_window_ms (지원 중단)int—대신 rate/websocket/zoh_window_ms를 사용합니다. 읽기 및 쓰기 작업은 투명하게 전달됩니다.
session/commands/drop_warning_threshold (지원 중단)int—대신 rate/websocket/drop_warning_threshold를 사용합니다. 읽기 및 쓰기 작업은 투명하게 전달됩니다.
session/commands/drop_warning_window_ms (지원 중단)int—대신 rate/websocket/drop_warning_window_ms를 사용합니다. 읽기 및 쓰기 작업은 투명하게 전달됩니다.
session/commands/tick_on_empty_batch (지원 중단)bool—대신 rate/websocket/tick_on_empty_batch를 사용합니다. 읽기 및 쓰기 작업은 투명하게 전달됩니다.

내부 전용 설정​

3.5.1 버전에서는 여러 설정 계열이 hidden으로 제공되며 내부 용도로만 사용됩니다 — rate/dispatch/*(AIMD 디스패치 속도 상한 및 백프레셔 임계값), session/freeform/*(행동 기반 지문 분석), session/serialization/preview/*(오일러 쿼터니언 출력 및 Wireless VerseGrip 라우팅 등 출시 전 직렬화 실험)입니다. 디버깅을 위해 misc/hidden_settings을 통해 접근할 수 있지만, 이후 마이너 버전에서 등급이 상향 조정되거나 이름이 변경되거나 제거될 수 있으므로 클라이언트 동작을 이 설정에 의존하지 마십시오.