Unreal Engine 5 TIL day 3

2024. 12. 19. 15:53·Unreal Engine
블루프린트를 이용한 비주얼 스크립팅

1. 블루프린트 기본

1. 블루프린트 변수

다양한 변수 타입

위 사진처럼 새로운 변수를 만들고 다양한 타입을 선택하여 지정할 수 있다.

  • Boolean: True 또는 False의 값
  • Byte: 가장 크기가 작은 정수 (0~255)
  • Integer: 일반적인 정수 (-2,147,483,648 ~ 2,147,483,647)
  • Integer64: 가장 크기가 큰 정수 (-9,223,372,036,854, 775, 808 ~ 9,223,372,036,854,775,807)
  • Float: 소수 값
  • Name: 불변하는 경우 사용하는 문자열, 에셋이나 액터의 이름, 태그 시스템 등에 사
  • String: 일반적인 문자열
  • Text: 다국어 변환이 필요한 경우의 문자열
  • Vector: X, Y, Z세개의 값을 가지는 값, 3D 좌표나 RGB컬러 데이터 표현할 때 주로 사용
  • Rotator: 3D 스페이스 내의 회전을 정의하는 숫자 집합
  • Transform: 이동, 회전, 스케일 세가지를 모두 결합한 데이터 세트
  • Object: 라이트, 액터, 스태틱메시, 카메라, 사운드 큐 등의 오브젝트

위의 변수들은 모두 set과 get을 할 수 있다. set을 하는 경우 값을 바꾸는 것이며, get의 경우는 값을 가져와서 사용하는 것이다.

2. 블루프린트 연산

  • 사칙 연산: +, -, *, /, % 등
  • 비교 연산: ==, !=, <, >, <=, >=
  • 논리 연산:
    • AND: 두 조건이 모두 true 일 때 true
    • OR: 두 조건 중 하나만 true여도 true
    • NOT: 조건의 결과를 반대로
    • XOR: 두 조건 중 하나만 true일 때 true
      • 1 XOR 0 -> 1 (true)
      • 0 XOR 1 -> 1 (true)
      • 1 XOR 1 -> 0 (false)
      • 0 XOR 0 -> 0 (false)

3. 블루프린트 흐름 제어 1

  • Branch: 조건에 따라 실행
  • Sequence: 순차적으로 실행
  • Flip Flop: A와 B를 번갈아서 실행

4. 블루프린트 흐름 제어 2

  • While Loop
    • Loop Body: 조건을 만족하는 동안 실행되는 부분
    • Completed: 조건을 만족하지 않을 때 빠져나오는 부분
  • For Loop

5. 블루프린트 열거형 (Enum)

enum은 관련있는 상수들을 한번에 묶어두는 방식을 말한다.

아래 사진처럼 만들 수 있다.

 

사용할 때에는 get 이나 set을 통해 가져올 수 있고, get 한 경우에는 switch on 이라는 노드를 통해 응용할 수 있다.

2. 실습

1. 텍스트 슈팅 게임

  • 구현 내용
    1. 좌클릭 시 총알 발사 (0보다 적어지면 발사 불가능)
    2. R을 누르면 장전 (이미 장전이 된 상태라면 추가적인 재장전 불가능)
    3. 숫자 1을 누르면 HP 를 30 회복 (현재 HP에 30을 더해서 100을 넘어가는 경우 100이 되도록 구현)
    4. 일정 시간이 지나면, 데미지(10)를 줌 (HP가 0보다 작아지면, 데미지를 입지 않음)
      • delta time을 가져와서 더할 time 이라는 변수를 만들고, 해당 변수의 맨 뒷 자릿수가 5인 경우에 damage가 입도록 구현
      • 이때 너무 빨리 데미지 입는 것을 방지하기 위해 count 라는 새로운 변수를 도입하여, count가 최소 200 이 된 이후에 동작하도록 구현

1 구현 내용
2 구현 내용
3 구현 내용
4 구현 내용

 

 

2. 구구단 출력

for loop를 이용해서 구현

 

while loop를 이용해서 구현

3.  가위바위보

  • 구현 내용
    1. AI의 랜덤 값 추출
    2. 가위바위보 비교
    3. Player Input 및 로직

1번 구현 내용 (랜덤한 값 추출) - AI Input 함수
2번 구현 내용 (switch on을 통한 가위바위보 비교) - Compare 함수

 

3번 구현 내용 (Tick 함수) - level BP event graph

 

3번 구현 내용 (player의 키보드인풋 및 로직) - level BP event graph

 

3. 참고 자료

https://dev.epicgames.com/documentation/ko-kr/unreal-engine/blueprint-variables-in-unreal-engine

'Unreal Engine' 카테고리의 다른 글

Unreal Engine 간단한 로그 찍기  (2) 2025.01.06
Unreal Engine 5 TIL day 5  (3) 2024.12.20
Unreal Engine 5 TIL day 4  (1) 2024.12.19
Unreal Engine 5 TIL day2  (1) 2024.12.17
Unreal Engine 5 TIL day1  (0) 2024.12.16
'Unreal Engine' 카테고리의 다른 글
  • Unreal Engine 5 TIL day 5
  • Unreal Engine 5 TIL day 4
  • Unreal Engine 5 TIL day2
  • Unreal Engine 5 TIL day1
gbleem
gbleem
gbleem 님의 블로그 입니다.
  • gbleem
    gbleem 님의 블로그
    gbleem
  • 전체
    오늘
    어제
    • 분류 전체보기 (184)
      • Unreal Engine (73)
      • C++ (19)
      • 알고리즘(코딩테스트) (27)
      • TIL (60)
      • CS (4)
      • 툴 (1)
  • 블로그 메뉴

    • 홈
    • 카테고리
  • 링크

    • 과제용 깃허브
    • 깃허브
    • velog
  • 공지사항

  • 인기 글

  • 태그

    blend pose
    매크로 지정자
    enhanced input system
    motion matching
    DP
    BFS
    Vector
    gamestate
    actor 클래스
    applydamage
    const
    character animation
    addonscreendebugmessage
    map을 vector로 복사
    additive animation
    C++
    싱글턴
    상속
    cin함수
    템플릿
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
gbleem
Unreal Engine 5 TIL day 3
상단으로

티스토리툴바