사용자 가이드

3장 — 환경설정

환경설정 창은 RadianceKit → 환경설정… 메뉴 또는 기본 단축키 ⌘,로 열 수 있다. 이 창에는 두 개의 탭이 있다: GeneralAI Helpers. 2장에서 다룬 Inspector 값들과 달리, 이 창의 설정들은 앱 전역으로 (모든 프로젝트에 걸쳐) 작동한다 — 한 가지 예외를 제외하고는 영구적으로 저장되어 앱을 재시작해도 유지된다; 예외는 Live-Preview 간격(S5)으로, 이 값은 현재 세션에만 적용된다. General 탭은 Interface, Viewport, Training이라는 세 가지 내용 영역으로 구성되어 있다. (이전에 여기 있던 야외 플로터 토글 — Sky Masking, Floater Cleanup, Reconstruct Sky Dome —은 v1.6부터 Expert Inspector로 옮겨져 프로젝트별로 저장된다: 2026-07-18에 재구성된 이후로는 Training 섹션의 Outdoor 하위 그룹에 위치한다; 2장의 I42–I44 참고.) AI Helpers 탭에서는 SfM 및 트레이닝 전처리를 위한 온디바이스 머신러닝 헬퍼(Vision, CoreML)를 켤 수 있다.

이 창은 스크롤된다. 창은 고정된 크기를 가지며 — 코드상 460 #sym.times 600 포인트로 지정되어 있다 — General 탭의 내용은 이 영역보다 더 높다. 창을 열면 InterfaceViewport의 상단 부분만 보인다; Training과 그 안에 있는 자동 PLY 스위치(S36), Exports 폴더 버튼(S37)은 아래로 스크롤해야 나타난다. 이 두 항목을 찾지 못하는 사람은 대개 단순히 스크롤을 하지 않은 것이다. 그래서 아래 두 그림은 같은 탭을 두 번 보여준다: 한 번은 위쪽 상태로, 한 번은 아래로 스크롤한 상태로.

모든 AI Helpers를 한꺼번에 켜거나 끄던 이전의 조작 요소는 현재 버전에는 더 이상 존재하지 않는다 — 그에 따라 여기서도 다루지 않는다. 아직 제공되지 않는 헬퍼들을 위한 이전의 "Coming Soon" 영역 역시 제거되었으며 여기서 언급하지 않는다.

General-Tab

설정 → General 탭, 상단 영역, 사용자 인터페이스 및 뷰포트 섹션
설정 → General 탭, 상단 영역, 사용자 인터페이스 및 뷰포트 섹션

S1Default Mode

위치

Settings → General → Interface → Default Mode 피커. 기본값: „Simple Mode".

기술적 설명

앱이 다음 실행 시 어떤 UI 모드로 열릴지를 결정한다. „Simple Mode"는 4단계로 이루어진 안내형 마법사 워크플로우(가져오기 → 처리 → 미리보기 → 내보내기, 10장의 Z1–Z4에 문서화됨)이고, „Expert Mode"는 2장에서 다룬 내비게이터, 3D 뷰포트, 전문가용 인스펙터로 구성된 고전적인 3분할 레이아웃이다. 이 값은 재시작 후에도 유지된다. 메뉴 Mode → Simple Mode (⌘1) / Mode → Expert Mode (⌘2)와 동일한 효과를 내지만, 메뉴는 실행 중인 세션을 전환하는 반면 이 피커는 향후 세션의 기본값을 설정한다는 차이가 있다. 두 모드 모두 동일한 프로젝트 상태에 접근하므로 — 프로젝트, 카메라, 트레이닝 구성은 모드 전환 시에도 유지된다. 모드별 툴바 버튼은 즉시 다시 렌더링된다.

S38Pause after frame extraction (Expert)

위치

Settings → General → Interface → 토글 „Pause after frame extraction (Expert)". 기본값: 꺼짐.

