OFL Fixture
Open Fixture Library(OFL) 형식의 픽스처 JSON을 읽어들여, 조명기 1대 분량의 DMX 프레임을 출력하는 노드입니다. Load Fixture JSON...으로 JSON을 고르면 모드 목록이 읽히고, 선택한 모드의 채널 정의에 따라 각 입력의 값이 대응하는 채널에 기록됩니다. 입력은 모두 0~1로 클램프되며, DMX 값은 값 × 255로 구합니다.
- Address — 스타트 어드레스. 1~512로 클램프(내부에서는 0 기점으로 변환)
- Mode — 픽스처 JSON이 가진 모드에서 선택합니다. 모드의 채널 수가 아래 라벨에 표시됩니다
- 출력 프레임의 마스크는 스타트 어드레스부터 선택한 모드의 채널 수만큼만 유효해집니다. 그래서 여러 대를 Universe로 머지해도 서로의 채널을 뭉개지 않습니다
- 3D Simulation(접기)— 시뮬레이터상의 Position / Rotation / Scale과, Pan Range(기본값 540) / Tilt Range(기본값 180) / Pan Offset / Tilt Offset / Invert Pan / Invert Tilt. 여기의 값은 3D 시뮬레이터의 겉모습에만 영향을 주고, DMX 출력값은 바꾸지 않습니다
채널 종류별 변환
- Pan / Tilt / Dimmer / Zoom — 대응하는 입력을 그대로 0~255로
- Red / Green / Blue — Color 입력의 R/G/B 성분
- Cyan / Magenta / Yellow — R/G/B의 반전(
1 - 성분) - White — R/G/B의 최솟값
- Color Wheel — 휠의 각 엔트리의 색과 Color 입력의 RGB 거리를 비교해, 가장 가까운 엔트리의 DMX 값
- Strobe — Strobe 입력이 0.01 미만이면 정의 중의
Open레인지의 최솟값, 그 이상이면Strobe레인지의 minmax로 선형 매핑(해당 레인지가 없으면 입력값을 그대로 0255로)
Pan Fine / Tilt Fine / Amber / UV는 항상 0을 출력합니다(16bit 세분화와 추가 색은 미구현입니다). 16bit 대응 기기는 거친 쪽의 채널만 움직입니다.
입력의 기본값은 Pan・Tilt・Zoom이 0.5, Dimmer가 1, Color가 흰색입니다. 픽스처 JSON을 읽어들이기 전에는 마스크가 전부 무효인 빈 프레임을 출력하므로, 하류에는 아무것도 반영되지 않습니다.
읽어들인 픽스처 JSON은 프로젝트 파일 안에 통째로 저장됩니다. 다른 머신에서 열어도 원본 JSON 파일은 필요 없습니다.
입력 포트
| Port ID | 타입 |
|---|---|
Pan | float |
Tilt | float |
Dimmer | float |
Color | Color |
Zoom | float |
Strobe | float |
출력 포트
| Port ID | 타입 |
|---|---|
DMX Out | DMXFrame |
스크립트에서 설정할 수 있는 멤버
| 경로 | 타입 |
|---|---|
panInput | float |
tiltInput | float |
dimmerInput | float |
zoomInput | float |
strobeInput | float |
Synapse Apps (스크립팅)
await synapse.modules.create({ type: "ofl_fixture" }) 



