반응형
함수(Functions) 이해 및 커스텀 함수 생성
이제 **이벤트(Events)**에 대한 이해를 높였으니, **함수(Functions)**에 대해 더 이야기해 봅시다.
1. 함수의 정의 및 유형

지금까지 우리는 몇 가지 함수를 사용했습니다. 예를 들어 Print String이나 Set Actor Location 노드는 모두 함수입니다.
- 함수란 이벤트와 연결되며, 게임 내에서 **특정 행동(behavior)**을 수행하는 것들입니다. (예: 화면에 문자열을 출력하거나 액터의 위치를 변경하는 것.)
- 시각적 특징: 함수들은 보통 F 아이콘(혹은 초록색/파란색 아이콘)으로 표시됩니다.
- 함수 검색: 이벤트 그래프에서 마우스 오른쪽 버튼을 클릭하면 추가할 수 있는 수많은 함수들을 볼 수 있습니다.
A. 파란색 함수 (실행 흐름 포함)
- Set Actor Location과 같이 **실행 핀(Execution Pin)**을 가진 함수는 보통 파란색입니다.
- 이 함수들은 행동을 수행하고 다음 코드로 실행 흐름을 전달합니다.
B. 초록색 함수 (데이터 반환)

- 일부 함수는 초록색입니다. 예를 들어, Get Actor Location이나 Get Actor Rotation은 초록색입니다.
- 초록색 함수는 정보를 가져오거나 설정하지만, 실행 핀이 없습니다. 이들은 데이터를 반환하는 데 중점을 둡니다.
Get Actor Location을 예로 들어봅시다:
- Input (입력): 함수는 종종 **입력(Inputs)**을 가질 수 있습니다. 예를 들어, Set Actor Location 함수는 새로운 Vector 변수를 입력으로 받습니다.
- Return Value (반환 값): 함수는 반환 값을 가질 수 있습니다. Get Actor Location은 현재 바닥의 위치 값을 **반환(Returning)**합니다. 이 반환된 위치 값으로 다른 작업을 수행할 수 있습니다. (예: 현재 회전 값을 가져와 다른 코드를 작성하는 것)
2. 커스텀 함수 생성 및 코드 정리

함수에 대해 마지막으로 보여드릴 것은 사용자 정의 함수를 만드는 방법입니다. 이것은 코드를 정리하는 데 매우 좋은 방법입니다.
- 함수화할 코드 선택: 함수로 만들고 싶은 노드들 (예: Set Actor Location 로직)을 모두 선택합니다.
- 함수로 접기: 마우스 오른쪽 버튼을 클릭하고 **'Collapse to Function (함수로 접기)'**를 클릭합니다.
- 이름 지정: 이 함수에 논리적인 이름을 지정합니다. (예: 'SetFloorLocation').
- 팁: 10일 후에도 기억할 수 있도록 의미 있는 이름을 사용해야 합니다.
- 함수 액세스: 왼쪽의 'Functions (함수)' 탭에서 만든 함수를 볼 수 있습니다. 더블 클릭하거나 이벤트 그래프에서 노드를 더블 클릭하여 함수 내부로 들어갈 수 있습니다.
✨ 코드 정리의 중요성: 게임을 만들 때 코드가 매우 길어질 수 있습니다. 코드를 함수로 접어두면 코드가 훨씬 깔끔해지고, 이 함수를 호출하여 반복되는 긴 코드 대신 사용할 수 있습니다.
3. 함수 재사용 및 입/출력 추가

- 함수 재사용: 만든 함수는 여러 이벤트에서 쉽게 호출하여 사용할 수 있습니다. 단순히 'Functions' 탭에서 그래프로 드래그하여 연결하면 됩니다.

- 입력(Input) 및 반환(Output) 노드: 함수 내부에는 시작 노드와 **반환 노드(Return Node)**가 있습니다.
A. 반환 값(Return Value) 추가 (출력)

- 함수 내부의 **Return Node (반환 노드)**를 클릭합니다.
- 'Details (디테일)' 패널에서 **'+'**를 클릭하여 변수를 추가합니다.
- 변수 유형을 설정하고 (예: Vector), 이름을 지정합니다 (예: 'FloorLocation').
- 함수 로직의 **결과 값(Floor Location)**을 이 반환 변수에 연결합니다.
- 결과: 이벤트 그래프로 돌아가면, 이 함수를 호출했을 때 반환 핀이 생성되어 'Floor Location' 값을 사용할 수 있게 됩니다.
B. 입력 변수(Input Variable) 추가 (입력)

- 함수 내부의 **시작 노드(Start Node)**를 클릭합니다.
- 'Details' 패널에서 **'+'**를 클릭하여 변수를 추가합니다.
- 변수 유형을 설정하고 (예: Text), 이름을 지정합니다 (예: 'Message').
- 결과: 이제 이벤트 그래프에서 함수를 호출하면, 입력 핀이 생겨 함수에 데이터를 전달할 수 있습니다. (예: **"Yay, you changed the location."**이라는 텍스트를 입력할 수 있습니다.)

4. 다음 단계
지금 당장 모든 것을 기억하거나 완벽하게 이해할 필요는 없습니다. 나중 강의에서 더 깊이 있게 다룰 것입니다.
다음 시간에는 **매크로(Macros)**에 대해 이야기하고, 곧 우리가 배운 모든 것을 모아 레벨 내에서 실제로 무언가를 하는 실습 예제를 만들 것입니다. 이제 매크로에 대해 더 알아봅시다.
반응형
'Unreal Engine' 카테고리의 다른 글
Unreal Engine 블루프린트 함수 라이브러리 생성 및 활용 (0) | 2025.10.20 |
---|---|
Unreal Engine 매크로(Macros) 이해하기 (0) | 2025.10.20 |
Unreal Engine 이벤트(Events)의 이해 및 활용 (0) | 2025.10.14 |
Unreal Engine 이벤트(Events), 함수(Functions), 매크로(Macros) 소개 (0) | 2025.10.14 |
Unreal Engine 변수를 활용한 게임 로직 예제: 코인 획득하기 (0) | 2025.10.14 |