기술적 설명

Expert 모드에서만, 그리고 그중에서도 영상 소재에만 관련된다. 스위치가 꺼져 있으면(기본값) 큰 버튼의 이름은 „Start Processing"이며 전체 과정이 한 번에 진행된다: 영상에서 이미지 추출, 화질 확인, 카메라 정렬, 트레이닝. 켜져 있으면 같은 버튼의 이름이 „Extract Frames"로 바뀌고, 개별 프레임을 추출하고 검토한 뒤 과정이 멈춘다. 이 일시정지 상태에서 내비게이터를 통해 이미지 세트를 살펴보고 개별 이미지를 제거하거나 트레이닝 설정을 변경한 후 나머지를 직접 시작할 수 있다. 이 값은 재시작 후에도 유지된다. Simple 모드와 이미 개별 이미지로 구성된 가져오기에는 영향을 주지 않는다 — 그곳에는 추출할 것이 없다.

S34Show marker recipe suggestions

위치

Settings → General → Interface → 토글 „Show marker recipe suggestions". 기본값: 켜짐.

기술적 설명

가져오기 후 앱이 조용히 이미지 내의 AprilTag 마커를 검색하여 필요한 경우 다른 SfM 레시피를 제안하도록 허용한다. 이 안내는 Expert 인스펙터의 Cameras & Capture 섹션 위에 배너 형태로 나타나며, 반복해서 발견된 마커를 더 정확한 카메라 위치를 위한 고정 앵커로 사용하는 Professional로 전환할 것을 제안한다. 실제로 쓸 수 있는 것만 집계된다: 마커 ID는 최소 세 개의 이미지에 나타나야 하며, 그렇지 않으면 활용 가능한 궤적이 되지 못해 집계에서 제외된다 — 각각 한 번씩만 등장하는 여러 다른 ID는 아무 것도 유발하지 않는다는 뜻이다. 또한 이 안내는 실제로 네이티브 SfM이 실행 중이고 아직 더 상위의 레시피가 설정되어 있지 않을 때만 나타나며, 실행이 시작되는 순간 사라진다. 이 스위치는 배너 자체의 „Don't suggest again"의 영구적인 형태다. 배너에서 클릭하면 여기서도 꺼진다. 반대로 여기서 다시 켜는 것은 명시적인 새 출발로 간주되어 — 현재 가져오기에서 닫아버린 안내도 다시 검토된다.

S2Language

위치

Settings → General → Interface → Language 피커. 기본값: „System Default"(macOS 언어를 따름).

기술적 설명

macOS 시스템 언어와 무관하게 전체 앱 UI의 표시 언어를 선택한다. 이 피커는 „System Default" 항목과 18개의 고정 언어를 나열한다: English, Deutsch, Français, Español, Português, Italiano, Nederlands, 日本語, 中文, 한국어, Svenska, Norsk, Dansk, Suomi, Polski, Čeština, Русский, Türkçe. „System Default"에서는 앱이 macOS 언어를 따른다. 명시적으로 선택하면 그 언어 설정은 재시작 후에도 유지되며, 현지화 번들은 시작 시에만 로드되므로 완전히 적용되려면 보통 앱 재시작이 필요하다.

S3Viewport Background

위치

Settings → General → Viewport → Background 피커. 기본값: „Dark Gray"(RGB 0.1, 0.1, 0.1).

기술적 설명

