TIL: Unreal5 개발 기본 2일차

박춘팔·2026년 4월 2일

언리얼 TIL

목록 보기
4/12
post-thumbnail

누적 학습 시간 : 18시간

📅 2026-04-02

Fab에서 받은 에셋 버전 호환

언리얼은 에픽게임즈 런처 및 웹상에서 에셋을 다운로드 받을 수 있다.
이름은 Fab이다.

이때 다운로드 받은 에셋이 사용하는 엔진 버전과 다를 경우에 어떻게 해야할까?

낮은 버전에서 높은 버전으로 포팅은 가능하지만 높은 버전에서 낮은 버전으로는 안된다!
5.1 -> 5.5 O
5.5 -> 5.1 X

다운받은 에셋에서 프로젝트 생성을 누르면 해당 에셋은 5.1, 5.2버전만 지원되기 때문에

위와같이 5.2 버전으로 나오게되는데 이때 그냥 생성을 누르고

만들어진 프로젝트를 실행하려고 하면 아래와 같이 언리얼엔진 버전을 선택하라고 나온다.

이러고 OK를 누르면 포팅되어 프로젝트가 실행된다.

이러고 다른 에셋을 포팅된 프로젝트에 추가하려면

다시 에픽게임즈 런처에서 아래 프로젝트 추가를 누르면 된다.

그런데 이 에셋도 내 엔진과 호환이 안되는 버전이라면?

이런식으로 호환되는 프로젝트를 찾지 못한다고 나온다...

그렇다면 우선 프로젝트를 재생성하고 포팅을 5.4로 한다.

그러면 추가할 에셋이 5.4를 지원하기 때문에 추가가 가능하고

이후 프로젝트 폴더로 들어가서


파란색 언리얼 아이콘에 우클릭 > 추가옵션보기 > Switch Unreal Engine version을 선택하면 된다.


액터란 무엇인가?

액터란 언리얼 엔진에서 레벨에 존재하는 모든 오브젝트 기반의 클래스를 의미
건물, 캐릭터, 라이트, 카메라 등 눈에 보이는 것과 트리거, 볼륨 처럼 보이지 않는 것들도 액터다.

기본액터


액터 배치 패널이나 빠른 액터 배치에서 생성 가능한 기본 액터로

트리거, 스폰위치 등에 사용할 수 있다.

셰이프

Static Mesh Actor 라고 한다.
실체가 있는 액터라고 생각하면 된다.

라이트

라이트에는 5가지가 있다.

  • 디렉셔널 라이트
  • 포인트 라이트
  • 스포트 라이트
  • 렉트 라이트
  • 스카이 라이트

현재 생성된 프로젝트에는 DirectionalLight, SkyLight가 설정이 되어있고

DirectionalLight를 끄면 맵 전체가 암전되고 SkyLight를 끄면 조금 어두워진다.

위 사진은 DirectionalLight를 끄고 PointLight와 SpotLight, RectLight를 생성한 모습이다.

폰, 캐릭터 액터

Pawn은 AI가 컨트롤러를 가져갈지 내가 컨트롤할지 정할 수 있다.

Character는 Pawn과 다른게 디테일에 뭔가 추가되어 있는데

아래와 같이 마찰이라던가 점프, 걷기 등을 설정할 수 있다.

카메라

카메라 액터
일반 카메라 액터가 좀더 광각인거 같다.

시네 카메라 액터
시네 카메라 액터가 일반 카메라보다 설정할 수 있는 디테일이 더 많다.


드래그 말고 로직적으로 액터 생성

이렇게 하면 게임이 시작하고 0,0,0 좌표에 BP Moving Platform이 생성된다.


플레이어블 캐릭터 생성


Blueprints 폴더 생성 후 우클릭 > 블루프린트 클래스 생성을 누르면 위와 같이 클래스 선택이 가능하다. 여기서 캐릭터를 선택해준다.
이름은 BP_Character. BP는 Blue Print를 말한다.

이후 더블 클릭해서 클래스 수정을 해보자

캡슐 컴포넌트가 화살표 컴포넌트와 메시를 포함하고 있다.
자 이제 메시를 선택하고 우측 디테일에서 메시 에셋을 선택해보자.


메시 에셋을 SKM_Bot으로 설정하니 위 처럼 캐릭터가 나왔다.

근데 뭔가 이상하지 않은가? 캡슐과 캐릭터 몸이 잘 들어맞지 않는다.
캐릭터를 잘 이동하고 캡슐 사이즈를 조절해보자.

