본문으로 건너뛰기

© 2026 Molayo

Qiita헤드라인2026. 06. 20. 17:56

이미지에서 생성한 3D 모델을 사용하기 전 최소한으로 체크하는 스크립트 제안

요약

AI를 통해 생성된 3D 모델을 게임이나 3D 프린팅 등에 활용하기 전, 품질을 검증하기 위한 Python 스크립트 작성 방법을 제안합니다. 파일 형식, 크기, 메시 및 페이스 수 등을 자동으로 체크하여 CSV로 리포트를 생성하는 워크플로우를 다룹니다.

핵심 포인트

  • AI 생성 3D 모델의 실무 활용 전 필수 체크 항목 정리
  • Python과 trimesh 라이브러리를 활용한 자동화 스크립트 구현
  • 파일 형식, 크기, 메시/페이스 수 등 주요 지표 자동 추출
  • 검증 결과를 CSV로 출력하여 효율적인 데이터 관리 지원

이미지에서 3D 모델을 생성할 수 있는 도구가 늘어나고 있습니다. 프로토타입이나 검증 용도로는 상당히 편리하지만, 생성된 모델을 그대로 게임, Web 3D, 3D 프린팅에 사용할 수 있다고 단정할 수는 없습니다.

이 기사에서는 이미지에서 생성한 3D 모델을 사용하기 전에, 최소한으로 체크하기 위한 스크립트 제안을 정리합니다.

하고 싶은 일

  • 생성된 3D 모델을 폴더에 배치
  • 파일 형식과 크기를 목록화
  • GLB의 경우 mesh(메시) 수나 face(페이스) 수를 대략적으로 확인
  • CSV로 체크 결과 출력
  • 사람이 확인해야 할 항목을 메모

전제

항목내용
입력흰색 배경의 오브젝트 이미지, 또는 AI 생성 이미지
생성Image-to-3D 도구로 모델화
출력GLB, OBJ, STL, FBX 등
용도게임, Web 3D, AR, 3D 프린팅, 프로토타입
생각 방식완성품이 아니라, 확인·수정하기 위한 밑바탕으로 취급

환경

이번에는 Python으로 가볍게 확인하는 것이므로, 최소 구성은 다음과 같습니다.

Windows 11 / macOS
Python 3.10+
trimesh
openpyxl 또는 csv 표준 라이브러리

GLB의 mesh 정보를 읽으려면 trimesh를 설치해 둡니다.

python -m venv .venv
..venv\Scripts\activate
pip install trimesh

디렉토리 구성

model_check/
input_images/
chest.png
chair.png
generated_models/
chest.glb
chair.glb
robot.stl
reports/
check_models.py

먼저 볼 체크 항목

확인 항목체크 내용자동화 용이성
formatGLB, OBJ, STL 등 예상 형식인가높음
file size너무 무겁지 않은가높음
mesh / face countGLB 등으로 개략적인 수치를 파악중간
texture늘어남, 번짐, 그림자 베임(baked shadows)낮음
silhouette원본 이미지의 느낌이 남아 있는가낮음
printability두께, 구멍, 접지면낮음

체크용 Python 스크립트

다음은 generated_models 하위의 모델을 탐색하여, 형식, 파일 크기, GLB의 mesh/face 수를 CSV로 출력하는 예시입니다.

from pathlib import Path
import csv

try:
    import trimesh
except ImportError:
    trimesh = None

MODEL_DIR = Path("generated_models")
REPORT_DIR = Path("reports")
OUT_CSV = REPORT_DIR / "model_check.csv"
TARGET_EXTS = {".glb", ".gltf", ".obj", ".stl", ".fbx", ".usdz"}

def inspect_glb(path: Path):
    if trimesh is None:
        return "", "", "trimesh not installed"

    try:
        scene = trimesh.load(path, force="scene")
        geometries = list(scene.geometry.values())
        ...
def main():
    REPORT_DIR.mkdir(parents=True, exist_ok=True)
    rows = []

    for path in sorted(MODEL_DIR.iterdir()):
        if path.suffix.lower() not in TARGET_EXTS:
            continue
        ...

if name == "main":
main()


CSV 출력 예시

file,format,size_mb,mesh_count,face_count,note
chest.glb,glb,12.4,3,185432,
chair.glb,glb,38.7,5,642001,
robot.stl,stl,55.2,,,large file

수동으로 봐야 할 항목

스크립트로 볼 수 있는 것은 일부뿐입니다. 다음은 최종적으로 사람이 육안으로 확인하는 것이 좋습니다.

- 원본 이미지의 실루엣이 남아 있는가
- 측면이나 배면에 부자연스러운 보완이 없는가
- 텍스처 (Texture)가 늘어나 있지 않은가
- 3D 프린팅을 하는 경우, 너무 얇은 부품이 없는가
- 게임이나 Web에서 사용하는 경우, 파일 사이즈가 너무 무겁지 않은가

도구 예시: Hi3D

이번처럼 이미지로부터 3D 모델을 만드는 경우, Hi3D와 같은 Image-to-3D 툴을 사용하면 이미지 입력부터 모델 생성, 형식 출력까지 테스트하기 쉽습니다. GLB, OBJ, STL, FBX, USDZ 등 여러 형식으로 출력할 수 있다는 점은 후속 공정의 확인에 적합합니다.

정리

3D 모델 생성 AI는 이미지로부터 3D 모델의 밑바탕을 만드는 데 편리합니다. 다만, 생성 결과의 외관만으로 판단하지 말고, 용도별 체크를 거친 후 사용하는 것이 안전합니다.

우선 파일 형식, 사이즈, face 수 등 자동화하기 쉬운 항목을 CSV화하고, 마지막에 사람이 외관과 용도 적합성을 확인하는 흐름이 다루기 쉽습니다.

AI 자동 생성 콘텐츠

본 콘텐츠는 Qiita AI의 원문을 AI가 자동으로 요약·번역·분석한 것입니다. 원 저작권은 원저작자에게 있으며, 정확한 내용은 반드시 원문을 확인해 주세요.

원문 바로가기
0

댓글

0