오늘의 계획
1. 에셋 추출법 작성 완료.
2. 과제 8 시작
3. 팀프로젝트 회의 - 리소스 목록 정하기
4. 팀프로젝트 슬랙 채널 개설
에셋 추출 방법
- UEViewer 실행 방법
- 압축 풀기
- umodel_materials_ue5.exe 실행
- 아래와 같이 설정.
- Path to game files : 게임이 설치된 경로
- Override game detection 체크
- Unreal engine 4 선택
- The First Descendant 선택
- Skeletal mesh, Animation, Static Mesh, Material, Texture, Lightmap, Verex mesh 체크
- OK 클릭
- AES 복호화 키 입력
- 대부분의 컨텐츠는 최상위에 위치한 특정 폴더에 있음.
- Skeletal Mesh와 애니메이션 추출 방법
- 애니메이션을 포함시켜서 추출해야 한다.
- Skeletal Mesh 더블 클릭
- 영어 'o' 키를 클릭하면 Choose a package to open 창이 다시 열린다.
- 해당 Skeletal Mesh가 사용하는 Skeleton 에셋을 찾아 우클릭 후 Open(add to loaded set)을 클릭해준다.
- AnimSet, Retargeting, Anim 정보가 표시되는 것을 확인한다.
- 애니메이션을 찾아 Open(add to loaded set)을 클릭한다. 아니면, 특정 폴더에 다 들어가 있다면 계층구조에서 폴더를 우클릭 하여 Open folder content (append)를 클릭해주면 한번에 여러 개의 애니메이션이 포함된다.
- 애니메이션 확인 방법
- [, ] 키로 애니메이션을 전환할 수 있다.
- SPACE bar 키로 애니메이션을 재생해 볼 수 있다.
- 다 추가했다면 상단 메뉴에서 Tools → Export current object를 클릭한다.
- 원하는 경로, glTF 2.0, Export all weights를 설정하고 OK를 눌러준다.
- 파일이 정상적으로 추출되었다면, 추출된 gltf 파일을 Unreal Editor의 Content Browser에 넣어준다.
- Import Content 창이 떴다면 Import를 클릭한다. 정상적으로 Import 됐는지 Skeletal Mesh와 Skeleton, Animation을 확인한다.
- Material은 정상적으로 로딩이 불가능하므로 Texture를 찾아서 export 해 주는 방법밖에 없다. 우리가 하려는 게임의 경우 UE_Viewer에서 Texture가 정상적으로 표시 및 export가 되지 않으므로 FModel을 사용해야 한다.
- FModel의 설치 및 사용방법은 아래를 참고하면 된다.
과제 8 시작
필수과제 1번은 멀티 웨이브 구조 구현, 2번은 HUD & 메뉴 UI 리뉴얼이다.
필수과제 1번을 현재 수행 중이며
기본적으로 Playable Character를 구현하고 멀티 웨이브 구조를 만들겸 Playable Character를 만드는 복습겸해서
TIL 작성 시점까지 Character 클래스를 CPP로 구현하고 이를 상속받는 BP 클래스를 만들었다.
ABaseCharacter::ABaseCharacter()
{
PrimaryActorTick.bCanEverTick = false;
SpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("SpringArm"));
SpringArm->SetupAttachment(RootComponent);
SpringArm->TargetArmLength = 300.0f;
SpringArm->bUsePawnControlRotation = true;
Camera = CreateDefaultSubobject<UCameraComponent>(TEXT("Camera"));
Camera->SetupAttachment(SpringArm, USpringArmComponent::SocketName);
// 카메라는 스프링 암의 회전을 따르므로 PawnControlRotation 비활성화
Camera->bUsePawnControlRotation = false;
}

Wave는 GameState를 이용해서 만들 것 같다. 멀티 플레이 게임을 만드는 것은 아니지만 GameState를 다룰 필요도 있기 때문에 이를 활용할 예정이다.
리소스 목록 정하기
- 플레이어 캐릭터 - XX
- 일반 몬스터
- 근거리 - XX02
- 원거리 - XX03
- 공중 - SumXXXX에서 몬스터 담당자가 택 1
- 보스 몬스터
- XXX01
- 무기
- 주무기 2개를 겹치지 않는 종류로 하나씩 담당자가 정하여 추출
- 권총 1개를 담당자가 택 1
- 특수무기를 담당자가 택 1
- 그래플링 도구 - XX01
- Prop들 - 대부분의 배치가능한 Prop은 XX/XXXXXXXXXXX 하위에 위치
- Font
- Octin college
- Teko
- Noto Sans Korean
- UI / NPC - 필요에 따라 추출
슬랙 채널 개설

'TIL(Today I Learned)' 카테고리의 다른 글
| 250214 TIL (0) | 2025.02.14 |
|---|---|
| 250213 TIL (0) | 2025.02.13 |
| 250210 TIL (0) | 2025.02.10 |
| 250207 TIL (0) | 2025.02.07 |
| 250206 TIL (1) | 2025.02.06 |