2. 거미 모델 구하기 및 초기 프로젝트 설정

date
2월 18, 2026
status
Public
tags
unrealRL

1. 소개#

2. 로봇 모델을 언리얼 프로젝트에 넣기#

2.1. 모델 찾기#

모든 걸 시작하려면 우선적으로 움직임이 가능한 거미 모델을 구하는 게 급선무지만, Ark Raiders에 있는 모델을 구하기는 당연히 불가능하니깐, 다른 에셋을 찾아보는중에

bookmark https://www.fab.com/listings/59d748a6-0510-4470-b440-7b3b0d896f72 www.fab.com

고마우신 분들께서 모든 애니메이션까지 들어가있는 모델을 무료 배포하시는 걸 찾아내서 이걸 열어보기로 했다.

무려 애니메이션까지! 감사합니다

하지만, 지원하는 Unreal 버전이 5.1까지이기 때문에, 직접 해당 파일을 fbx 파일로 받은 후, 직접 프로젝트에 넣도록 하겠다

2.2. 모델 언리얼 프로젝트에 임포트#

2.2.1. 모델 분석#

  • 먼저 폴더 구조를 정리하고…우선적으로 모델 데이터만 넣은 결과

  • 각각의 항목은

    항목정체지금 프로젝트에서 역할
    Bake_Mech_LOD2_albedoBase Color 텍스처로봇의 기본 색상과 무늬
    Bake_Mech_LOD2_emissiveEmissive 텍스처스스로 빛나는 부분. 노란 램프 같은 발광부
    Bake_Mech_LOD2_metalnessMetallic 텍스처어떤 부분이 금속처럼 반사되는지
    Bake_Mech_LOD2_normal_baseNormal Map 텍스처표면의 요철감을 가짜로 표현
    Bake_Mech_LOD2_roughnessRoughness 텍스처표면이 얼마나 거칠고 반사가 퍼지는지
    M_Mech_LOD2머티리얼 인스턴스위 텍스처들을 묶어서 실제 로봇 표면 표현
    M_Mech_LOD3또 다른 머티리얼 인스턴스LOD3용 재질로 보임
    SK_ISO_MechSkeletal Mesh로봇의 실제 3D 몸체 + 스킨 정보
    SK_ISO_Mech_PhysicsAssetPhysics Asset로봇의 물리 충돌체, 관절 제약, 질량 설정
    SK_ISO_Mech_SkeletonSkeleton본 계층, 즉 로봇의 뼈대 구조
  • 으로, 이 중 중요한 것은

    1. 스켈레톤 메시(SK_ISO_Mech) → 눈에 보이는 로봇 모델
    • 로봇의 3D 형상
    • 각 버텍스가 어떤 뼈에 붙는지에 대한 Skin Weight
    • 사용할 머티리얼 슬롯
    • LOD 정보가 있다면 그 연결 정보

    로, Skeleton을 기반으로 애니메이션되어 움직이는 메시

    1. 스켈레톤 메시 스켈레톤(SK_ISO_Mech_Skeleton)
    • 로봇의 뼈대 데이터
    • 메시 자체가 아니라 애니메이션을 공유하고 저장하는 기준 구조
    • 같은 Skeleton을 쓰는 애니메이션은 이 모델에 재생할 수 있음
    • 이번 경우에는 이후에:
      • A_ISO_Mech_Idle_01
      • A_ISO_Mech_WalkForward_01
      • A_ISO_Mech_WalkBackward_01

    같은 애니메이션 FBX를 임포트할 때

    SK_ISO_Mech_Skeleton을 지정해야 함

    1. 로봇의 물리 충돌체(SK_ISO_Mech_PhysicsAsset)

    강화학습 프로젝트에서 특히 중요한 물리 충돌

    • Skeletal Mesh에 대해:
      • 충돌체
      • 강체 바디
      • 관절 제약
      • 질량
      • 물리 시뮬레이션

    를 정의한다

2.2.2. 모델 스켈레톤 & 애니메이션 임포트#

