창 -> 환경 라이트 믹서

ㄴ 직선광, 구름, 안개 등 다양한 환경 효과를 생성할 수 있다.

ㄴ 기본적으로 모든 조명은 리얼타임이다.

ㄴ ctrl + L 누른 상태에서 마우스 드래그로 조명(태양)의 위치를 조정할 수 있다.

 

에셋 임포트

ㄴ 컨텐츠 -> Props 폴더에 메시, 머터리얼, 텍스처를 저장

 

static mesh의 물리 시뮬레이션 설정하기

ㄴ 디테일의 physics 속성 -> Simulate Physics

 

고차원 메시(폴리곤 수가 많은)를 임포트할 때는 나나이트 빌드 세팅을 체크하자

ㄴ 임포트하는데 시간이 다소 발생, 큰 파일 크기

ㄴ 거리에 따라 필요한 만큼의 삼각형만 렌더링하는 기술(LOD)?

 

머터리얼 에디터

ㄴ 머터리얼의 색상, 거칠기, 노멀 맵을 정한다.

 

1 누른 상태에서 좌클릭 -> 상수 노드

3 누른 상태에서 좌클릭 -> 벡터 노드

알파벳 L 누른 상태에서 좌클릭 -> 알파 선형 보간 노드

 

texcoord 노드

ㄴ 타일링 uv 스케일 설정

 

LandscapeGrassOutput 노드 & LandscapeLayerSample 노드

ㄴ 폴리지 -> 랜드스케이프 그래스 타입 애셋 생성

 

Named Reroutes 노드 : 같은 이름을 지정하면 직접 연결하지 않아도 연결된 것으로 처리

 

랜드스케이프 그래스와 폴리지

텍스처가 검은색일 때 머터리얼을 마스킹하기

ㄴ 블렌드 모드를 Masked 모드로 바꾸고 텍스처를 Opacity Mask에 연결

 

 

Foliage 모드에서 static mesh를 한 번에 그릴 수 있다.

 

네이밍 컨벤션

블루프린트 BP_

스태틱 메시 SM_

머터리얼 M_

텍스처 T_

폴리지 F_

스켈레탈 메시 SKM_

애니메이션 블루프린트 ABP_

 

블루프린트 액터에서 속성을 바꾸면 씬 내의 모든 액터에 바뀐 속성이 적용됨 (유니티 프리팹 같은? 개념)

유니티와 달리 게임 오브젝트(블루 프린트)가 비어있는 상태로 시작하는 것이 아니라 어느 정도 형태가 정해진 상태(폰, 액터, 캐릭터 등)로 시작함

 

Select Mode -> LandScape 

ㄴ 랜드 스케이프를 만들 수 있다.

ㄴ 스컬프팅 : 영역의 높낮이 브러싱 (shift 누르면 낮출 수 있다)

 

게임모드, 폰, 플레이어 컨트롤러

ㄴ 기본적으로 자동으로 스폰되는 디폴트 액터, 아웃라이너에 노란색 글씨로 뜸

 

월드 세팅으로 게임모드를 설정하면 해당 레벨에만 게임모드가 적용되지만 프로젝트 세팅에서 설정하면 모든 맵에 적용됨

 

player start 액터를 사용하여 캐릭터가 스폰될 위치를 정할 수 있다. End 키를 눌러 스폰 위치를 바닥에 스냅시킬 수 있다.

 

디폴트가 캐릭터(폰의 자식)가 아닌 폰인 이유는 폰에 AI controller를 붙일 여지가 있기 때문인 것 같다.

 

플레이어 컨트롤러의 이벤트 그래프

ㄴ BeginPlay는 스폰될 때 한 번

ㄴ Event Tick은 업데이트될 때마다

 

플레이어 컨트롤러 컴포넌트 속성에 마우스 커서를 표시할 것인지 체크하는 속성이 있다.

 

마우스 커서가 Visible 채널과 충돌하는 위치로 캐릭터를 이동시키는 그래프

 

Input

 프로젝트 세팅 -> Input 에서 Action이나 Axis에 매핑을 추가한 뒤 플레이어 컨트롤러의 이벤트 그래프에서 해당 입력과 관련된 노드를 추가해 사용할 수 있다.

ToggleInput Action을 마우스 좌클릭에 매핑하고 이벤트 그래프에 추가해 눌린 도중에만 캐릭터가 움직이도록 함

 

Skeletal Mesh와 Skeleton

skeletal mesh에는 머터리얼 슬롯, LOD 세팅, 포스트 프로세스 애니메이션 블루프린트 속성을 지정할 수 있다.

 

텍스처 애니메이션

알파 마스킹 텍스처(texture atlas) 와 FlipBook 노드를 이용하여 텍스처 애니메이션을 쉽게 구현할 수 있다.

 

언리얼은 왼손 좌표계를 사용하고 X 축이 앞방향 Z축이 윗방향이다.

 

캐릭터 블루프린트는 character movement 컴포넌트를 갖고 있는데 여기에서 캐릭터의 이동 방향에 따라 캐릭터가 자동으로 회전하도록 (진행방향을 바라보도록) 설정할 수 있다.

 

애니메이션 시퀀스와 애니메이션 블루프린트

애니메이션 fbx 에셋을 임포트하면 생김

 

특정 스켈레톤 대상으로 애니메이션 블루프린트를 생성한다.

 

애니메이션 블루프린트에 GroundSpeed 변수를 만들고 캐릭터의 velocity를 계속 udpate하게 만들고

애니메이션 트랜지션이 일어나게 하는 조건으로 이를 사용할 수 있다.

 

 

블렌드 스페이스1D를 사용하여 걷기와 뛰기의 애니메이션을 블렌딩할 수 있다.

언리얼5 에는 본을 기반으로 애니메이션을 축의 알맞은 지점에 정렬하는 분석 기능이 있다.

 

AI Controller

AI Controller 블루프린트에서 AI MoveTo 노드를 사용해 ai를 NavMeshBoundsVolume 안에서 이동시킬 수 있다.

 

AI의 메시를 플레이어와 구별하기 위해 BP_Bot의 Construction Script에서 Create Dynamic Material Instance 노드를 사용하여 mesh -> 0번째 머터리얼(몸체)의 색상을 설정할 수 있다.

 

파티클

Niagara System을 추가하여 파티클을 제작하고 애니메이션 특정 프레임에 재생되도록 애니메이션에 추가

사운드

meta sound 플러그인을 사용하여 사운드를 만들고 애니메이션 특정 프레임에 재생되도록 애니메이션에 추가

 

애니메이션 특정 프레임에 효과음과 파티클 이펙트를 재생

 

후기

블루프린트 만으로도 이벤트 시스템이나 머터리얼, 플레이어 컨트롤러를 제어할 수 있다는 점이 놀랍다..

씬에 개체들을 추가해나감에 따라 점점 프레임이 떨어진다.. 답답하다..

 

언리얼 4와 비교했을 때 언리얼 5의 가장 큰 특징은 나나이트와 루멘인 듯하다. 본인 그래픽카드가 1060 3gb이고 하드디스크를 사용하고 있어서 그런지 이 속성들을 켜고 작업하기에는 버겁다. 이것들을 끄고 작업을 하더라도 단순한 샘플 프로젝트의 러닝패스를 따라가는데 어려움이 있다.  언젠가 그래픽카드를 약간 업그레이드하고 SSD를 구매할까 생각중이다.

+ Recent posts