3D 뷰포트의 배경색을 설정한다. 세 가지 옵션: „Dark Gray"(RGB 0.1, 0.1, 0.1 — 기본값), „Black"(0, 0, 0), „White"(1, 1, 1). 선택은 즉시 실행 중인 Metal 렌더러에 반영되며 또한 사용자 기본 설정에 저장되어 앱 재시작에도 살아남는다. 세 가지 조작 경로가 있는 하나의 설정이 존재한다: 이 피커, 메뉴 Viewport → Background(M21, M22, M23), 뷰포트의 B 키가 모두 동일한 세터에 기록된다 — 메뉴나 키로 전환하면 이후 여기 설정 피커에서도 새 값을 볼 수 있다. (v1.7까지는 앱이 선택을 기억하지 않았고, 피커의 „Default"라는 표현은 그런 의미에서 정확하지 않았다. 2026-07-18부터 세 경로가 일치한다.) 이 변경의 의도된 결과: 흰색 배경은 재시작 후에도 흰색으로 유지되며, 스크린샷과 궤도 영상 내보내기에도 그대로 반영된다. 촬영에 여전히 유효한 사실: 흰색 배경은 초록/파란색 플로터를 더 두드러지게 하고, 어두운 배경은 깔끔한 렌더 촬영에 더 낫다.

S39Selection color

위치

Settings → General → Viewport → 색상 선택기 „Selection color". 기본값: 빨강(RGB 1, 0, 0).

기술적 설명

편집 모드에서 선택된 가우시안 점들을 표시하는 색조를 지정한다 — 즉 브러시나 절단면으로 방금 표시하여 다음 단계에서 삭제하거나 채도를 낮추게 될 대상이다. 이 선택기는 투명도를 지원하지 않는다. 변경 사항은 즉시 사용자 기본 설정에 기록되어 실행 중인 렌더러에 전달되므로 뷰는 다음 프레임에서 바로 다시 칠해진다. 재시작은 필요 없다. 이 색조는 순수하게 표시용이며 내보낸 파일 어디에도 저장되지 않는다.

S40Cylinder color

위치

Settings → General → Viewport → 색상 선택기 „Cylinder color". 기본값: 청록색(RGB 0.1, 0.9, 1.0).

기술적 설명

원통형 크롭의 색조를 지정한다 — 와이어프레임과 원통이 둘러싸는 내용 모두에 적용된다. 주의, 두 색조는 반대 의미를 갖는다: 선택 색(S39)은 제거될 것을 표시하고, 원통 색은 남을 것을 표시한다. 그래서 둘은 별도로 설정 가능하며 기본값도 뚜렷이 다르다. S39와 마찬가지로 투명도가 없고, 즉시 적용되며, 순수 표시용이다.

S35Invert vertical navigation

위치

Settings → General → Viewport → 토글 „Invert vertical navigation". 기본값: 꺼짐.

기술적 설명

뷰포트 내비게이션의 상/하 방향을 뒤집는다. 2026-07-18부터의 적용 범위: 회전(궤도), 비행 모드에서의 시점 이동 그리고 팬(pan) — 후자는 제스처와 오른쪽 마우스 버튼 드래그 모두에 적용되며, 이전에는 이 플래그를 전혀 읽지 않았다. 이전에는 스위치가 절반만 작동했고, 켠 사람은 두 제스처가 서로 어긋나게 움직였다. 팬에서는 수직 마우스 움직임이 원래 회전과 반대 부호를 가지므로, 회전에서 그대로 복사하는 대신 조건부로 뒤집는다 — 스위치를 한 번도 건드리지 않는 사람은 이 수정을 전혀 느끼지 못한다. 줌은 의도적으로 제외된다: 그곳에서는 이미 시스템의 스크롤 방향이 부호 결정을 담당하며, 델타 값은 거리와 시야각을 제어할 뿐 수직 내비게이션이 아니다.

여기서부터는 스크롤이 필요하다 — 다음 세 항목은 창의 보이는 영역 아래에 위치한다.

설정 → General 탭, 아래로 스크롤한 화면: 뷰포트 섹션의 끝과 Training 섹션
설정 → General 탭, 아래로 스크롤한 화면: 뷰포트 섹션의 끝과 Training 섹션

S5Live Preview Interval

위치

Settings → General → Training → Live Preview 피커. 기본값: „Every 50 Iterations".

기술적 설명

