2시간 이내에 AI 기반 3D 게임을 만드는 방법 배우기 — 프로그래밍 필요 없음.

코드 스니펫의 전체 과정 (코드를 생성하는 프롬프트로 사용될 수 있음):

1. 플레이어 이동 로직 및 UI 생성

  1. GameLogic은 게임의 핵심 관리 컴포넌트를 나타냅니다. 모든 게임 내 이벤트를 수신하고 적절한 서브시스템에 배포하여 코드 결합도를 효과적으로 줄입니다.
  2. 플레이어가 BoxCollider를 포함하는 프레임에 접근하면, 첨부된 Transponder 컴포넌트가 자동으로 상호작용을 감지하고 플레이어 접근 이벤트를 GameLogic 컴포넌트에 전달합니다. 이에 따라 UIFactory는 사용자 입력을 위한 UI 패널을 인스턴스화합니다.
  3. 이 UI 패널에는 플레이어의 키보드 입력을 수신하는 InputDialog 컴포넌트가 포함되어 있습니다. 플레이어가 처음으로 Enter를 누르면 입력 상자가 활성화되고 키보드 포커스를 획득합니다. 플레이어가 입력을 마치고 Enter를 다시 누르면, 입력이 이벤트로 GameLogic에 제출됩니다.
  4. 플레이어가 BoxCollider를 포함하는 프레임에서 멀어지면 UI 패널은 즉시 파괴됩니다.

2. 모델 생성 및 스켈레톤 매핑 (TripoSDK 제공)

  1. GameLogic 컴포넌트가 플레이어로부터 프롬프트 입력을 받으면, 해당 프롬프트를 TripoClient 컴포넌트에 전달합니다 (참고: 유효한 TripoAPIKey가 사전에 제공되어야 합니다).
  2. TripoClientTripoAPI 컴포넌트를 호출하여 프롬프트를 Tripo 서버로 보냅니다. 이 과정에서 TripoAPI는 요청을 조립하고, 전송하며, 정기적으로 서버를 폴링하여 업데이트를 확인합니다. 성공하면 플레이어는 Tripo 서버로부터 생성된 모델에 대한 TaskID를 받습니다. 이 TaskID는 스켈레톤 생성을 요청하는 데 사용됩니다.
  3. 리깅 과정이 완료되면 TripoAPI는 모델의 다운로드 URL을 TripoClient에 반환합니다. TripoClient는 glTFfast 플러그인을 통해 GLB 형식 모델을 로드하고 파싱합니다.
  4. 다음으로, RuntimeHumanoidAvatarBuilder 컴포넌트가 모델에 마운트됩니다. 이 컴포넌트는 GLB 모델의 스켈레톤을 Unity의 Humanoid Avatar 시스템에 매핑하여 애니메이션 리타겟팅을 가능하게 합니다.
  5. 마지막으로, TripoClient는 씬에 모델을 인스턴스화합니다. 이 시점에서 개발자는 기존 휴머노이드 애니메이션 리소스를 사용하여 새로 생성된 모델을 구동할 수 있습니다.

3. 제어권 전환

  1. GameLogic 컴포넌트는 플레이어의 키보드 입력을 수신하여 플레이어와 생성된 모델 간에 제어권을 동적으로 전환합니다. 특히, 카메라 우선순위를 조정하고 ThirdPersonController 제어 대상을 재할당합니다.
  2. 플레이어가 F 키를 누르면 제어권이 플레이어 캐릭터에서 모델로 전환되어 플레이어가 모델을 조작할 수 있습니다. F 키를 다시 누르면 제어권이 플레이어에게 다시 돌아갑니다.
  3. 생성된 모델의 크기는 매우 크거나 매우 작을 수 있으며, 이는 독특한 게임 플레이 상호작용을 가능하게 하고 플레이어가 다른 장애물을 통과할 수 있도록 합니다.
  4. 또한, 모델의 외형은 쉽게 교체할 수 있어, 게임 내에서 저비용 캐릭터 커스터마이징 및 스킨 시스템을 효과적으로 지원합니다.

전체 코드 로직:

메인 GameObject

구체적인 구현 단계:

Unity 버전: 2022.3.55

소스 코드 및 씬 경로: Assets-LowPoly Environment Pack - Demo - Demo1

