오브젝트
본질적으로 무언가를 대표하는 것이며 데이터와 기능의 집합이다.
예를 들어서 월드에서 모험가는 오브젝트이다.
모험가는 경험치, 레벨 등 데이터가 존재하며 모험가 고유 스킬, 점프 등 기능이 존재한다.
또다른 예시로 리스트 또한 추상적이나 오브젝트이다.
아이템 1, 2, 3, 4 등 데이터가 존재하며 아이템 삭제 및 추가 등 기능이 존재한다.
여기서 기능은 앞서 이벤트그래프에서 봤듯이 노드 형태로 존재한다는 것을 알수 있다.
오브젝터의 종류로 다음과 같은 내용이 있다.
액터
- 레벨에 투입할 수 있는 오브젝트
- 예시로 큐브를 레벨에 투입할 수 있고, 우측 디테일 탭을 보면 수많은 데이터가 존재
컴포넌트
- 액터 자체에 들어갈 수있는 오브젝트
- 우측 디에틸 패널에 액터 아래에 StaticMeshComponent가 존재하며 기본적으로 큐브를 어떻게 그리는 지를 나타냄
오브젝트는 훨씬 많은 데이터를 가질 수 있고, 이로 인해 컴퓨터가 너무 무거워질 가능성이 존재한다.
특히 오브젝트를 복사하면 그러한 경우가 발생할 확률이 높고 이를 위해 레퍼런스를 사용하게 된다.
레퍼런스
레퍼런스는 주소 내지는 컴퓨터의 메모리에서 해당 오브젝트를 찾기 위해 가야 할 위치이다.
디테일 패널에서 원하는 컴포넌트를 누르고 이벤트그래프로 이동후 우클릭을 하면 해당 레퍼런스를 생성 가능하다.
위 이미지는 Create a Reference to Cube를 눌렀을 시 생성되는 노드이다.
기존 노드의 흰색핀하고 다른 색깔있는 핀이 보이는데, 이는 데이터핀이다.
데이터 핀은 왼쪽의 경우 입력 노드로 다룰 수 있는 데이터를 의미하고,
오른쪽의 경우 출력 노드로 노드가 만드는 데이터를 의미한다.
따라서 노드로 무엇을 실행할지 정하게 된다.
강의에 주어진 내용을 따라 큐브의 레퍼런스에 노드를 추가한 모습이다.
큐브에 있는 기능으로 Get Static Mesh Compoent를 골라 해당 내용을 가져왔고,
또 다시 Static Mesh Component에 있는 기능으로 Get Display Name을 골라 가져온 것을 볼수 있다.
이렇게 나온 Name의 값을 Print String에 연결하여 출력하도록 하였다.
강의에 주어진 과제 내용이다.
Static Mesh Component가 가진 기능으로 Get Mass를 사용하여 질량을 얻었다.
이렇게 얻은 질량을 바로 Print String과 연결하여 출력하도록 했다.
여기서 새롭게 추가된 빨간색 박스로 표시된 노드가 보이는데, 이는 변환 노드이다.
Get Mass 를 통해 만들어진 데이터를 String이 받을 수 있는 값으로 변환하기 위해 사용된다.
이제 플레이를 하면 설정해놨던 큐브의 질량 값이 출력되는 것을 확인할 수 있다.
'Unreal > Udemy 강의' 카테고리의 다른 글
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-6 (0) | 2024.02.22 |
---|---|
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-5 (0) | 2024.02.22 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-3 (0) | 2024.02.21 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-2 (0) | 2024.02.20 |
Unreal Engine 5 - C++ 개발자: C++ 학습하고 비디오 게임 제작하기 Section 2-1 (0) | 2024.02.19 |