캐릭터 모델러 확장(구체·복셀·포즈·OBJ) + NPC/펫 모델 교체
개요
"둘 다" — ①블렌더 대용 캐릭터 모델러 확장 ②마을 NPC/펫을 모델 캐릭터로 교체. 충돌 회피: 메인이 모델러 코어(구체/포즈/복셀) 먼저 확장 → 독립 파일(OBJ 익스포터·주민/펫)을 병렬 서브에이전트 → 메인이 village.js 통합.
1. 모델러 확장 (캐릭터모델러.한선, 26함수)
- 구체(타원체) 파츠:
구체(이름,cx,cy,cz,w,h,d,색) (t="구"). 둥근 머리/주둥이/눈/코.
- 포즈(관절 회전):
회전설정(idx,rx,ry,rz) 도 단위. 대칭X가 ry/rz 부호반전 복제.
- 복셀 스컬프트:
복셀초기화/복셀칠(x,y,z,색)/복셀메싱(접두) — 균형3진 트릿 복셀 → 1트릿 큐브 박스.
- 접근자(파츠X~RZ, 파츠종류, 모델스케일) — 외부 익스포터용.
- JSON 내보내기에 t/rx/ry/rz 추가.
2. OBJ/STL 익스포터 (서브에이전트 → 캐릭터내보내기.한선)
모델OBJ스트림(경로)(Wavefront OBJ, 박스→8정점·12삼각형, o 그룹) · 모델STL스트림(경로)(ASCII STL). 블렌더/3D프린팅 호환.
- 검증: 라이온 32파츠 → raion27.obj(256정점·384면·32그룹)·raion27.stl(384삼각형). 한계: 회전 미적용·구체 박스근사·STL 법선 0(뷰어 재계산).
3. NPC/펫 모델 (서브에이전트 → 주민.한선/펫.한선)
- 주민(NPCMODEL 10파츠): 머리(구)·몸통옷·팔/다리(대칭)·머리카락·눈·코. 키 ~2유닛.
- 펫(PETMODEL 12파츠): 몸통·머리(구)·귀(대칭)·다리앞좌/앞우/뒤좌/뒤우·꼬리. ~1.4유닛.
- 옷 파츠는 part명 "옷" 포함 → village.js가 actor.c로 틴트.
4. village.js 통합 — 범용 캐릭터 렌더러
drawCharacter(model,px,pz,h,T,bob,tint): 박스(5면 깊이정렬) + 구체(투영 타원) + 포즈 오일러 회전(poseRot) + 옷 틴트 + 대각 보행 스윙. project/faceShade/drawQuadTri 재사용.
drawLion=drawCharacter(RAION27). 라이온 구체화(머리/주둥이/눈/코/꼬리술 6구체+26박스).
drawActor: npc→drawCharacter(NPCMODEL,틴트=옷색), pet→drawCharacter(PETMODEL). actorFacing(이동델타)로 진행방향 바라봄. 스틱/타원 폴백 유지.
- 생성기 마을월드.한선에 raion27/npcmodel/petmodel 스크립트 결선.
5. 뷰어 도구
raion27-viewer.html에
OBJ/STL 다운로드 버튼 추가(블렌더 반출). index 🦁 라이온 링크.
검증
- 모델러 구체/회전대칭/복셀 동작. 라이온 구체화 후 종류분포 box26/구6.
- DOM 스모크: RAION27 32 · NPCMODEL 10 · PETMODEL 12 로드, village.js 5프레임 무throw(라이온+NPC+펫 렌더).
- OBJ 256정점/384면, STL 384삼각형. 라이브 :9150 village/raion27.js/obj/npcmodel/petmodel/viewer 전부 200. ZIP에 전 모델자산 포함, cowork 동기.
관련 파일
crownyc/libs/캐릭터모델러.한선(확장)·캐릭터내보내기.한선(신규, 익스포터)
os-site/라이온27.한선(구체+OBJ/STL export)·주민.한선·펫.한선(신규)
- 출력:
시작화면/raion27.js(+os-site)·npcmodel.js·petmodel.js·os-site/raion27.obj·raion27.stl
시작화면/village.js(drawCharacter)·마을월드.한선(결선)·os-site/raion27-viewer.html(OBJ/STL 다운로드)
함정 (학습)
- 모델러 트릿→월드는 밀리유닛 정수(÷1000 소비측). [[이전 doc]]
- 한선씨 double 가져오기(캐릭터모델러 via 라이온+익스포터)는 basename 중복 자동무시로 안전.
잔여 / 다음
- 레퍼런스(raion.kr) 미확인 — raion27-viewer.html로 보고 실제와 다르면 라이온27.한선 파라미터 수정.
- OBJ 익스포터 v2: 회전 적용·구체 위경도 메시. NPC 다리 보행 스윙(다리좌/우 네이밍), 모델러 텍스처/UV.