루리코딩 세상

애니메이션 블루 프린트 본문

이론/Unreal Engine

애니메이션 블루 프린트

루리딩 2025. 5. 12. 09:05

- Idle

언리얼 엔진에서 "Idle" 일반적으로 캐릭터나 오브젝트가 아무 동작도 하지 않는 상태를 의미합니다. 즉, 캐릭터가 움직이지 않고 기다리거나, 애니메이션이나 상호작용이 없을 때의 상태를 "Idle 상태"라고 합니다.

게임이나 애니메이션에서 캐릭터의 "Idle 애니메이션" 보통 캐릭터가 특정 위치에서 움직이지 않거나 대기하는 동안 발생하는 애니메이션을 가리킵니다. 예를 들어, 캐릭터가 서서 대기하는 동안 손을 흔들거나, 호흡하는  자연스럽게 생긴 작은 움직임을 표현하는  사용됩니다.

언리얼 엔진에서 Idle 상태는 상태 머신(State Machine)이나 애니메이션 블루프린트(Anim Blueprint)에서 설정되며, 캐릭터가 특정 조건(예: 이동, 공격 등) 따라 다른 애니메이션으로 전환될  있습니다.

 

- BlendSpace

 


- Try Get Pawn Owner

추가된 BlendSpace 드래그해서 이벤트 그래프로 갖고오기.


- Up/Down Casting

언리얼 엔진에서 UpcastingDowncasting클래스 계층에서 객체의 타입을 변환하는 방법을 말합니다. 객체 지향 프로그래밍에서 클래스 간의 관계를 이용하여 특정 클래스를 다른 클래스 타입으로 변환하는 기법입니다. 언리얼 엔진에서 이러한 변환은 주로 **C++**에서 사용되며, 포인터레퍼런스타입을 다룰 필요합니다.

1. Upcasting

Upcasting자식 클래스의 객체를 부모 클래스 타입으로 변환하는 것을 의미합니다. 자식 클래스는 부모 클래스를 상속받았기 때문에, 자식 클래스의 객체는 부모 클래스 타입으로 자동 변환될 있습니다.

  • Upcasting암시적으로 이루어지며, 상위 클래스에서 하위 클래스의 메서드나 변수를 호출할 없다제약이 있습니다.
  • 하지만 상위 클래스 타입으로 변환되었으므로, 상위 클래스에서 정의된 멤버만 접근할 있습니다.

class ACharacter : public APawn {
    // ACharacter의 코드
};

class APlayerCharacter : public ACharacter {
    // APlayerCharacter의 코드
};

// Upcasting
APlayerCharacter* PlayerCharacter = new APlayerCharacter();
ACharacter* Character = PlayerCharacter;  // APlayerCharacter -> ACharacter


2. Downcasting

Downcasting부모 클래스의 객체를 자식 클래스 타입으로 변환하는 것을 의미합니다. Downcasting명시적으로 이루어지며, 잘못된 타입으로 변환할 경우 런타임 에러발생시킬 있기 때문에 주의가 필요합니다.

  • Downcasting때는 타입이 맞는지 확인하기 위해 Cast<T>() 함수를 사용합니다. 함수는 성공적인 변환이면 변환된 객체의 포인터를 반환하고, 실패하면 nullptr반환합니다.

예시:

 

ACharacter* Character = new APlayerCharacter();  // ACharacter 포인터가 APlayerCharacter를 참조
APlayerCharacter* PlayerCharacter = Cast<APlayerCharacter>(Character);  // Downcasting

if (PlayerCharacter) {
    // 성공적으로 APlayerCharacter로 변환되었을 경우
} else {
    // 변환 실패
}

UpcastingDowncasting차이점

  • Upcasting: 자식 클래스에서 부모 클래스로의 변환. 일반적으로 암시적으로 이루어지며, 안전하게 사용할 있습니다.
  • Downcasting: 부모 클래스에서 자식 클래스로의 변환. 명시적으로 이루어지며, 변환이 실패할 있기 때문에 반드시 타입 체크해야 합니다.

결론

  • Upcasting안전하며 자식 클래스의 객체를 부모 클래스 타입으로 처리할 사용됩니다.
  • Downcasting위험할 있으며, 변환이 필요한 경우 타입을 확인하고 변환을 시도해야 합니다.

언리얼 엔진에서 Cast<T>() 함수는 Downcasting에서 타입 안전성을 제공하기 위해 매우 유용합니다.


- Character
- Get Velocity -> Vector Length XY

 


- Run

'이론 > Unreal Engine' 카테고리의 다른 글

언리얼 엔진5 : UObject Component  (0) 2025.05.12
스테이트 머신 (FSM : Finite State Machine)  (0) 2025.05.12
InputComponent : 입력 설정  (0) 2025.05.12
Add Movement Input  (0) 2025.05.12
Unreal Engine 구조 파악하기  (0) 2025.05.09