TIL - Today I Learned : 확실히 차분히 하나씩 이해하면서 하다보니 블루프린트와 노드들과 친해진거 같다.
오늘의 진도: Section 2: 창고 부수기 17. 데이터 유형 ~ 23. 에셋 가져오기 ~ 35. 마무리 및 요약
Geometry Brushes (BSP : Binary Space Partitioning)
바이너리 스페이스 파티셔닝(Binary Space Partitioning, BSP) 브러시로도 알려진 지오메트리 브러시는 언리얼 엔진의 레벨 생성 툴이다. 개념적으로는 레벨 내 공간에 볼륨을 채우고 조각하는 툴이라고 생각하면 된다.
도형을 만들어서 Subtractive를 하면 모양대로 구멍이 생긴다.
언리얼 엔진의 지오메트리 브러시 액터
언리얼 엔진에서 브러시를 사용하여 레벨 지오메트리를 사용하는 방법에 대해 살펴봅니다.
dev.epicgames.com
Materials and Lighting
마테리얼을 드래그해서 원하는 곳에 간단히 적용할 수 있다.
Light의 각도에 따라 그림자가 생긴다.
Actor Components
기존 액터에 자식을 넣을 땐 부모가 될 액터의 스태틱 매시 컴포턴트에 넣어주면된다.
Collision Meshes
View Mode -> WireFrame : 매시가 보임
View Mode -> Player Collision : 단순화된 충돌 매시가 보임
Collision -> Add 10DOP-Z Simplified Collision : Z 축을 중심으로 오브젝트를 감싸는 충돌 매시 추가
Variables
변수는 정보를 담고 조작하고 참조 할 수 있는 박스
변수는 이름이 있고, 데이터를 담고, 데이터의 타입이 있다.
Window -> My Blueprint 에서 변수를 생성할 수 있다.
My Blueprint 에서 생성한 변수를 이벤트 그래프로 가져올 수 있는다.
Ctrl + 드래그 => Get 노드 : 값을 참조한다.
Alt + 드래그 => Set 노드 : 값을 변형할 수 있다.
변수의 값을 가져와 프린트할 수 있고
이벤트가 발생 할 때마다 1씩 빼서 변수에 저장 후 프린트 할 수 있다.
Booleans and Braches
블루프린트에서 Branch는 if 구문같은 역할을 하는 노드이다.
변수 ammo의 값을 참조하여 값이 0보다 크다면 True가 되어 캐논볼을 생성하고 0보다 크다가 false 일 경우 "Out of Ammo"를 프린트하게 만들었다.
Functions
내가 만든 기능을 함수로 만들 수 있다.
원하는 노드를 선택 후 우클릭 -> Collapse to Function
새로 생성한 함수는 My Blueprint의 Functions 안에 들어가 있다
Return Types
My Blueprint -> Functions -> (+) 새로운 함수를 생성한다
Details 창에서 Inputs의 변수를 추가할 수 있고 변수의 데이터 타입을 정할 수 있다.
Output도 똑같은 방법으로 만들 수 있다.
이쁘게 만든 함수는 꺼내서 쓰면 된다
Pure Functions
왜 Excution Pin이 필요하나?
Side Effect : 함수가 실행되고 식별 가능한 효과가 생기는걸 말한다. (실제로 눈에 보이는 효과)
- 함수가 실행되면 변화가 확인이 가능하다
- e.g : Print String (뭔가가 출력된다), Add Impulse (물체가 움직인다)
Pure Function : 사이드이펙트가 없는 함수 (반환 값이 있음)
- 값을 계산하고 반환하는 역할만 한다.
- e.g : Get Ammo (값을 계산하고 반환한다), Multiply... etc
Pure Function에는 Excution Pin이 없다..
함수를 선택하고 Details 창을 보면 Pure 를 적용할 수 있다.
Pure를 체크하면 실행핀이 없어진다.
Pure Function의 이름은 동사 형식으로 하지 않는다. (IsChecked? , Has Ammo, etc)
뭔가 작동하는게 아니고 단순히 값만 계산하기 때문에, 사이드이펙트가 없기 때문.
Member Functions
Object Oriented Programming : 객체 지향 프로그래밍은 함수가 조작하는 데이터와 함께 사는걸 말함
Member Function : 멤버 함수는 클래스의 함수로 항상 특정 인스턴스에서 호출되는 함수
Self : 멤버 함수 안에서 사용 가능한 노드이며 현재 사용하는 인스턴스를 항상 가리킴.
Cannon Ball이 날아간다. <- 해당 기능은 날아갈 Cannon Ball에서 실행해주면 된다.
Self 는 자기 자신을 참조하기 위한 노드이다.
Cannon Ball Blueprint Class에 함수를 생성하고
Level Blueprint에서 해당 함수를 호출한다.
Loading Levels & Delay Nodes
레벨을 다시 로드하는데에는 두가지 방식이 있다. 레벨의 이름으로 불러오는 것과 오브젝트의 참조로 하는 것
그 중 이름으로 불러오는 방식으로 레벨을 다시 로드 하였다.
Delay 노드를 사용해서 특정 시간 지연 시킨 후 레벨을 로드 한다.
'Unreal Engine > Udemy:UE5 C++ 학습하고 게임 만들기' 카테고리의 다른 글
Unreal Day - 15 - UPROPERTY (0) | 2024.03.31 |
---|---|
Unreal Day - 14 - Project Setup (0) | 2024.03.30 |
Unreal Day - 12 - Vectors and Rotations (0) | 2024.03.28 |
Unreal Day - 11 - Classes and Instances (0) | 2024.03.25 |
Unreal Day - 10 - Adding impulse (0) | 2024.03.24 |