Post

2026-04-11~12-TA02

2026-04-11~12-TA02

제미나이로 캐릭터 이미지 생성

• 2D 정면 이미지 생성

원하는 형태의 캐릭터 원화를 얻기 위해, 제미나이 프롬프트를 단계별로 수정하며 이미지를 구체화한 과정입니다.

   
초기 광전사
1. 광전사 프로필 아이콘 생성
동양풍 변경
2. 동양풍 스타일로 변경
사무라이 느낌
3. 사무라이 느낌 추가
무념무상 표정
4. 무념무상한 표정으로 변경
칼 제거
5. 캐릭터 강조를 위해 무기(칼) 제거
문신 제거
6. 상체 문신 제거
최종 완성
7. 얼굴 상처 제거 및 2D 원화 최종 완성
  


• T자형(T-Pose) 캐릭터 이미지 생성

3D 모델링 AI(Meshy)가 구조를 쉽게 인식할 수 있도록, 완성된 정면 원화를 T자형으로 변환하는 작업을 진행했습니다. 이 과정에서 비율을 조정하며 여러 시행착오를 겪었습니다.

   
T자형 기본
1. 기본 T자형 자세로 생성
바지 추가
2. 바지 추가
오류 1
3. 비율 붕괴 (하체 연장 시도 중 오류)
오류 2
4. 비율 붕괴2
비율 재수정
5. 비율 재수정 (초기 생성 결과와 비슷해짐)
오류 3
6. 다리 비율 축소 요청 시, 바지 길이만 줄어드는 현상
최종 T자형
7. 최종 확정된 T자형 이미지
  




• 3D Meshy 이미지 생성

앞서 만든 T자형 캐릭터 원화를 바탕으로, 3D 모델링 AI 서비스인 Meshy를 활용해 3D 모델 변환을 시도한 과정입니다.


1. Meshy 6 모델 (고퀄리티 & 유료)

가장 최신 모델인 Meshy 6를 사용하여 변환을 시도했습니다.

  • 설정: 모델 유형(표준), 라이선스(CC BY 4.0)

Meshy 6 모델 생성 화면

생각보다 모델링 퀄리티가 훨씬 높게 나와서 1차로 놀랐습니다. 곧바로 원화 이미지를 기준으로 텍스처(매핑) 작업까지 시도해 보았습니다.

Meshy 6 텍스처 적용 정면 Meshy 6 텍스처 적용 측면

무료 AI 툴이라고 믿기 힘들 정도로 퀄리티가 나왔습니다. 하지만 단점을 발견했습니다.

알게 된 점
Meshy 6 버전으로 제작된 고퀄리티 모델은 눈으로 볼 수는 있지만, FBX 등의 3D 파일로 ‘다운로드’ 하려면 구독 결제가 필수였습니다.

Meshy 6 다운로드 유료 안내


2. Meshy 5 모델 (무료 & 저퀄리티)

무료로 다운로드가 가능한 이전 버전인 Meshy 5로 다시 생성을 진행했습니다.

Meshy 5 모델 생성 화면

Meshy 6와 비교했을 때, 육안으로도 퀄리티 저하가 보이고 면과 정점 수에서 확연한 차이가 났습니다.

면과 정점 수치가 다르면 무엇이 달라질까?
3D 모델은 수많은 점(정점)과 그 점들을 이은 다각형 면(폴리곤)으로 이루어집니다.
이 수치가 높을수록 곡선이 부드러워지고 세밀한 묘사가 가능해지지만(고퀄리티), 데이터가 무거워집니다.
반대로 수치가 낮으면 각져 보이고 퀄리티는 떨어지지만, 게임 엔진(Unreal/Unity)에 올렸을 때 컴퓨터 자원을 적게 먹어 렌더링 최적화에 유리합니다.

이제 똑같이 T자형 이미지를 기준으로 텍스처를 입혀보았습니다. (설정: 폴리곤 맥스)