메시는 y축만 조절해주고 좌측에서 캡슐 컴포넌트 선택 후 우측 셰이프에서 캡슐 절반 높이를 수정해줬다.
그리고 진행방향과 같도록 캐릭터를 로테이트 시켜준다.
이제 상단 메뉴에서 컴파일을 누르고 저장해준다.


레벨로 돌아와 BP_Character를 드래그 해서 생성해주면 짠!

이렇게 정상적으로 렌더링되는 것을 볼 수 있다.

그런데 뭔가 부족하지 않은가..?
플레이어블 캐릭터라면 저 캐릭터에 내가 빙의가 되어 있어야하는데
단순 카메라 시점으로만 볼 수 있다.

이제 카메라와 캐릭터에 플레이어를 빙의시켜주자.

BP_Character로 돌아와 좌측에서 추가 버튼을 누르고
SpringArm과 Camera를 검색해서 각각 추가해준다.
이때 Camera가 SpringArm 안에 있어야한다.

위와같이 잘 추가되었다면 다시 레벨로 돌아가서 확인해보자.


추가가 됐긴 한데... 시점이 뭔가 많이 부족한 느낌이다.
요즘 자주 보이는 AAA급 3인칭 게임 시점으로 만들어보자.(농담)
그리고 플레이어 빙의는 우측 디테일에서 possess를 검색하면 플레이어 자동 빙의 라는 항목에서 player 0을 선택해주면 된다.

싱글 플레이 게임에서는 항상 player 0을 해야한다.

이러고 플레이를 하면 원하는 시점으로 변경은 됐지만 아직 조작은 안된다.

코드가 아니라서 TIL 작성하기가 너무 힘들다..
설명을 어떻게 해야할지 모르겠다
TIL 작성 방법을 조금 간략하게 바꿔야겠다.


과제

게임 분석 템플릿

1. 선택한 게임의 이름은 무엇인가요?

리그오브레전드

2. 선택한 게임의 장르는 무엇인가요?

AOS

3. 선택한 게임의 어떤 시스템에 집중하셨나요?

리그오브레전드 bush

4. 해당 시스템이 동작하는 구조의 시작부터 과정을 자세하게 분석, 나열해봅시다.

플레이어 visibility상태
보임(visible) / 안보임(hidden) / 노출(revealed) 3가지 상태 보유

티모 샤코 등 투명화 스킬 -> 부시 안에 있어도 visible이 다르게 작동함
아마 isInBush 와 같은 boolean으로 체크하고
스킬, 패시브로 인한 visible 따로 처리할 것으로 생각됨

visible = 1
hidden = 0
revealed = 1 -> 0

기본 상태 enemy/alias visible = 1

플레이어 부쉬 안으로 진입 시 이벤트
enemy 플레이어한테는 visible 0
alias 플레이어한테는 visible 1, 주변 시야 제공

if(부쉬 내의 플레이어 기본 공격 시)
enemy 플레이어에게도 visible 1 제공
짧은시간 => revealed

if(부쉬 내의 플레이어 스킬 시전 시)
1. 투사체 있는 스킬일 경우 enemy 플레이어에게 투사체 스킬 이펙트만

  • visible 1 플레이어 visible 0 유지
  1. 범위를 가지는 장판형 스킬(사이온q, 피들r, 누누r 등)
  • visible 0 유지 -> enemy 플레이어 적중 시 데미지, cc효과 적용은 가능
    -> 이펙트는 보임

enemy 플레이어가 주변 시야를 제공하는 스킬(럭스 e) 등 사용할 경우 해당 스킬이 부쉬 안으로 진입 시
부쉬 내의 시야 제공 -> 부쉬 안에 플레이어 있을 경우 visible 1 제공

부쉬에 와드 설치 시
부쉬 내의 시야 제공 -> 부쉬 안에 플레이어 있을 경우 visible 1 제공
해당 와드 기준으로 주변시야 제공

렌즈 > 잔상 보임
일부 소환사 스킬은 노출됨

렝가 아이번 > 평타강화

5. 직접 분석해본 내용 중 가장 핵심이 되는 구성 요소는 무엇이라 생각하나요?

다양한 상황에 대한 이벤트함수 처리
visible 값 처리에 대한 로직
아이번 패시브 관련 처리

profile
이것 저것 다해보는 삶

0개의 댓글