기능적이고 관절이 있는 부품을 가진 3D 객체를 생성하기 위해 제가 만든 도구. GitHub에 공개되어 있으며, 대부분의 LLM에 구애받지
요약
기존의 text-to-3D 방식이 단순한 메쉬 덩어리를 생성하는 한계를 극복하기 위해, LLM을 구조화된 코드 컴파일러로 활용하여 기능적 부품과 관절을 가진 3D 객체를 생성하는 도구인 Nova3D를 소개합니다. 이 파이프라인은 Blender Python 코드를 생성하여 씬 그래프를 직접 조작함으로써, 변환 노드와 피벗 축이 보존된 정교한 다중 부품 GLB 파일을 출력합니다.
핵심 포인트
- LLM을 이미지 생성기 대신 Blender Python 코드를 작성하는 구조화된 코드 컴파일러로 활용
- 단순한 포인트 클라우드 생성이 아닌, 실제 씬 그래프 구조를 기반으로 한 부품 단위의 3D 모델링 구현
- 힌지(hinge) 및 소켓(socket)과 같은 기능적 관절과 작동 가능한 피벗 축을 포함한 GLB 파일 내보내기 지원
- 특정 모델에 종속되지 않는 모델 불가지론적(model-agnostic) 설계로 다양한 LLM 사용 가능
- 복잡한 행렬 수학 계산 시 LLM의 환각(hallucination) 현상이 발생할 수 있는 기술적 과제 존재
이 영상은 저의 파이프라인이 (단일한 3D 덩어리가 아닌) 분리된 기능적 부품들로 구성된 3D 세탁기를 어떻게 생성하는지 보여줍니다. 힌지(hinge)/소켓(socket) 관절 기능도 있어 내부 조립체가 실제로 회전하거나 돌아갑니다.
제가 해결하려는 문제: 현재 거의 모든 text-to-3D 파이프라인은 단순히 디퓨전 (diffusion) 또는 디퓨전과 유사한 가중치를 통해 메쉬(mesh) 덩어리를 생성할 뿐입니다. 생성된 총기의 범위를 바꾸고 싶다면? 프롬프트에서 단어 하나만 바꿔도 전체 또는 대부분이 처음부터 다시 생성됩니다. 모델이 총기에 '부품'이 있다는 개념이 전혀 없기 때문입니다. 이러한 시스템들에게는 모두 차별화되지 않은 포인트 클라우드 (point clouds)일 뿐입니다.
저는 그것을 바꾸려고 시도했습니다. 저의 파이프라인은 이미지 생성기 대신 LLM을 구조화된 코드 컴파일러 (structured code compiler)로 사용합니다. 이는 씬 그래프 (scene graph)의 특정 노드를 대상으로 하는 네이티브 Blender Python 코드 블록을 작성합니다.
핵심은 모든 것이 픽셀이나 포인트 클라우드 디퓨전 대신 Blender의 실제 씬 그래프 구조를 통해 컴파일된다는 점입니다. 최종 내보내기는 변환 노드(transform nodes)와 작동하는 피벗 축(pivot axes)이 보존된 깔끔한 다중 부품 GLB 파일입니다.
스택 (Stack):
프론트엔드는 Flutter이며, 브라우저 내 렌더링 및 노드 조작을 위한 Three.js 뷰포트 하네스 (viewport harness)를 사용합니다. 기본적으로는 제가 호스팅하는 API를 호출하지만, 셀프 호스팅이 가능하도록 모델 불가지론적 (model-agnostic)으로 제작했습니다.
프론트엔드 저장소는 오픈 소스입니다: https://github.com/RareSense/Nova3D
또한 안 좋은 소식도 있습니다: 로컬 모델들이 근접하고는 있지만*, 복잡한 변환(transforms) 시 Blender의 내부 행렬 수학 함수 (matrix math functions)를 여전히 심하게 환각 (hallucinate)합니다. 저는 실제로는 물체를 4차원으로 회전시키고 있는 "올바르게 보이는" 코드를 디버깅하는 데 너무 많은 시간을 보냈습니다. 파이프라인 코드 자체는 완전히 LLM 불가지론적이지만, 최상의 결과를 얻으려면 BYOK(Bring Your Own Key) 방식으로 Gemini를 사용해 보세요. 저보다 똑똑한 분들과 협업하여 이를 훌륭한 오픈 소스 후보로 리깅(rig)하고 싶지만, 저 스스로는 그 부분에서 실패했습니다.
또한 3D 생성 문맥에서 프롬프트-투-코드 (prompt-to-code) 파이프라인을 다루는 분들의 기술적인 피드백을 받고 싶습니다.
참고로, 재미 삼아: 흥미로운 생성 예시들:
- Boston Dynamics 스타일의 로봇 개: https://imgur.com/a/CqMYgrF
- 전자레인지: https://imgur.com/a/hIqIJdr
AI 자동 생성 콘텐츠
본 콘텐츠는 Reddit AI Engineering의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.
원문 바로가기