1) 스켈레톤 확인#

  • 모델이 얼마나 세분화 되어있는지 확인하기 위해 스켈레탈 메쉬를 더블클릭해서 스켈레톤 트리를 확인해보면

  • 감사하게도 다리하나가 여러 본으로 세세하게 분리되어 리깅되어있다

    (다시 한 번 정말 감사합니다.Stylized Sci Fi Mech Robot Asset)

2) 애니메이션 넣기#

  • 애니메이션 전용 폴더를 따로 만든 다음, 애니메이션 fbx 파일 하나를 집어넣어보자

  • 컨텐츠 임포트 창이 뜨는데, 여기서 스켈레탈 메시 탭으로 가서

  1. 애니메이션만 임포트 체크

이번 FBX는 로봇 본체를 또 가져오려는 게 아니라,

Idle 동작 데이터만 기존 로봇에 붙이려는 것이니까 움직이는 데이터만 가져오고,

(Idle 애니메이션 시퀀스)

  1. 스켈레톤에 기존 Skeleton 지정

가져오는 애니메이션을 가져온 스켈레톤에 적용하자

A_ISO_Mech_Idle_01.fbx의 움직임 데이터
SK_ISO_Mech_Skeleton의 본 구조에 연결
SK_ISO_Mech 로봇에서 재생 가능

  1. 죽는 애니메이션

2.2.3. 모델 배치 & 애니메이션 동작 확인#

  • 이제 모델을 가져와서 현재 맵에다가 올려놔보자

    위치의미
    콘텐츠 브라우저프로젝트 안에 저장된 스켈레탈 메시 에셋 원본
    아웃라이너현재 TestArena 맵에 놓인 로봇 액터 인스턴스
  • 컨텐츠 브라우저에서 드래그 앤 드롭

  • 모델 선택 후 디테일 패널에서 애니메이션 → 애니메이션 모드 → Use Animation Asset 후,

    Idle 애니메이션 선택

  • 시작 후, 적용 확인

2.2.4. Physics Asset 확인#

  • 해당 Physics Asset 은 해당 모델의 물리 몸체와 관절 제약을 정의하는 파일이다.

    즉, 나중에 로봇을 단순 애니메이션 재생이 아닌, 실제로 중력 아래에서 넘어지고, 다리가 충돌하고, 관절별로 제어되는 물리 로봇으로 바꾸려면 해당 설정이 제대로 되어있어야 한다.

  • 컨텐츠 드로워 → Physics Asset 더블클릭 후, 에디터 열기

    • 모든 관절 관절마다 물리
  • 피직스 에셋 에디터 위쪽의 버튼을 눌러서 시뮬레이션을 해보자

    • 상단 가운데쯤 있는 옆의 작은 클릭
    • 메뉴에서 시뮬레이션 선택

  • 이를 통해 확인이 가능한 건,

    • 로봇이 중력에 반응해서 푹 꺼지고,
    • 바닥과 접촉 판정이 모두 존재하고,
    • 갑자기 폭발하는 튀거나, 다리가 날아가거나 그러지 않고

    (충돌체끼리 겹쳐있거나, 제약이 불가능한 위치를 강제로 유지하려 하거나, 관절끼리 이어진 것을 넘어서 충돌까지 설정되어있거나, 질량 설정 이상 등등…)

    • 관절이 모두 물리적으로 연결되어 있는 걸 확인할 수 있다.

2.2.5. 레벨에서 물리 시뮬레이션 적용#

  • 이제 맵으로 돌아가서 레벨에서 물리 시뮬레이션을 확인해보자

  • 맵에 배치된 로봇 액터 클릭 → 애니메이션 모드를 Asset → 비워두기

  • 디테일 패널에서 Simulate Physics 체크

  • 플레이 확인

우선 여기까지 모델이 정상적으로 모델/물리/리깅까지 모두 완벽하게 구현되어있다는 사실을 알 수 있었다. 다음 챕터에서는 실제로 각 다리 관절을 제어할 수 있는 구조인지 확인해보기로 하자

Be Your Own Lamp