1. 프로젝트 설정 및 리소스 가져오기:

  1. 새 프로젝트 생성

    1. Unity를 열고 New Project를 클릭합니다.
    2. URP (Universal Render Pipeline) 템플릿을 선택합니다.
    3. 프로젝트 이름을 TripoRuntimeTutorial로 지정하고 생성을 클릭합니다.
  2. 필수 리소스 패키지 가져오기

브라우저를 열고 Unity Asset Store로 이동합니다. 다음 무료 패키지를 검색하고 다운로드합니다 (제공된 프로젝트 파일에서도 사용 가능):

내 리소스에 추가하고, 이어지는 팝업에서 "Open in Unity"를 클릭하여 다운로드합니다.

각 패키지를 다운로드한 후, Unity > Assets (Unity 메뉴 상단) > Import Package > Custom Package로 이동하여 하나씩 가져옵니다. 각 프롬프트에서 Import를 클릭합니다.

  1. 재질을 URP로 변환

일부 가져온 재질이 분홍색으로 나타날 수 있습니다 (셰이더 문제 표시). 변환하려면:

  • 씬에서 분홍색으로 이상하게 보이는 모델을 모두 필터링하거나 선택합니다.
  • 그런 다음 Editor > Rendering > Materials로 이동하여 UPR 호환 재질로 변환합니다.
  1. glTFast 종속성 설치 (GLB 모델 로드용)

옵션 1: Git을 통해 설치 (로컬 Git 환경 필요)

  • Window > Package Manager로 이동하여 + 버튼을 클릭 > Add package from Git URL.
  • URL: https://github.com/atteneder/glTFast.git를 입력한 다음 Add를 클릭하고 glTFast 플러그인이 가져와질 때까지 기다립니다.

옵션 2: Tripo 공식 웹사이트에서 다운로드 (glTFast 플러그인 포함)

  • Tripo 홈페이지를 방문하여 Resources 섹션으로 이동합니다.
  • glTFast 종속성이 이미 포함된 Unity Plugin을 다운로드합니다.
  • 패키지에 포함된 튜토리얼 비디오를 따라 설치 지침을 따릅니다.
  1. 데모 씬 열기
  • Unity 프로젝트 창에서 다음으로 이동합니다: Assets > LowPoly Environment Pack > Demo > Demo1
  • Demo1을 두 번 클릭하여 엽니다.

사용자 지정 환경을 설정하려면:

  • Assets > ithappy 폴더에서 탱크, 바위 또는 나무와 같은 자산을 씬으로 드래그합니다.
  • 이제 환경 내에서 플레이어를 자유롭게 이동할 수 있습니다.
  1. 플레이어 관련 프리팹 추가

다음으로 이동합니다: Assets > StarterAsset > ThirdPersonController > Prefabs

다음 세 가지 프리팹을 Hierarchy 패널로 드래그합니다:

  • MainCamera
  • PlayerFollowCamera
  • PlayerArmature
  1. 카메라 매개변수 설정
  • 씬에서 PlayerFollowCamera를 선택하고,
  • 속성 패널 (Inspector)에서 CinemachineVirtualCamera 컴포넌트를 찾습니다.
  • FollowLook At을 모두 PlayerCameraRoot로 설정합니다 (참고: PlayerArmature의 자식 컴포넌트에서 찾을 수 있습니다).

위 설정은 Unity에서 제공하는 3인칭 컨트롤러 스크립트를 사용합니다. 이 시점에서 Unity 툴바에서 Play 버튼을 클릭하면 WASD 키를 사용하여 캐릭터의 움직임을 제어할 수 있습니다. 캐릭터와 카메라가 이제 그에 따라 움직이고 조정되어야 합니다!

플레이어 근접 시 프롬프트 패널 표시

플레이어가 특정 오브젝트에 접근하면 UI 입력 패널이 나타나야 합니다. 플레이어가 멀어지면 패널은 사라져야 합니다.

  1. 트리거 영역 생성
  • Assets > ithappy > Military FREE > Perfab 디렉터리에서 모델 (예: 탱크)을 선택합니다.
  • 모델을 마우스 오른쪽 버튼으로 클릭하고 Create Empty Child를 선택한 다음 이름을 Trigger로 변경합니다.
  • Trigger 오브젝트를 선택하고 Inspector로 이동하여 Add Component를 클릭하고 Box Collider를 추가합니다.
  • Is Trigger 옵션을 확인합니다.
  • Edit Collider를 클릭하고 Scene 뷰에서 핸들을 조정하여 콜라이더를 모델 크기의 두 배로 확장하여 주변 영역을 덮도록 합니다.
  1. 트리거 이벤트 스크립트 생성
  • Project 패널에서 Assets 폴더를 마우스 오른쪽 버튼으로 클릭 > Create > C# Script를 선택하고 이름을 Transponder로 지정한 다음 Cursor로 스크립트를 엽니다.
  • 이 스크립트는 플레이어가 콜라이더에 들어가거나 나갈 때를 감지하고, 메시지를 GameLogic 컴포넌트로 보냅니다. Cursor에서 모델을 선택하고 참조 프롬프트를 입력합니다:

