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

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

3. 캐릭터 속도

블루프린트를 활용하여 캐릭터 속도를 출력
다음으로 다양한 액터의 이동에 대해 배웠습니다. (회전, 이동, 미끄러지는 등등)
어제 혼자서 만들어 본 것 외에도 블루프린트를 이용해 다양한 액터의 이동을 배울 수 있어 좋았습니다.
마지막으로 위 내용들을 합쳐서 나만의 프로젝트를 완성했습니다. 하지만 원래 구상했던 레벨 디자인에 맞게 만든 것이라 오늘 추가 적으로 배운 것들은 추가 시키지 못했습니다.
주말 동안 다양한 액터의 이동을 이용하여 기존 레벨 디자인을 수정하여 함정들을 추가할 예정입니다.
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;
}'언리얼' 카테고리의 다른 글
| C++) 객체지향 (0) | 2026.03.04 |
|---|---|
| 언리얼) Empty open world 제작 (0) | 2026.03.03 |
| 언리얼 블루프린트) 캐릭터 생성, 이동 로직, 레벨 디자인 (0) | 2026.02.26 |
| 언리얼 블루프린트) 연산 (0) | 2026.02.25 |
| 언리얼과 친해지기: 용어 (0) | 2026.02.24 |