이 포스팅은 아래 강의를 들으며 작성되었습니다.
https://www.udemy.com/course/unrealcourse-korean/
const 함수
C++의 const 함수는 블루프린트의 순수 함수를 대체 가능하다.
함수를 const화 하면 클래스의 그 무엇도 수정하지 못하게 된다.
bool ShouldPlatformReturn() const;
float GetDistanceMoved() const;
함수 뒤에 const를 붙이면 const 함수로 만들 수 있다.
bool AMovingPlatform::ShouldPlatformReturn() const
{
return GetDistanceMoved() > MoveDistance;
}
float AMovingPlatform::GetDistanceMoved() const
{
return FVector::Dist(StartLocation, GetActorLocation());
}
선언부, 정의부 모두 뒤에 const 키워드를 붙여줘야 한다.
const 함수 안에서 멤버 변수를 수정하려 한다면 에러가 발생한다.
멤버 변수를 직접 수정하는 것뿐만 아니라 함수를 호출할 때도 에러가 발생하는데
이는 SetActorLocation이라는 함수가 const가 아니기 때문이다.
(당연하지만 이 함수는 내부에서 Location을 수정하고 있기 때문에 const화 시킬 수 없다.)
다르게 말하자면,
const 키워드가 붙은 함수는 호출 가능하다.
액터 회전 (Rotation)
void AMovingPlatform::RotatePlatform(float DeltaTime)
{
AddActorLocalRotation(DeltaTime * RotationVelocity);
}
액터의 회전, FRotator의 작동 방식은 FVector와 다르기 때문에 단순하게 속도와 델타타임을 현재 Rotation에 더해주는 것으로는 회전시킬 수 없다.
그래서 간편하게 회전값을 더할 수 있도록 언리얼에서는 AddActorLocalRotation이라는 함수를 제공하고 있다.
계단 오르기
계단을 설치했는데 너무 가파라서 올라갈 수 없었다.
캐릭터 무브먼트 컴포넌트에서 걸을 수 있는 바닥 각도를 조정하면 된다.
'언리얼 > [Udemy] UE5' 카테고리의 다른 글
[언리얼] Udemy 강의 9일차 메모 (~79강) (2) | 2023.10.11 |
---|---|
[언리얼] Udemy 강의 8일차 메모 (~73강) (1) | 2023.09.30 |
[언리얼] Udemy 강의 6일차 메모 (~62강) (0) | 2023.09.28 |
[언리얼] Udemy 강의 5일차 메모 (~55강) (0) | 2023.09.27 |
[언리얼] Udemy 강의 4일차 메모 (~47강) (0) | 2023.09.26 |