이 포스팅은 아래 강의를 들으며 작성되었습니다.
https://www.udemy.com/course/unrealcourse-korean/
Tip
벡터 값 등 여러 가지를 입력해야 하는 값을 복사할 때 우클릭 하면
값을 하나하나 복사하지 않고 전체를 복사, 붙여 넣기 할 수 있다.
의사코드 (PseudoCode): 일반적인 언어로 알고리즘이 어떻게 진행되는지 설명한 것.
// Move platform forwards
// Get current location
// Add vector to that location
// Set the location
// Send platform back if gone too far
// Check how far we've moved
// Reverse direction of motion if gone too far
강의에서의 예시로
움직이는 발판 알고리즘을 주석으로 작성하였다.
프레임과 델타타임
게임루프
1. 인풋을 가져온다
2. 게임 상태를 업데이트한다
3. 화면에 렌더링 한다.
이렇게 완성된 한 장면을 프레임(Frame)이라고 하고 1초에 얼마나 많은 프레임이 나오는지를 프레임률(Frame Rate, FPS)이라고 한다.
언리얼의 Tick은 매 프레임 호출되며 게임 상태를 업데이트한다.
델타타임 (DeltaTime): 각 프레임이 실행되는데 걸리는 시간
A 컴퓨터는 1초당 10프레임이 나오고 B 컴퓨터는 1초당 100 프레임이 나온다면
A 컴퓨터의 델타타임은 0.1이고 B 컴퓨터의 델타타임은 0.01이다.
만약 1초에 5만큼 이동하고 싶다면
매 프레임(Tick)에서 델타타임에 이동속도를 곱하자.
A 컴퓨터에서는 1초동안 10번 0.1 * 5를 수행하고
B 컴퓨터에서는 1초동안 100번 0.01 * 5를 수행하게 된다.
10 * 0.1 * 5 = 5
100 * 0.01 * 5 = 5
결국 A 컴퓨터나 B 컴퓨터나 똑같은 값을 이동하게 된다는 것을 알 수 있다.
표현식
표현식 (Expression): 값을 생성하는 코드 조각
문장 (Statement): 수행되어야 할 동작
표현식이라는 말이 와닿지 않아서 따로 찾아봤는데 이 블로그 설명이 제일 이해하기 쉬웠다.
https://eun-ng.tistory.com/20
표현식은 "값"이 나오는 것이라고 생각해도 무방할 것 같다.
범위 지정 연산자
Scope Resolution Operator(범위 지정 연산자):(::) 클래스 안을 볼 수 있다.
Dot(.) 연산자와 다른 점은, 이는 인스턴스 안의 멤버에 접근하는 것이고
(::) 범위 지정 연산자는 특정 인스턴스에 속하지 않은 클래스 멤버(= 익히 알고 있는 static)에 접근한다는 것이다.
UPROPERTY(VisibleAnywhere, Category = "Moving Platform")
float Distance = -1.f;
UPROPERTY에는 EditAnywhere 대신 VisibleAnywhere이라는 프로퍼티 지정자도 들어갈 수 있다.
다음에 UPROPERTY에 대해 따로 공부하고 포스팅해보면 좋을 것 같다.
'언리얼 > [Udemy] UE5' 카테고리의 다른 글
[언리얼] Udemy 강의 7일차 메모 (~68강) (0) | 2023.09.29 |
---|---|
[언리얼] Udemy 강의 6일차 메모 (~62강) (0) | 2023.09.28 |
[언리얼] Udemy 강의 4일차 메모 (~47강) (0) | 2023.09.26 |
[언리얼] Udemy 강의 3일차 메모 (~35강) (0) | 2023.09.25 |
[언리얼] Udemy 강의 2일차 메모 (~26강) (0) | 2023.09.24 |