본문으로 건너뛰기

UModeler 블로그를 시작하며

· 약 19분
황재식

안녕하세요. 이렇게 블로그를 시작하게 되어서 몹시 기쁩니다. 첫 블로그 내용을 무엇으로 할까 고민하다가 상대적으로 얘기할 기회가 많지 않았던 UModeler X 개발을 왜 하게 되었고 어떤 과정을 거쳤으며 앞으로 어떻게 발전시켜 나갈지 등에 대한 내용을 다루면 흥미로울 것 같아서 이에 대한 이야기를 이번 블로그에서 해볼까 합니다.

기존의 UModeler가 유니티 개발자들에게 많은 사랑을 받고 있는 와중에 UModeler X 개발을 시작하게 된 이유는 다음과 같습니다.

  1. 유니티 에디터에서 고용량의 하이폴리 3D 데이터도 원활히 편집할 수 있도록 하기 위해서
  2. 모델링 뿐만 아니라 리깅과 페인팅 그리고 스컬프팅까지 3D 데이터 제작에 필요한 모든 기능을 통합해서 유니티 안에서 게임을 100% 만들 수 있도록 하기 위해서
  3. 에디터용 솔루션 뿐만 아니라 런타임 솔루션 개발을 위한 기반을 마련해서 유니티 밖의 더 많은 3D 창작자들을 위한 새로운 제품 개발을 위해서
  4. UModeler X로 3D 월드, 게임, 아이템, 캐릭터 등 다양한 콘텐츠를 직접 만들고 여기서 나온 결과물로 더 많은 창작자들의 창작 활동을 돕기 위해서

UModeler X 개발 스토리

UModeler X는 2020년 중반부터 본격적으로 개발을 시작하면서 기술적으로 그리고 기획적으로 다양한 도전에 맞닥드리게 되었고 이러한 도전들을 하나하나 극복하면서 지금의 모습에 이르게 되었습니다. 주로 어떤 과정을 거쳐서 개발이 되었는지 간단하게 소개하도록 하겠습니다.

2020년

  • 개발 초반에는 메쉬를 구성하는 버텍스, 엣지, 페이스의 구성 요소들간의 연결성 정보가 빠르게 업데이트 될 수 있는 아키텍처를 구현하는 것과 더불어서 이러한 메쉬 구성 요소의 시각화와 선택 그리고 움직임 처리가 깔끔하고 신속하게 처리될 수 있는 것에 초점을 맞추었습니다. 이러한 아키텍처를 구현하는데 있어서 블렌더의 BMesh 아키텍처가 많은 도움이 되었습니다. 성능을 검증하기 위해서 80만개 폴리곤의 Standford Dragon 메쉬로 모델링의 가장 기본인 엘러먼트 선택, 이동 테스트를 진행하였고 그 결과 UModeler X로 유니티에서 하이폴리 모델을 충분히 에디팅 할 수 있는 것을 확인할 수 있었습니다.
  • 이와 더불어 커멘드 기반의 모듈화 방식을 도입해서 작업의 효율성을 높히고 Undo/Redo시 필요한 데이터 크기를 획기적으로 줄일 수 있었습니다.
  • 모디파이어(Modifier)를 도입하여 원본 메쉬(Source Mesh)을 수정하지 않고 변형을 할 수 있는 기능 역시 추가했습니다. 초기에 구현된 Mirror, Subdivide, FFD, Shell, Push 모디파이어는 모델링을 한층 더 쉽고 효율적으로 할 수 있도록 만들어 주었습니다.
  • OpenSubidiv 라이브러리를 도입해서 저품질, 저용량 3D 데이터를 고품질, 고용량의 3D 데이터로 바로 변환해주는 서브디비전(Subdivision) 툴을 구현하게 됩니다.

