본문 바로가기
🎮 게임 개발 공부/UE5(Blueprint)

[UE]Blueprint 함수 정리

by 온묵

함수를 사용하는 이유

  • 기능별로 노드를 묶는다
  • 내부 기능을 외부로 노출시키지 않는다.
  • 반복되는 그래프의 재사용
  • 확장, 관리가 용이함
  • 지역변수(Local Variable)
    • 변수 생성
    • 독립적인 영역
    • 그에 따른 라이프 사이클

 

Get(쓰기), Set(읽기) 함수

 

Alt + 드래그: Set 함수

Ctrl + 드래그: Get 함수

 

 

 

 

 

 

 

 

출력

 - 커스텀 이벤트 -> 지정한 이름(위 사진에는 'CustomEvent'라고 지정)의 커스텀 불러와서 출력 가능

 

활용(사칙연산 활용)

  • 다양한 버프/디버프 스킬을 기획하고
  • 사칙연산 노드를 활용해 블루프린트로 구현해보자

 

비교연산

  • Less (<)
  • Less Equal (<=)
  • Greater (>)
  • Greater Equal (>=)
  • Equal (==)
  • Not Equal (!=)

 

분기문( Branch )

  • 우스 왼쪽 클릭 시 총알을 발사, 남은 총알의 수(Ammo)를 표시한다. (Fire! Ammo: 29)
  • Ammo가 0보다 작을 때는 값을 줄이지 않도록 예외 처리를 해보자. ([No Ammo])
  • 키보드 R키를 눌러서 재장전을 해보자. 이미 최대 수량이라면 예외처리한다. (Reload Ammo: 30, [Already Full Ammo])

 

논리연산

  • AND(논리곱)
  • OR(논리합)
  • NOT(논리부정)
  • XOR(배타적 논리합) 

 

흐름제어(Sequence, Flip Flop)

- Sequence

- Flip Flop 

 

 

Max 와 Min 활용

  • 특정키를 누를 때 마다 Hp를 10씩 줄이는 코드를 구현해 보자.
  • Hp가 음수가 되지 않도록 예외 처리
  • Current Hp: 90
  • Current HpL 0

  • 특정키를 누를 때 마다 Hp를 20씩 회복 시키는 코드를 구현해 보자.
  • Hp가 최대 Hp를 넘지 않도록 예외처리

 

 

반복문(While, For, for Loop with Break )

- While Loop

- For Loop

- for Loop with Break

  • 인덱스가 자동으로 처리
  • 루프 중간에 중단하기 위한 노드 따로 필요

추가 활용

 

Gate, NultiGate

  • Gate
    • Enter: 문을 들어간다.
    • Open: 문을 연다.
    • Close: 문을 닫는다.
    • Toggle: 문이 열려 있으면 닫고 닫혀 있으면 연다.
    • Exit: 문을 나오면 다음 흐름 제어를 실행한다.
  • Multi Gate
    • Out 0~ n: 출구가 여러 개가 될 수 있다.
    • Is Random: 순차대로 출구를 나가지 않고 랜덤한 순서로 진행된다.
    • Loop: 반복해서 진행된다.
    • Reset: 게이트를 초기화한다.

 

 

Do Once

 

Do N

 

 

EnuM(열거형)_Idle, Walk, Run, Attack, Dead

  • 데이터가 숫자로서의 의미가 아니라, 다른 의미를 표현할 때
    • 0: Idle
    • 1: Walk
    • 2: Run
    • 3: Attack
    • 4: Dead

 

Enum 사용하기

  • Enum 추가
  • 변수 사용
  • 비교
  • String으로 출력
  • Switch 노드를 통한 분기

728x90

서울특별시