진행 중인 트레이닝 스냅샷이 3D 뷰포트에 렌더링되는 반복(iteration) 간격을 결정한다. 네 가지 이산 값: 0(„Off"), 50, 250, 1000 반복. Live Preview가 활성화된 상태에서 트레이너는 GPU에서 가우시안 버퍼를 별도의 렌더 버퍼로 복사하고 뷰포트 재그리기를 트리거한다. „Off"에서는 트레이닝이 끝난 후에야 뷰포트가 갱신된다. 성능 비용: 50 반복마다는 M3 Ultra에서 ~5–10% 느려지고, 250 반복마다는 ~1–2% 느려지며, 1000 반복마다는 측정 불가능한 수준이다. 메모리 오버헤드는 간격과 무관하게 스냅샷 버퍼에 대해 항상 ~2 GB다. 적용 범위: 이 값은 장면이 아니라 앱에 속한다. 기술적인 이유로 트레이닝 설정과 함께 관리되지만, 장면 파일을 열 때, 프리셋을 전환할 때, 자동 360° 전환 시에는 명시적으로 유지된다 — 이전에는 열린 장면이 자체 미리보기 속도를 장면 작성자의 것으로 덮어써 버렸고, „Off"도 예외가 아니었다. 같은 이유로 이 값은 레시피 비교에 포함되지 않으며 프리셋에 „Modified" 배지를 유발하지 않는다. „Continue Training" 또한 원래 실행 당시의 값이 아니라 현재 값을 따른다 — 그 이후로는 이어하기에서도 미리보기가 표시되며, 그사이 꺼두었다면 그것도 존중된다. 동시에 이것은 이 창에서 앱 재시작을 견디지 못하는 유일한 설정이다: 이곳의 다른 모든 항목과 달리 어디에도 영구 저장되지 않으며, 매번 시작할 때마다 다시 „Every 50 Iterations"로 돌아간다. 이미 진행 중인 트레이닝은 속도를 바꾸지 않는다. 변경 사항은 다음 실행부터 적용된다. 간격 50에서는 점 구름이 부드럽게 „자라나는" 시각적 인상을 주며, 1000에서는 뚝뚝 끊기는 느낌을 준다.

S36Save a PLY automatically after each run

위치

Settings → General → Training → 토글 „Save a PLY automatically after each run". 기본값: 켜짐.

기술적 설명

완료된 모든 실행 후 — 새 실행 이든 이어하기든 — 결과를 Exports 폴더에 PLY로 기록한다(training_<타임스탬프>.ply). 이 기능 자체는 v1.7.0부터 있었지만 아무런 표시도, 스위치도 없이 작동했다. 2026-07-18부터 이 기능은 보이고 끌 수 있게 되었다. 끌 때 주의: 자동 저장은 안전망이다 — 이것이 없으면 완성된 실행 결과는 직접 내보내거나 장면으로 저장할 때까지 메모리에만 존재한다. 켜둘 때 주의: 세부 묘사가 풍부한 장면에서는 파일이 ~2 GB에 달할 수 있다. 이 설정을 한 번도 건드리지 않았다면 „켜짐"이 적용된다: 사용자 기본 설정에 값이 없는 경우 명시적으로 „켜짐"으로 해석되며 „꺼짐"으로 해석되지 않는다 — 그렇지 않으면 기존 사용자 모두가 조용히 이 안전망을 잃게 될 것이기 때문이다. 대상 폴더는 빌드에 따라 달라진다: 샌드박스가 없는 경우 ~/Documents/RadianceKit/Exports, 반면 App Store 버전에서는 ~/Library/Containers/…/Documents/RadianceKit/Exports — 그래서 옆에 버튼이 있다(S37).

S37Show Exports Folder…

위치

Settings → General → Training → 버튼 „Show Exports Folder…". 순수한 동작이며 저장되는 값은 없다.

기술적 설명

S36에서 나온 자동 PLY가 기록되는 폴더를 Finder에서 연다. 경로가 빌드마다 다르고 App Store 버전에서는 파일이 아무도 들여다 보지 않는 앱 컨테이너 안에 있기 때문에 존재한다 — 바로 그래서 파일들이 여러 차례 „사라진" 것처럼 보였다. 버튼과 저장 로직은 동일한 경로 정의를 사용하므로 서로 어긋날 수 없다. 저장된 상태는 없다.

저장되지 않은 작업이 있는 상태에서 종료할 때 앱은 2026-07-18부터 아무 말 없이 닫는 대신 확인을 묻는다. 마침 실행이 진행 중이라면 확인 문구는 „Quit while a run is in progress?"다 — 실행이 중단되고 진행 상황이 사라지게 된다. 트레이닝이 끝났지만 내보내지도 장면으로 저장하지도 않은 결과가 있다면 „Quit without saving the result?"라고 묻는다. 기본값은 각각 Cancel이며, Return과 Escape는 종료를 취소한다. „Quit Anyway"는 그래도 종료한다. 스크립트 및 자동 테스트 실행은 예외이며 확인 없이 종료된다. S36이 켜져 있으면 두 번째 경우는 드물게 발생한다 — 그 경우 결과는 이미 Exports 폴더에 PLY로 저장되어 있으므로 저장된 것으로 간주된다.

AI 도우미 탭

설정 → AI 도우미 탭, 마스터 스위치와 서브 토글 포함
설정 → AI 도우미 탭, 마스터 스위치와 서브 토글 포함

S11AI Helpers enabled (Master)

위치

Settings → AI Helpers → 첫 번째 섹션 → "AI Helpers enabled" 토글. 기본값: 켜짐.

기술적 설명

파이프라인 내 모든 AI-Helpers 기능에 대한 마스터 스위치. 꺼져 있으면 임포트 및 SfM 파이프라인은 ML 기반 전처리 단계를 완전히 건너뛴다 — Apple Vision 호출도, CoreML 모델 로드도, NPU 웨이크업도 없다. 켜져 있으면 개별 하위 옵션(S12–S13)이 참조된다. 이 값은 재시작 후에도 유지된다. 다음 단계에 영향을 준다: (a) SfM 전 프레임 품질 사전 점검(S12), (b) 루프 클로저 감지(S13). 중요: 꺼져 있으면 탭의 모든 하위 옵션이 비활성화되고 시각적으로 회색 처리된다. 하단 안내 문구는 모든 AI 도우미가 철저히 온디바이스로 동작함을 강조한다 — 이미지 업로드도, 클라우드 처리도 없다. 개인정보 보호는 오직 Apple Vision 프레임워크(뉴럴 엔진에서 로컬로 실행)와 앱 번들 안에 직접 들어있는 CoreML 모델만 사용함으로써 보장된다.

S12Frame quality check

위치

Settings → AI Helpers → Available 섹션 → "Frame quality check" 토글. 기본값: 켜짐.

기술적 설명

SfM 호출 전에 임포트된 모든 프레임을 분석하는 프레임 품질 검사기를 활성화한다. 프레임별로 흔들림(모션 블러), 노출 과다/부족, 이미지 구조 부족, 렌즈 가림 등을 검사하며; 검출 결과는 심각도별로 등급이 매겨진다(이상 없음, 경고, 심각). 이상이 없는 프레임은 그대로 통과한다. 문제가 있는 프레임은 모달 확인 대화상자를 띄우며, 문제가 있는 각 프레임을 썸네일과 사유와 함께 나열하고 제거할지 묻는다 — 모두 유지, 문제 프레임 전체 제거, 또는 직접 선택하여 제거 중 선택 가능. 중요: 자동 삭제는 없다 — 대화상자는 항상 필요하며, 최종 결정은 사용자에게 있다. 꺼져 있으면 모든 프레임이 검사 없이 SfM으로 전달된다. 마스터(S11)가 비활성화되어 있으면 이 토글은 시각적으로 회색 처리되며 아무 효과가 없다.

S13Loop closure detection

위치

Settings → AI Helpers → Available 섹션 → "Loop closure detection" 토글. 기본값: 켜짐.

기술적 설명

Apple Vision Feature Print 기반 루프 클로저 감지를 활성화한다. 임포트된 각 프레임에 대해 Feature Print, 즉 이미지 콘텐츠의 신경망 임베딩이 계산된다. 그런 다음 Feature Print들을 쌍으로 비교하여; 촬영 순서상 충분히 멀리 떨어져 있으면서도(즉 직접적인 이웃이 아니면서도) 충분히 유사한 쌍은 "루프 클로저 후보"로 식별되어 프로젝트 폴더 내 사이드카 JSONL 파일에 기록된다. 정보 제공용일 뿐이다 — 임포트된 이미지 시퀀스 자체는 변경되지 않는다. 목적: 이 프레임들이 3D 공간에서 함께 클러스터링되어야 한다는 힌트를 SfM 솔버(특히 COLMAP)에 제공하는 것이다. 네이티브 SfM의 경우 사이드카 정보는 현재로서는 참고용일 뿐이며; COLMAP은 커스텀 매치 파일을 통해 내부적으로 이 힌트를 사용한다(수동 통합은 가능하나 자동으로 연결되지는 않는다). 꺼져 있으면 Feature Print가 생성되지 않는다. 마스터(S11)가 비활성화되어 있으면 시각적으로 회색 처리된다.

Inspector-Spiegel-Settings

나머지 설정 항목(S17–S33)은 전문가용 Inspector에서 가져온 반영 항목이며, 2장(Inspector 컨트롤 I12–I29)에서 설명하고 있다. 이 항목들은 실제로 설정 창에 나타나지 않으며, 트레이닝 설정에 속하고 그런 의미에서 형식적으로 설정의 성격을 갖고 있기 때문에 여기에서 나열될 뿐이다. 이 장의 다른 항목들과 달리 이들은 앱 전역이 아니다: 레시피에 속하며 프리셋 및 씬 파일과 함께 저장되므로 프로젝트에 따라 달라진다. 내용에 대한 설명은 해당 위치를 참고하기 바란다.

언제 무엇을?

설정적용 범위지속성
S1 Default Mode앱 전역앱 재시작
S2 Language앱 전역앱 재시작
S3 Viewport Background앱 전역 (피커, 메뉴 및 B 키는 모두 동일한 설정입니다)앱 재시작
S5 Live Preview Interval앱 전역 (씬에는 저장되지 않음)현재 세션에서만
S11 AI Helpers Master앱 전역앱 재시작
S12 Frame quality check앱 전역앱 재시작
S13 Loop closure detection앱 전역앱 재시작
S34 Show marker recipe suggestions앱 전역앱 재시작
S35 Invert vertical navigation앱 전역앱 재시작
S36 Save a PLY automatically앱 전역앱 재시작
S37 Show Exports Folder…동작
S38 Pause after frame extraction앱 전역 (전문가 모드에서만, 비디오에만 해당)앱 재시작
S39 Selection color앱 전역 (표시 전용)앱 재시작
S40 Cylinder color앱 전역 (표시 전용)앱 재시작

앱 전역 = 모든 프로젝트에 적용됩니다. 동작 = 저장되는 상태가 없으며, 버튼을 누르면 그 자리에서 한 번만 실행됩니다. 여기에 문서화된 설정 중 어느 것도 씬 파일에 저장되지 않습니다. 또한 하나를 제외한 모든 설정은 앱을 재시작해도 그대로 유지됩니다. 예외는 라이브 프리뷰 간격(S5)으로, 앱을 시작할 때마다 „Every 50 Iterations"로 초기화됩니다.