태그가 "player"인 GameObject가 콜라이더에 들어갈 때 OnPlayerEnter를, 플레이어가 나갈 때 OnplayerExit를 트리거하는 Transponder라는 Unity C# 스크립트를 생성해 주세요.

  • 스크립트를 저장하고 Transponder 컴포넌트를 씬의 Trigger 오브젝트로 드래그합니다.
  1. 게임 로직 관리

씬을 마우스 오른쪽 버튼으로 클릭 > Create Empty를 선택하고 이름을 GameLogicManager (로직 컨테이너 역할을 함)로 변경합니다.

  • GameLogicManager 아래에 다른 빈 자식을 생성하고 이름을 GameManager로 지정합니다.
  • 씬의 핵심 로직을 처리할 GameManager라는 새 스크립트를 생성합니다.

Transponder 컴포넌트를 인용하고 플레이어가 들어오거나 나갈 때 이벤트를 수신합니다. 참조 프롬프트 단어는 다음과 같습니다:

Transponder 인스턴스에서 OnPlayerEnter 및 OnPlayerExit 이벤트를 수신하는 GameManager라는 Unity C# 스크립트를 생성해 주세요. OnPlayerEnter 시 UIFactory 스크립트를 사용하여 UI 프롬프트 프리팹을 인스턴스화합니다. OnPlayerExit 시 이 UI 프리팹을 파괴합니다.

스크립트를 저장한 후 GameManager 스크립트를 GameManager 오브젝트로 드래그하고 Transponder 컴포넌트를 Transponder 필드로 드래그합니다. 이렇게 하면 플레이어의 진입 및 퇴장 이벤트 수신이 완료됩니다.

  1. UI 패널 프리팹 생성

Hierarchy에서 마우스 오른쪽 버튼 클릭 > UI > Panel을 선택하여 새 패널을 생성합니다.

  • 패널 아래 자식으로 2개의 컴포넌트를 추가합니다:

    • Text (프롬프트 지시를 표시)
    • InputField (플레이어 입력을 받음)
  • Game 뷰를 미리보기로 사용하여 레이아웃과 위치를 조정합니다.

  • 완료되면 전체 Panel 오브젝트를 Assets 폴더로 드래그하여 프리팹을 생성합니다.

    • 이름을 InputDialogPrefab으로 지정합니다.

참고: TextMeshPro를 사용하는 경우, 텍스트에 사각형 문자가 나타나는 것을 방지하기 위해 NotoSansSC SDF와 같이 한국어 호환 글꼴을 할당해야 합니다.

  1. InputDialog 스크립트 생성: 입력 로직 처리
  • InputDialog라는 Unity C# 스크립트를 생성합니다.

참조 프롬프트:

  • TMP 기반 UI 대화 상자를 관리하는 InputDialog라는 Unity C# 스크립트를 생성해 주세요.
  • 프롬프트용 TMP_Text와 입력을 위한 TMP_InputField를 포함해야 합니다.
  • 첫 번째 Enter 키 누름 시: 입력 상자를 활성화하고 플레이어의 이동 컨트롤러 (예: ThirdPersonController)를 비활성화합니다.
  • 두 번째 Enter 키 누름 시: 입력을 제출하고, 이동을 다시 활성화하며, 대화 상자를 파괴합니다.
  • 유효한 입력이 입력될 때까지 입력 포커스를 유지합니다.

InputDialog 컴포넌트를 InputDialogPrefab에 마운트합니다. 해당 Text 및 InputField 오브젝트를 컴포넌트의 각 필드로 드래그합니다 (종속성).

  1. UIFactory 스크립트 생성: UI 패널 인스턴스화

UIFactory라는 새 C# 스크립트를 생성합니다.

참조 프롬프트:

  • 팩토리 패턴을 따라 UI 대화 상자를 인스턴스화하는 UIFactory라는 Unity C# 스크립트를 생성해 주세요.
  • UI 프리팹, 위치 및 회전이 주어지면, 주어진 변환에서 프리팹을 인스턴스화하고 해당 InputDialog 컴포넌트를 반환합니다.