Meshy 5 텍스처 적용 정면 Meshy 5 텍스처 적용 얼굴 확대

결과는 아쉬웠습니다. 전체적인 퀄리티 차이는 물론이고, 특히 얼굴 부분의 눈 텍스처가 기괴하게 일그러진 형태로 구현되었습니다.


텍스처 부분 수정 시도

눈 부분을 정상적으로 되돌리기 위해 Meshy 자체 기능인 텍스처 편집(마스킹)을 시도해 보았습니다.

텍스처 마스킹 영역 지정 얼굴 부분 확대 레퍼런스

수정할 눈 주변 영역을 마스킹하고, 확대된 레퍼런스 이미지를 제공하여 텍스처를 덮어씌우려고 했습니다.

텍스처 편집 유료 안내

알게 된 점
마스킹을 통한 부분 텍스처 편집 기능 역시 유료 결제를 해야만 적용하고 모델에 저장할 수 있는 기능이었습니다. 결국 무료 버전의 한계를 체감했습니다.




• blender로 리메쉬 / 리토폴로지까지 시도

일단 이번 과제의 의미는 AI 기반으로 캐릭터 및 3D모델링을 만들고, 실제 엔진에 적용해보는 경험 핵심이여서 무료 버전 3D 모델로 사용하겠습니다.

블렌더 조작과 리토폴로지 작업을 위해, 아래 두 개의 유튜브 영상을 참고하며 과제를 진행했습니다.

(학습 참고 영상: AI 모델링 최적화 가이드 / 블렌더 기초 총정리)

Auto Mirror 정의

“수동으로 해야 하는 대칭 세팅을 간편히 끝내주는 자동화 도구”

  • Auto Mirror의 장점: 오브젝트를 선택하고 버튼 하나만 누르면, 알아서 절반을 자르고 대칭 모디파이어를 완벽하게 세팅해 줍니다.

메뉴가 안 보일 때

블렌더에서 Auto Mirror 직접 다운로드하여 활성화해야 합니다.

  1. 다운로드 (Get Extensions)
    • 상단 메뉴에서 편집(Edit) ➡️ 환경 설정(Preferences)으로 들어갑니다.
    • 왼쪽 탭에서 확장 프로그램 받기(Get Extensions)를 클릭합니다.
    • 검색창에 mirror를 검색한 뒤, [Auto Mirror]를 찾아 Install(설치) 버튼을 누릅니다.
  2. 애드온 활성화 (Add-ons)
    • 다시 왼쪽 탭에서 애드온(Add-ons) 메뉴로 이동합니다.
    • 검색창에 mirror를 치면 설치된 Mesh: Auto Mirror가 나옵니다.
    • 왼쪽의 체크박스를 클릭하여 활성화해 줍니다.


리토폴로지(폴리곤 최적화)

AI 모델링 툴에서 추출한 기본 모델은 면의 개수가 너무많아, Unreal에 그대로 올리기에는 무리가 있습니다. 따라서 블렌더의 Decimate 모디파이어를 사용하여 폴리곤 수를 줄이는 최적화 작업을 진행했습니다.

모델의 전체적인 실루엣(외형)이 붕괴하지 않는 선까지 수치를 조절하였습니다

사진 데시메이트 전

사진 데시메이트 후


리메쉬는 보류

리메쉬가 필요한 사진

데시메이트를 통한 강제적인 폴리곤 병합은 사진 같은 부작용이 있습니다.

하지만 AI 기반으로 캐릭터를 만들고, 실제 엔진에 적용해보는 경험이 핵심이여서 리메쉬 작업은 일단 다음에 도전하기로 했습니다.




• Mixamo의 Auto Rigging 기능을 활용

리깅 위치 정하기

리깅 성공 후 사진




• Unreal Engine에 임포트 및 확인

임포트