2021년

  • MVVM(Model-View-ViewModel)을 도입해서 렌더링과 데이터 그리고 실제 구현을 분리하였습니다. 그리고 UI 디자인을 한층 더 세련되게 업그레이드 하였습니다.
  • GPU를 활용해서 고용량 메쉬의 버텍스, 엣지, 페이스를 고성능으로 선택할 수 있는 솔루션을 개발했습니다.
  • 기본 도형(Primitive Shapes), Add, Remove, Surface 그룹에 속하는 다양한 모델링 관련 기능을 새로운 아키텍처 기반 위에 구현을 하였습니다.
  • 빌트인 UV 에디터를 구현해서 UV 언랩 및 편집을 할수 있도록 하였습니다.
  • 2021년 여름에 이때까지 구현된 UModeler X 기능을 십분 활용하여 기존 UModeler는 성취하지 못했던 하이엔드 3D 모델을 만들 수 있었습니다.
  • UV 편집에서는 LSCM 알고리즘을 이용한 언랩 기능이 추가되어서 복잡한 메쉬도 봉재선(Seam)을 따라 왜곡을 최소화해서 2D UV 좌표로 펼 수 있도록 하였습니다.
  • 캐릭터 애니메이션을 위한 리깅을 마침내 구현했습니다. 뼈대(Skeleton) 구조를 만들 수 있을 뿐만 아니라 기존의 뼈대를 가져와서 바로 사용할 수 있게 되었습니다. 그리고 다른 메쉬의 가중치(Weight)를 바탕으로 가중치를 계산하는 Weight Transfer 기능까지 구현했습니다. 이 때까지 구현된 모델링 기능과 리깅을 최대한 활용해서 제페토 메타버스의 캐릭터 아이템을 성공적으로 제작할 수 있었고 그 결과 UModeler X의 성능을 검증할 수 있었습니다.

2022년

  • UModeler X로 제작한 2.5등신의 귀여운 캐릭터를 UModeler로 제작한 배경과 결합한 데모를 제작해서 지속적으로 UModeler X의 기능을 검증해나갔습니다.
  • 3D 모델에 브러시로 바로 채색을 할 수 있는 3D 페인팅 모드를 개발했습니다. 포토샵처럼 레이어를 지원하며 각 레이어는 Paint, Fill, Sticker 속성을 가질 수 있습니다. 2D 페인팅도 함께 지원합니다. 페인팅 기능을 통해 그 동안 번거로웠던 텍스처 제작도 유니티에서 할 수 있게 되었습니다.
    • 3D 페인팅 프로토타입
    • 3D 페인팅 1차 버전
  • 유니티를 배우는 학생들을 대상으로 알파 테스트를 3회 이상 진행했습니다. 이를 통해 정말 다양한 피드백을 받을 수 있었고 UModeler X의 완성도를 한층 더 끌어올릴 수 있었습니다.
  • 2022년에는 새로운 기능 추가와 더불어 안정적이면서 확장 가능한 시스템을 만들고 기술 부채를 해소하는데 많은 시간과 노력을 투자하였습니다. 그 결과 기존에 구현되었던 커멘드 시스템, 프리팹과 툴 사용 워크 플로우가 대대적으로 개선되었고 반복적인 테스트를 통해 많은 문제점을 발견하고 이러한 문제를 해결하는데 초점을 맞추었습니다. 이러한 작업은 외부에서 보면 큰 변화가 없는 것처럼 보일 수 있지만 궁극적으로 더 힘껏 도약하기 위한 발판을 마련했다라고 볼 수 있을 것입니다.

