MyMallow - RealityKit으로 구현한 3D 캐릭터 감정 일기
(blog.devstory.co.kr)사용자가 자신의 감정을 3D 캐릭터로 의인화하고 직접 꾸밀 수 있는 iOS 앱, MyMallow를 소개합니다. 2개월간 진행한 프로젝트로, 단순히 일기를 쓰는 것을 넘어 '사용자 참여형 3D 콘텐츠 생산' 에 초점을 맞추어 개발했습니다.
주요 기능
- 커스텀 텍스처: 사용자가 캔버스에 그린 그림을 Vision 프레임워크로 분석하여 3D 모델의 머티리얼에 실시간 매핑합니다.
- 나만의 모션 캡처: 내장된 195개의 모션 외에도, ARKit의 Body Position Tracking을 활용해 사용자의 동작을 직접 녹화하고 캐릭터에 적용할 수 있습니다.
- 자율 행동 NPC: GameplayKit의 상태 머신(State Machine)과 경로 탐색을 결합하여, 캐릭터들이 모닥불 근처에서 춤을 추는 등 환경에 맞춰 자율적으로 행동합니다.
핵심 기술 구현 포인트
-
RealityKit & 3D 파이프라인: Blender로 제작한 모델을
.usdz로 변환하여 사용하며, 런타임에 모델의 텍스처와 리깅 구조를 동적으로 제어합니다. - 모션 최적화: 캡처된 데이터의 노이즈를 줄이기 위해 Low-pass 필터와 Slerp(구면 선형 보간) 를 적용하여 부드러운 애니메이션을 구현했습니다.
- 물리 및 공간 음향: Collision Detection 기반의 물리 시뮬레이션과 Spatial Audio를 지원하는 파티클 시스템을 통해 몰입감 있는 3D 공간을 구성했습니다.
- 본(Bone) 구조 통합: Mixamo(65개)와 Apple ARBody(91개)의 서로 다른 본 구조 문제를 해결하기 위해, 상황에 따라 리깅된 모델을 교체하는 방식을 채택했습니다.
단순한 기록 도구를 넘어 RealityKit의 다양한 가능성을 탐구해 본 프로젝트입니다.