결과

  • 성공: 스켈레톤(Skeleton) 구조와 애니메이션 데이터는 깨짐 없이 임포트되었습니다.
  • 문제: 모델이 텍스처가 없는 기본 재질 상태로 출력되는 문제가 생겼습니다.




• blender에서 텍스처 베이크 및 머티리얼 설정

처음에는 원본 하이폴리곤 모델의 텍스처를 로우폴리곤 모델로 추출하기 위해 블렌더에서 베이크 작업을 시도했습니다.

  1. UV 언랩 (UV Unwrapping): 고화질의 색상을 저폴리곤(Low) 모델에 입히기 위해, 3D 모델을 평면 지도로 펼치는 단계.
  2. 베이크 준비 (Bake Setup): 폴리곤 최적화 전, 하이폴리곤(High) 모델의 색상 정보를 로우폴리곤(Low) 모델용 도화지에 옮기기 위한 설정.
  3. 베이크 실행 (Baking Process)

베이크

적용 실패

하지만 위 사진처럼 텍스처가 정상적으로 입혀지지 않는 문제가 발생하여 이 방법은 실패로 돌아갔습니다.




• 파이프라인 변경 (FBX + Mixamo 오토 리깅)

AI한테 물어봐 더 쉬운 방법을 찾았습니다.

  1. 포맷 변경: Meshy에서 .glb 파일 대신 .fbx 포맷으로 다운로드합니다. (이렇게 하면 텍스처 이미지 파일들이 알아서 분리되어 함께 제공됩니다.)
  2. 최적화: 블렌더에서 Decimate 모디파이어를 0.1로 설정하여 폴리곤 수를 줄여줍니다.
  3. 리깅: Mixamo(믹사모)를 활용해 뼈대를 심어주는 오토 리깅(Auto-Rigging)을 진행합니다.
  4. 임포트: 세팅이 완료된 FBX 파일을 언리얼 엔진(Unreal Engine)으로 가져옵니다.

언리얼에서 머티리얼 생성을 하고 AI 3D Meshy에서 제공한 텍스처를 머티리얼에 파일명과 똑같은 항목에 연결했습니다.

머티리얼

  • Base Color (기본 색상): 빛의 반사나 그림자가 없는 오브젝트의 순수한 고유 색상입니다. 캐릭터의 피부색, 옷 색깔 등이 담긴 가장 기본적인 텍스처입니다.
  • Metallic (금속성): 재질이 금속인지 비금속인지를 결정합니다. (0 = 나무, 천, 피부 같은 비금속 / 1 = 철, 금 같은 순수 금속).
  • Roughness (거칠기): 표면이 얼마나 매끄러운지, 거친지를 결정합니다. 수치가 0에 가까울수록 거울이나 젖은 바닥처럼 빛을 선명하게 반사하고, 1에 가까울수록 흙이나 무광 콘크리트처럼 빛이 퍼집니다.
  • Normal (노멀): 푸르스름한 색을 띠는 텍스처로, 실제 폴리곤을 늘리지 않고도 빛의 굴절을 조작해 표면에 오돌토돌한 입체감(디테일)이 있는 것처럼 눈속임해 주는 핵심 맵입니다. 옷의 주름이나 피부 모공 등을 표현합니다.
  • 적용 방식:
    • 기본 색상(.png)의 RGB ➡️ Base Color
    • Metallic의 RGB ➡️ Metallic
    • Roughness의 RGB ➡️ Roughness
    • Normal의 RGB ➡️ Normal

적용 결과

머티리얼 연결을 마치고 애니메이션을 적용한 최종 모습입니다.

데시메이트(강제 폴리곤 병합)의 부작용으로 얼굴 쪽의 텍스처와 형태가 일그러지는 현상은 피할 수 없었습니다.
엔진에 모델을 올리고 텍스처를 입히는 전체 파이프라인은 성공했으나, 추후에는 일그러짐을 잡기 위해 블렌더에서 리메쉬 작업에 도전해 볼 생각입니다.

This post is licensed under CC BY 4.0 by the author.