2023년

  • 1차 클로우즈 베타 (2023년 3월~)
    • 제페토 크리에이터 대상으로 클로우즈 베타를 진행했습니다. 제페토는 유니티를 크리에이터를 위한 개발 스튜디오로 사용하고 있습니다.
    • 1월에 랜딩 페이지를 만들어서 공개하였고 이 페이지에 이메일을 남긴 사용자들에게 3월 29일에 사용 권한을 부여하였습니다.
    • 실제로 신청한 사람의 수에 비해서 UModeler X를 사용한 사람의 수가 많지는 않았지만 그래도 실제 제페토 크리에이터로부터 도움이 되는 피드백을 받을 수 있었고 UModeler X 개선에 많은 도움이 되었습니다.
    • 제페토의 다양한 체형에도 대응할 수 있도록 리깅과 익스포트 기능을 개선하였습니다.
    • UModeler X 공식 매뉴얼 사이트를 오픈했습니다. 도큐사우르스 솔루션을 이용해서 매뉴얼 사이트를 구축하였습니다.
  • 2차 클로우즈 베타 (2023년 7월~)
    • 초대장 이벤트를 진행했습니다. 이미 초대받은 사람에게 초대장을 받거나 홈페이지에서 직접 신청하면 받을 수 있었습니다. 바이럴 마케팅 일환으로 초대 이벤트를 한 것이였는데 지금 생각해보면 하지 않는 편이 좋지 않았을까 생각이 드네요.
    • 기존 UModeler 사용자들에게 UModeler X를 알리기 시작했습니다. UModeler 디스코드 채널에 UModeler X 카테고리를 신설했고 동시에 유니티 개발자들이 활동하는 커뮤니티에 UModeler X의 2차 클베 소식을 전했습니다.
    • 1차 데모 영상을 공개하였습니다.
    • 시작하기 튜토리얼 영상을 공개했습니다. UModeler X를 시작하는데 훌륭한 가이드 역할을 해주고 있습니다.
    • 믹사모 컨셉의 오토 리깅 피처를 추가했습니다. 가이드 포인트만 설정하면 휴먼과 4족보행 형태의 메쉬에 스켈레톤을 생성하고 버텍스에 가중치까지 할당합니다.
    • Stable Diffusion + WebUI와 연동해서 동작하는 AI 텍스처링을 게임 회사인 너디스타와의 협업을 통해 구현하였습니다. 씬뷰의 3D 모델에 AI로 생성된 이미지를 바로 프로젝션시켜서 번거로운 텍스쳐 제작 과정을 간소화시킬 수 있습니다.
  • 오픈 베타 (2023년 9월~)
    • 초대 없이도 이 때부터는 누구나 가입만 하면 UModeler X를 사용할 수 있게 되었습니다.
    • 2차 데모 영상을 공개하였습니다.
  • UModeler X를 유니티 에셋 스토어에 출시하였습니다. 누구나 에셋 스토어에서 UModeler Hub를 다운로드 받고 UModeler X를 사용할 수 있게 되었습니다.
  • 유니티 공식 온라인 교육 사이트(learn.unity.com)에 UModeler X 시작하기 강좌를 오픈하였습니다.
  • 신티 스튜디오의 에셋을 UModeler X를 사용하면 유니티에서 바로 편집하고 애니메이션 시킬 수 있습니다. 이러한 장점을 보여주는 데모 영상을 제작하였습니다.

앞으로

UModeler X를 통해 월 110만명 이상이 사용하는 유니티 에디터를 보다 쉽고 편리하게 3D 콘텐츠를 제작할 수 있는 툴로 업그레이드 시키는 것이 우리의 목표입니다. 유니티 에디터를 사용하는 누구나 UModeler X를 사용해서 그들의 상상력이 맘껏 발휘될 수 있다면 이 세상은 보다 흥미진진하고 다채로워질 것입니다. 그러한 세상을 위해 UModeler X는 끊임없이 발전, 진화해 나갈 것입니다.

2024년

올해는 기존 UModeler를 특별하게 만들었던 스케치 기반의 스마트 모델링을 UModeler X에도 구현할 계획입니다. 또한 핫스팟 텍스처링과 Curve 에디터도 빠른 시일내에 UModeler X에 탑재될 예정입니다. 그리고 AI 텍스처링 버전 2.0도 여러분을 기다리고 있습니다. 이 외에 더 많은 기능들을 준비하고 있으니 기대해도 좋을 것 같습니다.

UModeler X 시작하기

UModeler X를 설치하기 위해서는 유니티 에셋 스토어에서 허브(UModeler Hub)를 먼저 설치해야 합니다. 이 허브는 UModeler X의 설치 및 업데이트를 책임지며 기타 필요한 에셋도 이 허브에서 다운로드 받을 수 있습니다. 허브를 실행한 후 계정을 생성하고 로그인하면 UModeler X를 설치할 수 있습니다.

설치가 끝나면 앞서 소개한 UModeler X 온라인 매뉴얼을 참고해서 바로 사용해 볼 수 있습니다.

커뮤니티 및 서포트 채널

UModeler X를 사용하면서 개선할 점이나 궁금한 점 혹은 논의하고 싶은 사항이 있다면 UModeler 디스코드 서버를 이용해보세요. 개발자나 UModeler X 사용자로부터 직접 피드백을 받을 수 있습니다. 그리고 UModeler X에 대한 최신 소식으로 해당 서버에서 얻을 수 있습니다. UModeler 유니티 포럼이나 이메일 혹은 네이버 카페를 통해 문의를 주셔도 좋습니다.

리소스

보다 최신 정보를 얻고 싶다면 Twitter, Facebook, Instagram에서 UModeler를 팔로우해주세요.