반응형

ALC(Advanced Locomotion Component)같은 경우 서로 얽혀 있는 로직이 너무 많다 보니 트리플 A에서 사용될 RPG 로코모션 기능만 확인하는데 어려움이 있을수 있어 Unarmed의 Velocity Direction기능만 추려서 해당 기능만 집중적으로 파악해 보도록 하겠습니다.

  • Unarmed 로코모션 무브먼트만 집중 파악하기 위해 걷어 낼 기능.
    • 무기교체기능
    • HUD 
    • 데미지 기능
    • 메시 교체 기능
    • AI 기능
    • 위 기능들 제거 후 새 프로젝트로 이주
      • 딱 필요한 파일들만 이주되어 확인이 간편해 짐.
  • 위 기능들을 제거하기 위해 아래 컴포넌트를 제거해 줍니다.
    • 무작정 지우면 컴파일 에러가 발생하게 되므로 레퍼런스 찾기 기능을 이용해 사용되고 있는 부분들을 찾아서 손수 제거해주고 그럼에도 불구하고 컴파일 에러가 발생하는 부분들을 찾아서 수정해 코드를 수정해 니다.

  • 불필요한 함수 및 이벤트 제거
    • 캐릭터의 로코모션 구조만 확인할 거라 데미지나 죽음등의 이벤트는 굳이 필요없음.

 

  • AI 기능도 제거 - NPC와 만날 필요가 없음.

 

  • 스켈레탈 메시 구조와 애님블루프린트 단순화
    • 스켈레탈 메시와 애님 BP도 굳이 Child를 써서 복잡성을 늘릴필요가 없어 메인 스켈레탈로 쓰이는 Core 메시를 사용하고 애님 BP도 메인으로 사용하여 복잡성을 낮춘다.
  • 복잡성을 더 줄이기 위해 UE4와 UE5 캐릭터 선택도 없애도록 합니다.
    • Enum_SkeletonType 파일을 열어 UE5 캐릭터만 남기고 나머지는 없애줍니다.
    • 이상태로 플레이를 하게 되면 많은 컴파일 오류가 뜨게 되며 컴파일 오류가 난 BP 파일들을 열어 UE4 분기가 되는 부분을 단순화 시켜주도록 합니다.
      • 오류가 있는 블루프린트 모두 열기를 실행하고, UE4 부분을 제거시켜줍니다. 특히 Anim BP의 Blend Poses에서 에러가 발생하게 되면 노드를 새로 연결해줘야 하므로 이 부분을 유념합시다.

블렌드 포즈는 새로연결해줘야만 컴파일 에러가 사라짐.
메인 애님 BP에서도 스켈레톤 고르는 부분에 UE5 스켈레톤으로 고정시켜줍니다.

 

  • 위 구조들을 제거하고 Play를 해보면 Unarmed 로코모션 기능만 남고 나머지는 모두 제거 된 것을 아래 영상을 통해 확인할 수 있습니다.

 

 

 

이주 진행

  • 위 절차가 마무리 되면 이제 스마트 버전의 이주준비가 마무리되었습니다. 새 프로젝트로 이주 하여 프로젝트를 깔끔하게 만들어 봅시다.

 

  • 먼저 'ALC_Study' 라는 이름의 비어있는 새 프로젝트를 만든다.

  • 새 프로젝트에서 'Animation Locomotion Library' 플러그인을 활성화 시켜주고 재시작을 진행해 줍니다.
    • 플로그인이 없는데, 플러그인을 사용하는 프로젝트를 이주 시키면 크래쉬등 문제가 발생할 수 있습니다.
  • 오리지널 프로젝트에서 아래 메인 게임모드 파일을 선택하여 방금 만든 프로젝트로 이주를 시켜 줍니다.
    • 이주 시킬 때는 이주 대상 프로젝트를 닫아놓고 하셔야 문제가 발생하지 않으므로 꼭 프로젝트를 닫고 이주를 진행해 줍니다.

  • 키 맵핑을 맞춰 주지 않으면 컴파일 에러가 발생하므로 Project Settings 의 입력 부분을 원본 프로젝트와 일치 시켜주도록 합니다. 언리얼 5.3 이후부터는 입력키 Export 기능이 사라져 일일이 넣어줘야 하는 번거러움이 있습니다. 작업 간편화를 위해 필요한 입력 맵핑만 가져오도록 합니다.

  • 여기까지 진행하시고 게임모드를 새로 이주해온 게임모드로 게임을 실행하시면 캐릭터가 정상적으로 잘 움직이는 것을 확인할 수 있습니다.

 

  • 이주 후 정상작동 확인.
    • 이주 후 폴더 구조 - 원본 프로젝트보다 훨씬 구조가 단순화 된 것을 확인할 수 있습니다.
    • 스켈레탈 메시 / 데이터 Table 등이 단순화 되어 복잡한 파일과 구조가 모두 제거되었습니다.
    • 혹시 컴파일 에러가 발생하거나 크래쉬가 발생한다면 위에서 부터 다시 한번 복기하며 새로 진행해봅시다. 한가지라도 순서가 바뀌거나 빠지면 크래쉬가 발생할 수 있습니다.

 

이주 한 새 프로젝트에서 아래 영상처럼 나오는지 확인.

 

 

반응형

+ Recent posts