part 에 glTF 노드 이름을 적어야 합니다. 운전 모드에서만 뜻이 있습니다prop: partColor \| partVisible \| partRotate \| partHighlight part = glTF 노드 이름 partRotate 는 axis(x\|y\|z, 기본 y) 필요설명
다른 바인딩은 요소 전체(또는 심볼 안의 DOM 부위)를 대상으로 삼지만, 이 넷은 glTF 트리의 노드에 걸립니다. part 에 적은 문자열이 그 노드의 이름입니다. 엔진은 요소를 DOM 에서 찾지 않고, 살아 있는 3D 컨트롤러 장부에서 요소를 집어 모델 안으로 들어갑니다 — 파트는 <canvas> 한 장 안이라 DOM 에 자취가 없기 때문입니다.
넷 다 운전 모드에서만 뜻이 있습니다. 작화 캔버스에는 포스터(정지 그림)만 있어 값이 와도 걸 곳이 없습니다 — 오류가 아니라 조용히 아무 일도 일어나지 않습니다. 값이 걸리는지 확인하려면 F5 나 운전 모드로 열어야 합니다.
partColor 는 fill 의 3D 버전입니다. 임계값 규칙으로 색을 고르고, 그 노드와 자식 메시의 재질을 칠합니다.
partVisible 은 visible 과 같은 규칙입니다 — 임계값 출력이 '1'·'true' 면 보이고, 아니면 node.visible = false 로 그 노드(와 자식)를 통째로 숨깁니다. 규칙을 갈라 두면 같은 임계값 표를 2D 요소와 3D 파트에 나란히 걸었을 때 하나만 다르게 반응합니다.
partRotate 는 값 × scale + offset 을 각도(도)로 써서 axis 로 지정한 축을 돌립니다. 덮어씁니다 — 쌓이지 않습니다. 값이 곧 각도라야 태그를 되감았을 때 파트도 함께 되돌아옵니다.
partHighlight 는 조건이 맞는 동안 그 파트를 강조합니다 — 파트가 제 색으로 밝게 빛나고, 둘레에 호박색 테두리 상자가 섭니다. 상자는 파트와 같은 방향으로 놓여(비스듬히 놓인 부품도 꼭 맞게) 파트가 돌면 함께 돕니다. 판정 규칙은 partVisible 과 같습니다(임계값 출력 '1'·'true' 면 켜짐, 표가 없으면 값의 참거짓). 예를 들어 항목 표에서 고른 번호(local:sel)를 읽어 == 12 일 때 '1', 기본값 '0' 으로 걸면 12번 커넥터만 강조됩니다. 모델에 강조용 부품을 따로 만들어 넣을 필요가 없어 CAD 에서 받은 모델에도 그대로 쓸 수 있습니다.
설정 항목
| 이름 | 값 | 기본 | 설명 |
|---|---|---|---|
| 태그 | tagId | — | 읽을 값. |
| part | string | — | glTF 노드 이름. 모델러가 파트에 붙인 이름입니다. 인스펙터가 지금 모델을 다시 읽어 목록으로 보여 주므로 드롭다운에서 고르거나, 미리보기에서 고르기 단추를 누른 뒤 3D 모델 칸의 미리보기에서 그 부위를 누르면 됩니다. |
| 축(axis) | x \| y \| z | y | partRotate 전용. 어느 축을 돌릴지. |
| 임계값 규칙 | thresholds | — | partColor·partVisible·partHighlight 가 쓰는 색·참거짓 매핑. 일반 바인딩과 같은 규칙. |
동작
partColor 는 모델 전체가 아니라 재질을 복제해 칠합니다. glTF 한 덩이 안의 메시 여러 개가 같은 재질을 공유하는 일이 흔합니다. 복제하지 않고 그대로 칠하면 램프 하나를 빨갛게 하려다 컨베이어까지 빨개집니다 — 이 요소는 내부에서 재질을 자동으로 복제해 원본과 분리합니다.
품질이 있고 good 이 아니면 값과 상관없이 회색(#64748b)입니다. 품질이 아예 안 왔으면(undefined) 임계값 규칙을 그대로 탑니다. 텍스트 바인딩의 badText 와 같은 이유입니다 — 폴러가 통신 실패 자리에 0을 박아 두는데, 그것을 그대로 임계값에 넣으면 "정상(초록)" 으로 굳은 파트를 사람이 지금 상태로 읽습니다.
테마 토큰에는 예비값을 넣으세요. 임계값 출력에 var(--sc-bad, #ef4444) 같은 CSS 토큰을 쓸 수 있지만, 3D 렌더러는 CSS 변수를 못 풉니다. 쉼표 뒤 예비값을 쓰고, 예비값이 없으면 그 파트는 색이 걸리지 않은 채로 남습니다.
partRotate — 모델러가 파트에 넣어 둔 초기 회전은 지정한 축에 한해 사라집니다. 예를 들어 밸브 핸들이 glTF 안에서 이미 15° 기울어져 있어도, axis: "z" 로 걸면 그 축은 태그 값으로 완전히 덮입니다. 다른 두 축은 원본 그대로 남습니다. 초기 기울기를 지키면서 돌리고 싶다면 모델링 단계에서 회전 원점을 다시 잡으세요.
partHighlight 는 판정 색을 바꾸지 않습니다. 강조색으로 물들이면 빨강(불합격)이 주황으로 읽히므로, 파트는 제 색(partColor 가 칠한 색)으로 밝아지기만 하고 '이것' 이라는 표시는 호박색 테두리가 맡습니다. 품질이 good 이 아니면 강조를 끕니다 — 값을 모르는데 한 자리를 가리키면 틀린 곳을 짚게 됩니다.
같은 색을 다시 칠하지 않습니다. 마지막으로 칠한 색을 재질별로 기억해 두고, 같은 색이 다시 오면 손대지 않습니다 — 값이 그대로인데도 잠들어 있던 렌더 루프를 매 폴링 주기마다 깨우지 않기 위해서입니다. partVisible·partRotate·partHighlight 도 같은 이유로 지금 상태와 같으면 건너뜁니다.
파트 이름은 문서에 저장되지 않습니다. 인스펙터가 보여 주는 목록은 지금 문서에 담긴 모델을 그 자리에서 다시 읽어 얻은 것입니다. 모델 파일을 바꾸거나 모델러가 노드 이름을 바꾸면 목록이 즉시 달라지고, 옛 이름을 가리키던 바인딩은 걸 곳을 잃습니다 — 파일을 바꾼 뒤에는 파트 바인딩을 다시 확인하세요.
대상이 3D 모델 이 아니면 아무 일도 일어나지 않습니다. 일반 도형·심볼에 partColor 를 걸어도 오류 없이 조용히 무시됩니다 — part 는 3D 모델 요소에서만 뜻이 있습니다.