JEONGSIC.xyz / 유정식

3D Content R&D

Stable Diffusion 등 3D 콘텐츠 프로토타이핑

Stable Diffution API를 이용한
텍스처 생성 프로토타이핑

프로젝트 소개

ChatGPT를 시작으로 본격적인 생성형 AI흐름이 시작되면서, 3D 분야에서도 AI를 활용한 다양한 시도들이 있었습니다. 블렌더 같은 3D 툴 내부에서도 텍스처를 생성하는 플러그인들이 나오기 시작했는데, 본 프로젝트는 웹상에서 3D 텍스처를 생성할 수 있는 경험을 프로토타이핑 해보면서 추후 관련 프로젝트 진행시 어떤 부분을 추가로 고려해야하는지 미리 파악해보는 작업이었습니다.

구현

Vite, React, React-three/fiber, Vanilla-extract, Huggingface API

일반적으로 다운로드할 리소스를 줄이기 위해 3D 모델에 사용되는 텍스처를 최대한 작은 개수로 제작하게 됩니다. 때문에 모델의 특정 부분에만 텍스처를 업데이트 하기 위해서는 해당 텍스처를 동적으로 업데이트해야 했습니다. 프로토타입에서는 변경 가능성이 있는 텍스처에 마스킹 영역을 지정하고, API를 통해 텍스처에 사용할 이미지를 전달받았을 때 Canvas 상에서 이미지를 병합하여 모델에 적용하는 방식으로 구현했습니다.

API 요청 후 응답에까지 걸리는 대기 시간이 너무 길었기 때문에, 로딩타임을 기다리는데 지루함을 조금이나마 덜어줄 수 있는 방안이 필요하다 생각했습니다. 그것을 위해 텍스처 변경이 일어나는 부위에 BloomEffect가 적용되도록 구성하여 보완했습니다.

카툰 렌더링 프로토타이핑

프로젝트 소개

3D모델을 표현할 때, 늘 현실감 넘치는 표현이 필요한 것은 아닙니다. 3D 모델의 특성에 따라 다른 스타일로 표현해야 할 때가 있는데, 애니메이션 스타일 NFT 프로젝트인 AZUKI와의 협업 논의하던 과정에서 카툰 스타일의 렌더링을 방식을 검토하게 되었습니다. 본 프로젝트는 웹상에서 카툰 스타일 렌더링을 하기 위한 방법을 검토하고, 프로토타이핑을 해보는 작업이었습니다.

구현

Vite, React, React-three/fiber, CSS modules(SCSS)