언리얼

언리얼 블루프린트) 애니메이션

eclipse2 2026. 2. 27. 21:00

오늘은 애니메이션에 대해 배웠다.

애니메이션을 다루기 전에 상태 기계 설계라는 상태의 정이 와 전이 조건을 통해 시스템을 이해하는 걸 배워서 애니메이션이 작동하는 이론에 대해 알았다.

상태 기계 설계

  1. 캐릭터 전직
  • 상태 정의 : 초보자(기본상태), 전직 대기(특정 레벨 달성), 1차 직업(전사, 마법사, 궁수 등 선택 완료), 각성( 상위 단계로 진화)
  • 조건 Level < 10 == 초보자, Level> = 10 ==전직대기, 선택완료 == 전직
  1. 상대 정의: 정지, 상승, 하강, 문열림, 점검중
  • 정지 - 상위층/ 하위 층 호출 - 상승/ 하강 - 도착 시 - 문열림 - 문 닫힘 후 - 정지 - 비상 정지 버튼 시 - 점검중
  1. 자판기 시스템
  • 상태 정의 - 대기 (동전이 투입되지 않은 초기 상태), 금액 누적 (동전이 투입되어 잔액이 표기되는 상태), 선택 가능(잔액이 최소 음료 가격보다 높은 상태), 상품 배출(버튼이 눌려 음료가 나오는 상태), 잔돈 반환(남은 금액을 돌려주는 상태),
  • 전이 조건 - 대기 → 금액 누적: 동전/지폐 투입 시, 금액 누적 → 선택 가능: 누적 금액 ≥ 최저 상품 가격, 선택 가능 → 상품 배출: 상품 버튼 클릭( 단, 재고 > 0 일 때만), 상품 배출 → 금액 누적: 배출 완료 후 잔액이 남아있을 때, 금액 누적 → 잔돈 반환: 반환 레버를 당길 때

애니메이션 블루프린트

  1. ABP(애니메이션 블루프린트) 추가

2. 블랜더 스페이스에서 idle 과 run에 상태 정의

3. 캐릭터 속도

블루프린트를 활용하여 캐릭터 속도를 출력


다음으로 다양한 액터의 이동에 대해 배웠습니다. (회전, 이동, 미끄러지는 등등)

어제 혼자서 만들어 본 것 외에도 블루프린트를 이용해 다양한 액터의 이동을 배울 수 있어 좋았습니다.

마지막으로 위 내용들을 합쳐서 나만의 프로젝트를 완성했습니다. 하지만 원래 구상했던 레벨 디자인에 맞게 만든 것이라 오늘 추가 적으로 배운 것들은 추가 시키지 못했습니다.

https://youtu.be/MbY18Ex9hG8

주말 동안 다양한 액터의 이동을 이용하여 기존 레벨 디자인을 수정하여 함정들을 추가할 예정입니다.


C/C++

함수 A에서 함수 B를 호출하면 함수 A 코드 뭉치에 함수 B 코드 뭉치를 쌓아 올렸다가, 종료되면 함수 B 코드 뭉치를 없애야함. 이를 처리하는 것이 '스택'.

 

전역 변수 Vs 지역 변수

- 전역 변수는 함수 밖에서 선언하며 어디에서든지 접근 가능한 변수이다.

- 지역 변수는 함수 내에서 선언하며 블록 내에서만 접근 가능한 변수이다.

정적 변수(static)

- static 변수의 값은 함수가 종료되더라도 프로그램이 종료되지 않는 이상 메모리상에 남아있다.

 

포인터 

-주소 값을 저장하는 목적으로 선언되는 변수

#include <iostream>
using namespace std;


int main()
{
	int x = 10;
	int* p = &x;
	cout << "Value of x: " << x << endl;
    //10
	cout << "Address of x: " << &x << endl;
    //주소
	cout << "Value of p: " << p << endl;
    //주소
	cout << "Value pointed to by p: " << *p << endl;
    /10

	return 0;
}