Tripo와 Zilliz Cloud로 3D 에셋을 위한 멀티모달 검색 구축하기
AI 3D 생성은 에셋 제작을 훨씬 더 빠르게 만들었습니다. AI 3D 모델 생성기인 Tripo를 사용하면 팀은 텍스트 프롬프트, 이미지 또는 스케치로 3D 모델을 생성한 다음 게임 개발, 이커머스, 마케팅, 콘셉트 디자인, 내부 크리에이티브 파이프라인 전반에서 활용할 수 있습니다.
그 속도는 새로운 문제를 만들어냅니다: 에셋이 빠르게 쌓입니다.
생성된 모델 몇 개는 수동으로 관리하기 쉽습니다. 하지만 몇 천 개는 그렇지 않습니다. 디자이너는 이미 존재하는 객체를 다시 생성할 수 있습니다. 게임 팀은 캐릭터, 소품, 환경 변형을 놓칠 수 있습니다. 마케팅 팀은 캠페인에 맞게 에셋을 조정하는 것보다 사용할 만한 에셋을 찾는 데 더 많은 시간을 쓸 수 있습니다.
이 튜토리얼은 생성된 에셋을 검색 가능한 카탈로그로 전환하는 방법을 보여줍니다. Tripo는 3D 제작 레이어이고, Zilliz Cloud는 검색 레이어입니다. Milvus 제작자가 만든 완전 관리형 벡터 데이터베이스 서비스로, 임베딩과 메타데이터를 저장하고, 낮은 지연 시간의 유사도 검색을 지원하며, 벡터 검색과 구조화된 필터를 결합할 수 있게 해줍니다.
이 워크플로에서 각 에셋 레코드는 렌더 미리보기, 구조화된 메타데이터, 하나의 멀티모달 임베딩을 포함합니다. 에셋이 인덱싱되면 사용자는 텍스트, 이미지 또는 텍스트와 이미지를 함께 사용해 검색할 수 있습니다.
만들 것
이 튜토리얼의 라이브러리는 각 3D 에셋을 검색 가능한 카탈로그 항목으로 취급합니다. 3D 메시는 에셋 파이프라인이 저장하는 위치에 그대로 남아 있습니다. 검색 가능한 레코드에는 에셋의 렌더 미리보기, 메타데이터, 저장소 참조, 임베딩이 포함됩니다.
이 데모는 세 가지 유형의 로컬 데이터를 사용합니다:
| 로컬 데이터 | 포함 내용 |
|---|---|
| milvus_dataset.csv | 에셋별 메타데이터: 카테고리, 스타일, 객체 유형, 색상, 사용 사례, 파일 이름, 프로젝트 정보 |
| milvus_render_images/ | Tripo 에셋의 렌더링된 미리보기. 검색하고 반환받는 대상입니다 |
| milvus_input_images/ | image-to-3D 생성에 사용된 참조 이미지. 메타데이터 및 선택적 쿼리 참조로 저장됩니다 |
기본 워크플로는 다음과 같습니다:
Tripo로 생성된 3D 에셋
↓
렌더 미리보기 이미지 + 메타데이터
↓
멀티모달 임베딩
↓
Zilliz Cloud 컬렉션
↓
텍스트, 이미지 또는 텍스트 + 이미지로 검색
↓
일치하는 렌더 이미지와 메타데이터 반환
이 설정은 일반적인 크리에이티브 검색 패턴을 지원합니다:
- 파란색 판타지 검과 같은 콘셉트로 검색합니다.
- 객체 유형, 스타일, 색상 또는 사용 사례로 검색합니다.
- 말로 표현하기 너무 모호할 때 참조 이미지를 사용합니다.
- 참조 이미지와 텍스트를 결합해 결과의 방향을 조정합니다.
- 카테고리, 프로젝트, 작업자, 스타일 또는 생성 모드와 같은 구조화된 필드로 필터링합니다.
그 결과는 단순히 파일 이름이 더 나은 폴더가 아닙니다. 쿼리 가능한 에셋 카탈로그입니다.
렌더 미리보기와 메타데이터가 중요한 이유
3D 모델은 직접 검색하기 쉽지 않습니다. 프로덕션 파이프라인에서 모델은 일반적으로 여러 관련 정보와 함께 제공됩니다:
- 생성된 메시 또는 소스 파일;
- 하나 이상의 렌더 미리보기 이미지;
- 선택적 입력 또는 참조 이미지;
- 캡션 또는 프롬프트;
- 생성된 태그;
- 프로젝트, 소유자 또는 작업자 필드;
- 스타일, 카테고리, 색상, 객체 유형, 사용 사례 메타데이터;
- 에셋으로 다시 연결되는 URL 또는 저장소 키.
이 튜토리얼에서는 렌더 미리보기를 임베딩하는 시각적 객체로 사용합니다. 렌더 미리보기는 형태, 재질, 색상, 시각적 스타일을 멀티모달 임베딩 모델이 이해할 수 있는 형태로 포착하기 때문에 잘 작동합니다.
렌더 미리보기는 임베딩 모델이 보는 객체이므로, 에셋 품질은 검색 품질에 직접적인 영향을 미칩니다. 기하학적 충실도 — 보존된 형태, 가장자리, 장식 — 는 모델에 구조적 신호를 제공합니다. 고해상도 텍스처 — 뚜렷한 재질, 충실한 색상, 표면 디테일 — 는 재질과 색상 신호를 제공합니다. 둘 다 없으면 임베딩은 평평해집니다: 가죽 가방과 캔버스 가방이 모델에는 똑같아 보이고, 검색은 유용하지 않게 됩니다.
메타데이터는 두 번째 제어 계층을 제공합니다. 시맨틱 검색을 실행하면서도 정확한 필터를 적용할 수 있습니다. 하나의 에셋 레코드는 다음과 같을 수 있습니다:
caption: fantasy sword with blue gemstone
llm_object: sword
llm_category: weapon
llm_style: fantasy
llm_color: blue, silver
llm_use_case: game asset
generation_mode: image-to-3D
render_image_file: fantasy_sword.webp
input_image_file: sword_reference.webp
이 조합은 라이브러리를 실제 워크플로에서 유용하게 만듭니다. 예를 들어, 게임 아티스트는 여성 캐릭터를 검색하고 결과 집합을 게임 에셋으로 제한할 수 있습니다. 마케터는 사실적인 가죽 가방을 찾고 프로젝트별로 필터링할 수 있습니다. 이커머스 팀은 정확한 파일명에 의존하지 않고 카테고리와 소재로 검색할 수 있습니다.
이미지 형식 참고
이 데모에서는 공간 효율성을 위해 렌더 및 레퍼런스 이미지를 .webp로 저장합니다. 임베딩 API는 모델과 제공자 라우트에 따라 PNG 또는 JPEG 입력에서 더 안정적일 수 있습니다. 이미지 입력 오류가 발생하면 임베딩하기 전에 WebP 미리보기를 PNG 또는 JPEG로 변환하세요.
이 파이프라인의 도구
이 튜토리얼은 두 시스템을 연결합니다. 하나는 3D 에셋을 생성하는 시스템이고, 다른 하나는 이를 검색 가능하게 만드는 시스템입니다.
Tripo: 생성 계층
Tripo는 200억 개가 넘는 파라미터를 가진 모델을 기반으로 구축된 AI 3D model generator입니다. 주요 제품인 Tripo Studio는 텍스트, 이미지 또는 스케치 입력부터 메시 개선, 텍스처 생성, 리깅, 애니메이션, 내보내기까지 전체 에셋 생성 흐름을 하나의 워크스페이스에서 다룹니다. 표준 메시는 2~5초 안에 생성되며, 이는 에셋 라이브러리가 이 튜토리얼에서 구축하는 검색 파이프라인을 필요로 할 만큼 빠르게 성장하는 이유 중 하나입니다.
여기서는 세 가지 기능이 특히 관련 있습니다:
- Image-to-3D model generation은 기하학적 구조(복잡한 형태, 날카로운 모서리, 장식, 표면 디테일)를 보존하므로 생성된 모델이 입력 레퍼런스에 충실하게 유지됩니다.
- HD Model은 그 충실도를 더욱 높여, 클로즈업 렌더링, 제품 시각화 또는 3D 프린팅에서도 견딜 수 있는 에셋을 위해 최대 200만 개의 면을 지원합니다.
- Texture Generation은 최대 8K 해상도로 충실한 색상 재현, 명확한 소재 구분(금속, 가죽, 직물, 목재), 마모 자국, 나뭇결, 마이크로 텍스처 같은 세밀한 표면 디테일을 추가합니다.
이러한 기능이 함께 각 에셋에 의미 있는 멀티모달 임베딩을 생성할 만큼 충분한 기하학적 및 소재 신호를 제공합니다. 여기서 검색 측면이 등장합니다.
Zilliz Cloud: 검색 계층
Zilliz Cloud는 가장 널리 채택된 오픈소스 벡터 데이터베이스(45,000개 이상의 GitHub 스타, 1억 회 이상의 Docker 풀, 프로덕션에서 사용하는 10,000개 이상의 조직)인 Milvus의 제작자들이 구축한 완전 관리형 Vector Lakebase 플랫폼입니다. 그 핵심에는 1,000억 규모에서 밀리초 미만의 검색을 제공하는 프로덕션 등급 벡터 데이터베이스가 있습니다. 이 튜토리얼에서는 세 가지를 처리합니다:
- 임베딩 저장 — 각 에셋의 멀티모달 벡터가 구조화된 메타데이터와 함께 하나의 컬렉션에 저장됩니다.
- 유사도 검색 — 텍스트, 이미지 또는 결합 쿼리가 동일한 벡터 공간으로 임베딩되어 저장된 렌더 미리보기와 매칭됩니다.
- 필터링된 검색 — 카테고리, 스타일, 사용 사례 또는 프로젝트별 정확한 필터가 하나의 요청에서 시맨틱 검색 위에 계층화되며, 이것이 벡터 더미를 질의 가능한 카탈로그로 바꾸는 요소입니다.
사전 준비 사항
시작하기 전에 다음을 준비하세요:
- Zilliz Cloud 계정 및 클러스터. 이 튜토리얼에는 무료 클러스터로 충분합니다. 가입하고, 클러스터를 생성한 뒤 해당 endpoint와 token을 복사하세요.
- 아래에서 사용하는 멀티모달 임베딩 모델을 위한 OpenRouter API key.
- Python 3.10 이상.
- Milvus Python SDK. 처음 사용하는 경우 PyMilvus 설치 가이드를 참조하세요.
- 렌더링 미리보기 이미지와 메타데이터를 포함한 Tripo 생성 에셋 세트.
- 이미지-to-3D 생성을 위해 사용되는 선택적 참조 이미지.
아래 예제 코드는 tripo_rag.py라는 스크립트를 가정하지만, 동일한 로직을 자체 수집 서비스, 에셋 관리 백엔드 또는 내부 도구로 옮길 수 있습니다.
1단계: Tripo 생성 에셋 데이터 준비
Tripo에서 생성된 에셋으로 시작하세요. 각 에셋에 대해 최소한 하나의 렌더링 미리보기 이미지를 내보내거나 저장하세요. 에셋이 참조 이미지에서 생성된 경우, 해당 참조 이미지도 보관하세요. 이는 디버깅, 검색 결과 미리보기 또는 향후 검색 모드 구축에 유용할 수 있습니다.
메타데이터 CSV의 각 행은 하나의 에셋을 나타내야 합니다. 최소한 다음을 포함하세요:
- 고유한 에셋 ID;
- 렌더링 미리보기 이미지 파일 이름 또는 저장소 키;
- 캡션 또는 생성 프롬프트;
- 사용 가능한 경우 category, object, style, color 및 use-case 필드;
- 팀에 접근 제어 또는 워크스페이스 수준 필터링이 필요한 경우 project 또는 owner 필드;
- 원본 에셋의 URL 또는 저장 위치.
더 풍부한 메타데이터는 나중에 더 나은 필터를 제공합니다. 벡터는 시각적 및 의미적으로 유사한 에셋을 찾는 데 도움이 됩니다. 메타데이터는 결과 집합을 현재 프로젝트에 실제로 사용할 수 있는 에셋으로 좁히는 데 도움이 됩니다.
2단계: Zilliz Cloud 컬렉션 생성
컬렉션의 각 레코드는 하나의 Tripo 에셋을 나타냅니다. 구조화된 필드는 메타데이터를 저장합니다. multimodal_vector 필드는 렌더링 미리보기에 대한 임베딩을 저장합니다.
아래 예제는 3072차원 벡터와 COSINE 유사도를 사용합니다. 사용하는 임베딩 모델에 맞춰 차원을 유지하세요.
schema = MilvusClient.create_schema(
auto_id=False,
enable_dynamic_field=False
)
schema.add_field("id", DataType.INT64, is_primary=True)
schema.add_field("project_id", DataType.VARCHAR, max_length=64)
schema.add_field("operator_id", DataType.VARCHAR, max_length=64)
schema.add_field("caption", DataType.VARCHAR, max_length=2048)
schema.add_field("llm_keyword", DataType.VARCHAR, max_length=512)
schema.add_field("llm_object", DataType.VARCHAR, max_length=512)
schema.add_field("llm_category", DataType.VARCHAR, max_length=128)
schema.add_field("llm_style", DataType.VARCHAR, max_length=128)
schema.add_field("llm_color", DataType.VARCHAR, max_length=256)
schema.add_field("llm_use_case", DataType.VARCHAR, max_length=128)
schema.add_field("generation_mode", DataType.VARCHAR, max_length=32)
schema.add_field("url", DataType.VARCHAR, max_length=512)
schema.add_field("input_image_file", DataType.VARCHAR, max_length=256)
schema.add_field("input_image_key", DataType.VARCHAR, max_length=512)
schema.add_field("render_image_file", DataType.VARCHAR, max_length=256)
schema.add_field("render_image_key", DataType.VARCHAR, max_length=512)
schema.add_field(VECTOR_FIELD, DataType.FLOAT_VECTOR, dim=VECTOR_DIM)
그런 다음 벡터 인덱스를 생성하세요:
index_params = MilvusClient.prepare_index_params()
index_params.add_index(
field_name=VECTOR_FIELD,
index_type="AUTOINDEX",
metric_type="COSINE",
)
스크립트가 설정을 명령으로 래핑하는 경우 다음을 실행하세요:
python3 tripo_rag.py create-collection
명령이 완료되면 Zilliz Cloud 콘솔을 열고 컬렉션 목록을 확인하세요.
컬렉션을 클릭하여 상태, 스키마, 로드된 엔터티 및 벡터 필드 구성을 확인하세요.
인덱스에 대한 간단한 참고 사항: AUTOINDEX는 데이터를 가져오기 전에 인덱스 매개변수를 직접 조정할 필요가 없기 때문에 튜토리얼을 단순하게 유지해 줍니다. COSINE metric type은 다음 단계에서 사용되는 정규화된 임베딩과 일치합니다.
3단계: 렌더 이미지용 멀티모달 임베딩 생성
다음으로, 각 렌더 미리보기에 대한 임베딩을 생성합니다.
데모는 OpenRouter를 통해 미리보기 이미지를 임베딩 모델로 전송합니다. 이미지는 base64 데이터 URL로 인코딩되며, 반환된 벡터는 Zilliz Cloud에 삽입되기 전에 L2 정규화됩니다.
def data_url_for_image(path: Path) -> str:
mime_type = mimetypes.guess_type(path.name)[0] or "image/webp"
data = base64.b64encode(path.read_bytes()).decode("ascii")
return f"data:{mime_type};base64,{data}"
def embed_content(self, content: list[dict]) -> list[float]:
body = {
"model": "google/gemini-embedding-2-preview",
"input": [{"content": content}],
"encoding_format": "float",
}
response = requests.post(
"https://openrouter.ai/api/v1/embeddings",
headers=self._headers(),
json=body,
timeout=120,
)
vector = response.json()["data"][0]["embedding"]
return l2_normalize(vector)
def embed_image(self, image_path: Path) -> list[float]:
return self.embed_content(
[
{
"type": "image_url",
"image_url": {
"url": data_url_for_image(image_path)
},
}
]
)
실제 수집 파이프라인에서는 임베딩을 캐시하세요. 가져올 때마다 외부 임베딩 API를 호출하면 느리고, 재시도로 인해 반복 테스트 실행 비용이 비싸질 수 있습니다.
python3 tripo_rag.py build-cache
캐시는 가져오기 동작도 결정적으로 만듭니다. 모든 렌더 미리보기를 다시 임베딩하지 않고도 컬렉션을 다시 빌드하거나, 스키마 변경을 테스트하거나, 가져오기를 다시 실행할 수 있습니다.
4단계: 자산 레코드를 Zilliz Cloud로 가져오기
캐시가 준비되면 각 CSV 행을 Zilliz Cloud용 엔티티 하나로 변환합니다.
각 엔티티에는 구조화된 필드와 캐시된 멀티모달 벡터가 포함되어야 합니다.
def row_to_entity(row_index: int, row: dict, cached_item: dict) -> dict:
return {
"id": row_index,
"project_id": row.get("project_id", ""),
"operator_id": row.get("operator_id", ""),
"caption": row.get("caption", ""),
"llm_keyword": row.get("llm_keyword", ""),
"llm_object": row.get("llm_object", ""),
"llm_category": row.get("llm_category", ""),
"llm_style": row.get("llm_style", ""),
"llm_color": row.get("llm_color", ""),
"llm_use_case": row.get("llm_use_case", ""),
"generation_mode": generation_mode(row),
"url": row.get("url", ""),
"input_image_file": row.get("input_image_file", ""),
"input_image_key": row.get("input_image_key", ""),
"render_image_file": row.get("render_image_file", ""),
"render_image_key": row.get("render_image_key", ""),
VECTOR_FIELD: cached_item[VECTOR_FIELD],
}
그런 다음 데이터셋을 가져오고 컬렉션 통계를 확인합니다.
python3 tripo_rag.py import-data
python3 tripo_rag.py stats
Zilliz Cloud 콘솔에서 Data 탭을 열어 자산 레코드가 삽입되었는지 확인합니다. 각 엔티티의 메타데이터 필드, 렌더 이미지 참조, 벡터 필드를 볼 수 있어야 합니다.
이제 Tripo 자산은 느슨한 로컬 파일이 아니라 벡터 데이터베이스에서 검색 가능한 엔티티입니다.
5단계: 텍스트, 이미지 또는 둘 다로 검색
검색은 세 가지 모드로 실행되며, 모두 동일한 멀티모달 모델을 통해 동일한 multimodal_vector 필드에 대해 수행됩니다.
| 모드 | 사용 시점 | 예시 |
|---|---|---|
| 텍스트 | 원하는 것을 설명할 수 있을 때 | 파란색 판타지 검 |
| 이미지 | 참고 자료가 있고 유사한 에셋을 원할 때 | 스타일화된 방패 렌더 업로드 |
| 텍스트 + 이미지 | 의도와 시각적 기준점을 모두 원할 때 | 검 이미지 + 파란 보석이 박힌 판타지 검 |
쿼리는 에셋 렌더 미리보기와 동일한 벡터 공간에 임베딩됩니다. 그런 다음 Zilliz Cloud가 벡터 필드를 검색하고 메타데이터와 함께 가장 가까운 에셋을 반환합니다.
def search(args) -> None:
if not args.text and not args.image:
raise SystemExit("Provide --text, --image, or both.")
embedding_client = OpenRouterEmbeddingClient(
require_env("OPENROUTER_API_KEY")
)
client = connect_client()
if args.text and args.image:
vector = embedding_client.embed_text_image(
args.text,
Path(args.image)
)
elif args.image:
vector = embedding_client.embed_image(Path(args.image))
else:
vector = embedding_client.embed_text(args.text)
results = client.search(
collection_name=args.collection,
data=[vector],
anns_field=VECTOR_FIELD,
filter=filter_expr(args),
limit=args.top_k,
output_fields=[
"project_id",
"caption",
"llm_keyword",
"llm_object",
"llm_category",
"llm_style",
"llm_color",
"llm_use_case",
"generation_mode",
"render_image_file",
"render_image_key",
"input_image_file",
"url",
],
search_params={"metric_type": "COSINE"},
)
for rank, hit in enumerate(results[0], start=1):
entity = hit["entity"]
print(
json.dumps(
{
"rank": rank,
"score": hit["distance"],
**entity,
},
ensure_ascii=False,
indent=2,
)
)
각 결과에는 유사도 점수와 메타데이터가 모두 포함되므로, 프런트엔드는 동일한 결과 카드에 미리보기 이미지, 캡션, 카테고리, 스타일, 사용 사례, 원본 에셋 URL을 렌더링할 수 있습니다.
검색은 순수한 벡터 유사도에만 제한되지 않습니다. 모든 에셋에 구조화된 메타데이터가 있으므로, 한 요청에서 시맨틱 쿼리에 필터를 추가할 수 있습니다. 예를 들어, female을 검색하되 결과 집합을 llm_use_case == "game asset"으로 제한할 수 있습니다. 이것이 컬렉션을 벡터 더미가 아니라 실제 카탈로그로 만들어 줍니다.
예시 1: 사용 사례 필터가 있는 텍스트 검색
게임 팀에 캐릭터와 유사한 에셋이 필요하다고 가정해 보겠습니다. female을 검색하고 결과를 game asset 사용 사례로 제한할 수 있습니다:
python3 tripo_rag.py search \
--text "female" \
--use-case "game asset" \
--top-k 12
이는 game-asset 하위 집합에서 가장 가깝게 일치하는 에셋을 반환하므로, 전체 라이브러리를 검색한 뒤 관련 없는 제품, 환경, 마케팅 에셋을 수동으로 제외하는 것보다 더 유용합니다.
예시 2: 텍스트와 참고 이미지 검색
시각 작업에서는 텍스트만으로는 너무 광범위한 경우가 많습니다. 파란 보석이 박힌 판타지 검 같은 쿼리는 시스템에 원하는 것을 알려 주지만, 참고 이미지는 형태, 구성, 시각적 방향을 고정해 줍니다.
python3 tripo_rag.py search \
--text "fantasy sword with blue gemstone" \
--image ./examples/sword_reference.png \
--top-k 12
이 모드는 크리에이터가 시각적 참고 자료에서 시작하되 몇 단어로 검색 방향을 조정하고 싶을 때 유용합니다. 참고 이미지는 시각적 유사성을 전달합니다. 텍스트는 의도를 좁혀 줍니다.
이것이 실제 에셋 파이프라인에서 가능하게 하는 것
라이브러리를 검색할 수 있게 되면, 팀은 생성된 3D 에셋을 재사용 가능한 프로덕션 인벤토리처럼 더 잘 활용할 수 있습니다.
게임 팀은 프로젝트 전반에 걸쳐 소품 및 캐릭터 변형을 추적할 수 있습니다. 이커머스 팀은 제품형 에셋을 카테고리, 재질, 스타일별로 정리할 수 있습니다. 마케팅 팀은 재사용 가능한 비주얼의 승인된 라이브러리를 유지할 수 있습니다. 크리에이티브 운영 팀은 폴더 이름에 의존하는 대신 소유권, 프로젝트 ID, 에셋 URL을 중심으로 검토 워크플로를 구축할 수 있습니다.
중요한 변화는 간단합니다. 생성은 에셋을 만들지만, 검색은 그 에셋을 재사용 가능하게 만듭니다.
결론
AI 3D 생성은 수동 폴더 구조로 관리할 수 있는 것보다 더 많은 에셋을 쉽게 만들어냅니다. 다음 병목 지점은 검색입니다. 즉, 적절한 에셋을 찾고, 그것이 어디에서 왔는지 이해하며, 적절한 프로젝트에서 재사용하는 것입니다.
이 튜토리얼은 그 문제를 해결하는 한 가지 방법을 보여주었습니다. Tripo로 에셋을 생성하고, 렌더 미리보기와 메타데이터를 Zilliz Cloud에 저장하며, 각 미리보기를 멀티모달 모델로 임베딩하고, 텍스트, 이미지 또는 둘 다로 컬렉션을 검색합니다. 동일한 패턴은 로컬 데이터셋으로 작게 시작해 라이브러리가 확장됨에 따라 프로덕션 에셋 카탈로그로 성장할 수 있습니다.
이것이 Zilliz Vector Lakebase의 방향이기도 합니다. 멀티모달 AI 데이터, 임베딩, 메타데이터, 서빙 경로를 하나의 검색 가능한 기반에 유지하여, 팀이 매번 데이터 계층을 다시 구축하지 않고도 생성에서 검색, 재사용으로 이동할 수 있게 하는 것입니다.
직접 시도하려면 Zilliz Cloud에 가입하고, 무료 클러스터를 만들고, Tripo로 소규모 에셋 배치를 생성한 다음, 파이프라인을 처음부터 끝까지 실행해 보세요. 첫 검색 결과가 적절해 보이면 출력을 내부 에셋 브라우저나 크리에이티브 도구에 연결하세요.
Tripo 에셋 예시
아래 에셋은 이 튜토리얼에서 설명한 기능을 사용해 Tripo Studio에서 생성되었습니다.
8K 텍스처 생성
8K 텍스처 생성은 색상 충실도를 보존하고 금속, 가죽, 직물, 목재와 같은 표면 재질을 마모 흔적과 마이크로 텍스처 수준까지 구분합니다.
HD Model
HD Model은 최대 200만 개의 면을 지원하여 렌더링, 시각화, 3D 프린팅을 위한 복잡한 형태, 날카로운 모서리, 세밀한 표면 특징을 보존합니다.
계속 읽기

Why Teams Are Migrating from Weaviate to Zilliz Cloud — and How to Do It Seamlessly
Explore how Milvus scales for large datasets and complex queries with advanced features, and discover how to migrate from Weaviate to Zilliz Cloud.

Announcing the General Availability of Single Sign-On (SSO) on Zilliz Cloud
SSO is GA on Zilliz Cloud, delivering the enterprise-grade identity management capabilities your teams need to deploy vectorDB with confidence.

DeepSeek-VL2: Mixture-of-Experts Vision-Language Models for Advanced Multimodal Understanding
Explore DeepSeek-VL2, the open-source MoE vision-language model. Discover its architecture, efficient training pipeline, and top-tier performance.