이 컴포넌트는 UI 생성 로직을 게임 이벤트 처리에서 분리하는 중개자 역할을 합니다.

  1. 관련 컴포넌트 종속성

모든 컴포넌트 종속성이 제대로 할당되었는지 다시 확인합니다.

  • 씬의 PlayerArmature 오브젝트는 태그를 "Player"로 설정해야 합니다.

GameManager 오브젝트에서 할당:

  • Transponder 필드에 Trigger 오브젝트의 Transponder 스크립트를 할당합니다.
  • UIFactory 필드에 GameLogicManager 오브젝트의 UIFactory 컴포넌트를 할당합니다.

테스트: Unity에서 Play를 클릭합니다.

  • 트리거가 있는 오브젝트에 접근하면 입력 패널이 나타나야 합니다.
  • 멀어지면 패널이 자동으로 사라져야 합니다.

참고: 저희 소스 파일은 패널이 생성되는 고정된 위치를 가지고 있습니다. 선택한 Trigger의 Transform 속성에 따라 이 값을 수정하십시오. 또는 UI 프리팹의 Canvas > RenderModeScreenSpace - Overlay로 설정하여 UI가 화면 공간 데이터로 렌더링되고 월드 공간으로 들어가지 않도록 할 수 있습니다.

TripoAPI에 프롬프트 제출

이 단계에서는 아직 프롬프트를 Tripo 서버에 실시간으로 제출할 수 없습니다. 그러나 프롬프트 제출, 네트워크 요청, 모델 생성, 스켈레톤 리깅, 매핑, 어댑터 및 애니메이션 리타겟팅에 필요한 코드는 이미 준비되어 있습니다. 이 스크립트들은 향후 업데이트에서 Tripo for Unity 플러그인에 완전히 통합될 것입니다. (참고: 진행하기 전에 씬에 UIEvent 시스템이 있는지 확인하십시오; 그렇지 않으면 UI가 응답하지 않을 것입니다!)

  1. Tripo 플러그인 스크립트 가져오기

Unity Project 패널 (일반적으로 왼쪽에 있음)에서 다운로드 폴더에서 TripoClient.cs, TripoAPI.cs, RuntimeHumanoidAvatarBuilder.cs 소스 파일을 찾습니다.

  • 이를 Assets/Scripts 폴더로 드래그합니다.

각 스크립트의 역할은 다음과 같습니다:

  • TripoClient.csTripoAPI.cs: Tripo 서버와의 프롬프트 제출 및 네트워크 통신을 처리합니다.
  • RuntimeHumanoidAvatarBuilder.cs: GLTFast 플러그인을 사용하여 모델의 스켈레톤을 Unity의 휴머노이드 리그에 매핑합니다.

TripoClient.csTripoAPI.cs는 리깅 기능을 포함한 Tripo For Unity 플러그인의 라이트 버전을 나타냅니다. 향후 릴리스에서 이 프로세스를 계속 업데이트하고 간소화할 것입니다.

  1. Tripo 클라이언트 컴포넌트 생성
  • GameLogicManager 아래에 빈 컴포넌트를 자식으로 생성하고 이름을 TripoClient로 지정합니다.
  • TripoClient.csTripoAPI.cs를 이 새 오브젝트로 드래그하여 스크립트를 첨부합니다.
  • Inspector에서 TripoClient 컴포넌트의 API Key 필드를 찾습니다. Tripo API 키를 붙여넣습니다 (Tripo 공식 웹사이트에서 계정을 등록하고 매월 600 무료 포인트를 받을 수 있습니다).
  1. 프롬프트 입력 및 콜백 로직

플레이어 입력 시스템을 업그레이드했으므로 GameManager의 프롬프트 전송 로직을 업데이트해야 합니다. 기본적으로 GameManager 스크립트는 이미 OnPlayerEnter 및 OnPlayerExit 이벤트를 수신해야 합니다. AI 생성 코드 또는 여러 컴포넌트 간에 로직을 연결하는 경우, 이전에 생성된 코드를 컨텍스트로 붙여넣는 것이 도움이 됩니다.

저희가 제공한 스크립트는 GameManagerUIFactory에 인스턴스 호출을 발행할 때 콜백 함수를 이미 정의했습니다. 물론 다른 해결책도 있지만, 이 경우 이 로직 부분을 완성하는 데 사용할 수 있는 프롬프트는 다음과 같습니다.

