언리얼 엔진에서 블루프린트(Blueprint)는 비주얼 스크립팅 시스템으로, 프로그래밍 지식 없이도 게임 로직을 설계할 수 있게 해줍니다. 블루프린트에서 사용되는 노드(Node)는 게임의 다양한 동작과 기능을 정의하는 기본 요소입니다. 여기서는 주요 블루프린트 노드와 그 기능을 상세히 설명하겠습니다.
주요 블루프린트 노드
- 이벤트 노드 (Event Nodes)
- 기능: 특정 이벤트가 발생했을 때 실행됩니다.
- 주요 종류:
Event Begin Play
: 게임 시작 시 실행됩니다.Event Tick
: 매 프레임마다 실행됩니다.Event OnOverlap
: 두 콜라이더가 겹칠 때 실행됩니다.
- 함수 노드 (Function Nodes)
- 기능: 특정 작업이나 연산을 수행합니다.
- 주요 종류:
Print String
: 화면에 문자열을 출력합니다.Get Actor Location
: 특정 액터의 위치를 반환합니다.Set Actor Location
: 특정 액터의 위치를 설정합니다.
- 흐름 제어 노드 (Flow Control Nodes)
- 기능: 블루프린트의 실행 흐름을 제어합니다.
- 주요 종류:
Branch
: 조건에 따라 실행 경로를 분기합니다. (if-else 문과 유사)ForLoop
: 지정된 횟수만큼 반복 실행합니다.Sequence
: 순차적으로 실행 경로를 나누어 실행합니다.
- 변수 노드 (Variable Nodes)
- 기능: 값을 저장하고 사용할 수 있습니다.
- 주요 종류:
Get Variable
: 변수를 읽어옵니다.Set Variable
: 변수에 값을 저장합니다.
- 연산 노드 (Math Nodes)
- 기능: 수학적 연산을 수행합니다.
- 주요 종류:
Add
: 두 숫자를 더합니다.Subtract
: 두 숫자를 뺍니다.Multiply
: 두 숫자를 곱합니다.
- 타임라인 노드 (Timeline Node)
- 기능: 시간에 따른 애니메이션을 생성합니다.
- 주요 사용법:
- 키프레임을 설정하여 시간에 따른 값의 변화를 정의합니다.
- 출력 핀을 통해 시간에 따른 값을 다른 노드와 연결하여 애니메이션 효과를 만듭니다.
- 캐스트 노드 (Cast Nodes)
- 기능: 특정 객체를 다른 객체 타입으로 변환합니다.
- 주요 종류:
Cast To Character
: 특정 객체를 캐릭터로 변환합니다.Cast To MyCustomActor
: 특정 객체를 사용자 정의 액터로 변환합니다.
- 콜 함수 노드 (Call Function Nodes)
- 기능: 특정 함수를 호출합니다.
- 주요 종류:
Call Function
: 사용자 정의 함수나 엔진 내장 함수를 호출합니다.
- 라티럴 노드 (Literal Nodes)
- 기능: 고정된 값을 제공합니다.
- 주요 종류:
Make Literal Float
: 고정된 부동 소수점 값을 제공합니다.Make Literal Int
: 고정된 정수 값을 제공합니다.Make Literal String
: 고정된 문자열 값을 제공합니다.
예제: 간단한 블루프린트
플레이어가 특정 트리거 박스를 통과할 때 점수를 증가시키는 간단한 블루프린트를 만들어 보겠습니다.
- 트리거 박스 설정: 트리거 박스를 레벨에 배치하고, 해당 트리거 박스의
OnComponentBeginOverlap
이벤트를 블루프린트에서 사용합니다. - 이벤트 노드 추가:
OnComponentBeginOverlap
이벤트 노드를 추가합니다. - 캐스트 노드 추가:
Other Actor
핀을Cast To MyCharacter
노드에 연결하여, 트리거에 들어온 객체가 플레이어 캐릭터인지 확인합니다. - 변수 노드 추가: 플레이어 점수를 저장할 변수를 생성합니다 (
Player Score
). - 점수 증가 노드 추가:
Get Player Score
노드와Add
노드를 연결하여 현재 점수에 1을 더합니다. - 변수 설정 노드 추가:
Set Player Score
노드를 추가하고, 증가된 점수를 설정합니다. - 노드 연결:
Cast To MyCharacter
노드의 성공 핀을Set Player Score
노드의 실행 핀에 연결합니다.
이렇게 하면 플레이어가 트리거 박스를 통과할 때마다 점수가 1씩 증가하는 블루프린트를 완성할 수 있습니다. 이 예제는 블루프린트의 기본적인 노드 사용법을 이해하는 데 도움이 됩니다.