Unreal

[Unreal Engine 5] 9. 오브젝트, 컴포넌트, 레퍼런스, 노드(데이터 핀, 실행 핀)

study_memo 2023. 9. 29. 20:25

오브젝트란?

데이터와 기능의 집합이다.

액터는 레벨에 투입할 수 있는 오브젝트이다.

 

컴포넌트란? 

액터로 들어가는 오브젝트.

(액터는 레벨에 들어가고 컴포넌트는 액터 자체에 들어간다.) 

 

Chair 밑에 StaticMeshComponent가 있는 것을 알 수 있다.

 

레퍼런스란? -> 주소를 뜻한다. 

오브젝트에는 많은 데이터가 있기 때문에 오브젝트를 복사하면 컴퓨터로 다루기에 너무 무거워지는 문제가 발생할 수 있다. 그렇기 때문에 레퍼런스라는 개념을 사용한다. 

 

레퍼런스는 주소 내지는 컴퓨터의 메모리에서 이 오브젝트를 찾기 위해 가야할 위치로서 

오브젝트를 계속 옮길 필요가 없도록 만들어준다. 


큐브에서 몇 가지 기능을 사용하고자 하는 경우, 씬 안에 큐브를 선택한 다음 레벨 블루프린드로 이동해 우클릭을 한 다음, 

 'Create a Reference to Cube'를 선택해주면 새 노드가 생긴다. 

큐브의 주소를 알려주는 역할을 한다.

 이 노드는 큐브의 주소를 알려주는 역할을 한다. 


데이터 핀이란?

노드의 데이터 입력이나 출력을 뜻한다.

노드에서 왼쪽에 있으면 입력이자, 노드가 다룰 수 있는 데이터이다. 

노드의 오른쪽에 있으면, 이는 노드가 만드는 데이터이다. 

빨간 동그라미 친 부분이 데이터 핀이다.

실행 핀이란? 

아래에 흰색 화살표 표시가 실행 핀이다.

참고로 이건 '실행 핀'인데 데이터 핀과 다른 점이 무엇일까?

데이터 핀과 실행 핀의 다른 점:

위의 Cube 데이터 핀은 Cube 액터의 레퍼런스를 만든다.

반면, 실행 핀은 노드를 언제 실행할지 정한다.

 

즉, 데이터 핀은 노드로 무엇을 실행할지 정하며, 실행 핀은 언제 실행할지 정한다.


참고로, 큐브 레퍼런스 핀을 드래그해 보면 큐브에 있는 모든 기능을 사용할 수 있다. 

레퍼런스를 가져와 보면 (get static mesh component 라고 입력. 큐브에는 StaticMeshComponent 라는 컴포넌트가 있다.)

입력은 큐브 레퍼런스이고 출력은 StaticMeshComponent의 레퍼런스인 새 노드가 생긴다. 

 

이를 또 드래그하면

Get Display Name은 StaticMeshComponent 레퍼런스의 입력을 가져오는 기능이다. 이후에 print string 노드를 사용해 텍스트 값을 출력할 수 있다. (해보면 Cube StaticMeshComponent0 Cube와 같은 이름이 출력된다는 것을 알 수 있다.)

 

StaticMeshComponent의 기능을 요청할 수 있다.