업데이트된 동작: GameManager 스크립트에서

  • OnPlayerEnter가 트리거되면 UIFactory는 입력 대화 상자(InputDialog 프리팹)를 인스턴스화합니다.
  • OnPlayerExit가 트리거되면 입력 대화 상자가 파괴됩니다.

플레이어가 프롬프트 입력을 마치면 tripoClient.TextToModel(prompt, pos);와 같은 호출 예제와 함께 TripoClient 스크립트로 전달됩니다. 관련 스크립트를 수정합니다.

GameManager.cs 수정:

  • GameManager.cs 스크립트를 엽니다.
  • OnPromptConfirmed 메서드를 찾습니다 (이것은 프롬프트 입력 확인을 처리합니다).
  • 내부 코드를 완성하고, tripoClient 필드가 GameManager 컴포넌트에 올바르게 할당되었는지 확인합니다.
  1. 모델 컨테이너 생성
  • 씬 계층 구조에서 자식으로 빈 컴포넌트를 생성하고 이름을 ModelContainer로 지정합니다.
  • 모든 동적으로 생성된 모델의 부모 노드로 사용합니다.

설정 테스트

  1. Unity에서 Play 버튼을 누릅니다.
  2. 패널에 프롬프트를 입력합니다.
  3. 프롬프트가 Tripo 서버에 성공적으로 업로드되는 것을 볼 수 있습니다.
  4. 생성 진행 상황은 Unity 콘솔과 Tripo API 컴포넌트의 "Input/Progress" 필드에 나타납니다.

이제 Unity에서 자신만의 AI 모델을 생성할 준비가 되었습니다. 즐겁게 빌드하세요!

애니메이션 리타겟팅

모델이 생성되면 다음 단계는 기존 애니메이션 리소스를 모델의 스켈레톤에 매핑하는 것입니다. RuntimeHumanoidAvatarBuilder 스크립트가 프로젝트에 추가되었는지 확인하십시오. 이 스크립트는 휴머노이드 GLB 스켈레톤을 Unity의 아바타에 매핑하는 것을 처리하며, TripoClient 스크립트는 이를 생성된 모델에 자동으로 마운트합니다.

먼저 프로젝트의 구조와 종속성을 정리해 봅시다. 게임이 시작하기 전에 환경 오브젝트를 제외하고 사용자 지정 GameObject는 다음 상태여야 합니다. 각 스크립트 컴포넌트를 확장하고 모든 필드가 올바르게 할당되었는지 확인하십시오. 문제가 발생하면 소스 파일과 비교하여 잘못된 컴포넌트 할당을 확인하십시오.

그렇지 않으면, 저희 데모에서 모델은 전투 로봇이므로 Transform > Scale 속성이 10배 확대됩니다. 이는 Controller 관련 속성에도 적용됩니다.

  1. 모델 제어 컴포넌트 추가

ModelContainer 컴포넌트를 선택하고 다음 컴포넌트들을 순서대로 추가합니다 (모두 Starter Assets 패키지에서 제공됨):

  • Character Controller
  • Player Input
  • Third Person Controller

Third Person Controller 컴포넌트에서 Camera 필드를 씬의 MainCamera로 설정합니다.

  1. 모델 이동을 위한 카메라 설정

자식으로 빈 컴포넌트를 생성하고 이름을 ModelCamera로 지정한 다음 CinemachineFreeLook 컴포넌트를 추가합니다 (Starter Assets 패키지에 포함된 Cinemachine 플러그인을 가져와야 합니다).

그런 다음 ModelContainer 아래에 자식으로 컴포넌트를 생성하고 이름을 CameraRoot로 지정한 다음 Y-좌표를 5 (모델의 허리 높이)로 조정합니다. ModelCamera의 Follow 및 LookAt 필드를 모두 CameraRoot에 할당합니다. 이제 카메라가 모델의 움직임을 따라갈 것입니다.

  1. 캐릭터 이동 활성화:

이 시점에서 변신 로봇은 유휴 애니메이션을 재생해야 하지만 아직 제어할 수 없습니다.

이러한 컴포넌트들: CharacterController, PlayerInput, ThirdPersonController, BasicRigidBody, 그리고 StarterAssetsInputs는 Unity의 StarterAssets에서 제공되며 플레이어 입력을 처리합니다. Animator 컴포넌트는 애니메이션을 제어하며, RuntimeHumanoidAvatarBuilder에 의해 생성된 Avatar는 Animator의 Avatar 필드에 자동으로 할당됩니다.

테스트하려면:

  • PlayerArmature 컴포넌트와 해당 카메라를 비활성화합니다.
  • Tripo에서 생성된 GLB 모델(리깅 포함)을 ModelContainer의 자식 컴포넌트로 씬으로 드래그합니다.
  • RuntimeHumanoidAvatarBuilder 컴포넌트를 새 모델에 추가합니다.

이제 런타임 중에 변신 로봇을 제어할 수 있습니다. 마지막 단계는 제어 전환 로직을 구현하는 것입니다.

  1. 제어 전환 구현

GameLogic 스크립트의 Update 함수에서 다음 로직을 업데이트합니다:

  • isLoad는 모델이 생성되었는지 여부를 나타냅니다. false이면 프로세스를 건너뜁니다.
  • isInModel은 플레이어가 현재 변신 로봇을 제어하는지 또는 플레이어를 제어하는지 나타냅니다.

변신 로봇에 진입할 때:

  • 플레이어와 플레이어의 카메라를 비활성화합니다.
  • Cinemachine 플러그인이 카메라 뷰를 새로 생성된 ModelCamera로 자동으로 전환합니다.
  • ModelContainer를 재설정하여 변신 로봇에 대한 이동 로직이 효과적으로 작동하도록 합니다.

변신 로봇에서 나갈 때:

  • 변신 로봇을 제자리에 유지합니다.
  • 플레이어 캐릭터를 변신 로봇의 현재 위치에 표시합니다.
  • 동시에 제어권과 카메라를 플레이어에게 다시 전환합니다.

위 로직이 완료되면 F 키를 누르면 플레이어가 변신 로봇에 진입하여 제어할 수 있습니다. F 키를 다시 누르면 제어권이 플레이어에게 다시 전환되지만, 변신 로봇은 제자리에 유지되며 플레이어는 변신 로봇의 정확한 위치에 다시 나타납니다.

마무리 작업

이 시점에서 데모는 기능적으로 완성되었습니다. 경험을 다듬고 싶다면 다음을 수행할 수 있습니다:

  • 플레이어가 변신 로봇에 접근할 때 UI 프롬프트 (예: "F를 눌러 모델을 제어하세요")를 표시합니다.
  • 여러 변신 로봇이 생성될 때 그 중 하나를 선택하는 것을 지원합니다.

축하합니다!

수고하셨습니다! 이제 전체 데모를 완료했습니다. 자신만의 아이디어와 자산을 사용하여 변신 로봇 모델을 자유롭게 생성하고 제어할 수 있습니다.

도움이 필요하신가요?

TripoGame에 대한 어려움이 있거나 피드백이 있다면 언제든지 공식 이메일로 문의하십시오! tripogame@vastai3d.com. 여러분의 의견을 기다리겠습니다!

팁:

  1. 이 튜토리얼은 Tripo API가 실시간 게임 플레이에 어떻게 사용될 수 있는지 보여주기 위한 것입니다. 게임 디자인 자체는 참고용입니다. 개발자들이 직면할 수 있는 잠재적인 문제들을 사전에 해결하고자 합니다.

  2. 현재 데모는 리깅 요구 사항으로 인해 휴머노이드 모델 생성만 지원합니다. 불안정한 AI 생성 스켈레톤 가중치로 인해 애니메이션이 비정상적으로 나타나면 Avatar Mask를 사용하여 문제가 있는 신체 부위 애니메이션을 차단하십시오. 예를 들어, 소스 파일은 NoArmPerson Controller에서 팔 애니메이션을 이미 비활성화합니다.

  3. 더 빠른 생성을 위해 TripoV2/TripoV1Turbo를 사용할 수 있습니다. TripoAPI 스크립트의 model_version 숫자 "v2.5-20250123"을 다음으로 교체하기만 하면 됩니다:

    • v2.0-20240919
    • Turbo-v1.0-20250506.
  4. FBX 및 GLB 모델은 방향이 달라 가져올 때 종속성 문제가 발생할 수 있습니다. FBX를 가져와야 하는 경우 TriLib와 같은 플러그인을 사용하여 모델을 로드하고 그에 따라 조정을 처리하십시오.

Advancing 3D generation to new heights

moving at the speed of creativity, achieving the depths of imagination.