부비새
부비새의 개발 일기
부비새
전체 방문자
오늘
어제
  • Category (64)
    • Project (1)
      • NightAtTheGallery (1)
      • GGWP - DEADLINE (0)
    • ToyProject (41)
      • RedCaped (33)
      • EcoA76 (2)
      • SkyTemple (6)
    • GAS (2)
      • 개인저장용 (2)
    • PCG (4)
    • UE5 (12)
      • 공부 (9)
      • C++ (1)
      • 놀이터 (2)
    • Houdini (3)
      • 공부 (3)
    • OpenGL (1)

인기 글

최근 댓글

최근 글

hELLO · Designed By 정상우.
부비새
UE5/공부

[언리얼엔진 5] Cast to 캐스팅(형변환)

[언리얼엔진 5] Cast to 캐스팅(형변환)
UE5/공부

[언리얼엔진 5] Cast to 캐스팅(형변환)

2022. 12. 28. 14:42


 
간단한 예를 들어보자.


친한 친구 철수에게 할말이 있어 전화를 건다. 그러고 누가 전화를 받았는데 제일 먼저 무엇을 할 것인가?
용건부터 말하지 않고 "여보세요?" "철수야" 와 같이 말할 것이다. 철수가 맞으면 이제야 할 말을 한다.
이것이 캐스팅이다.


기타 작업을 하기전 그 대상이 맞는지 확인을 한다. 캐스팅에 성공한다면 커뮤니케이션할 준비가 된 것이다. sender(송신자)는 자신의 데이터를 보낼 수 있고 수신자(receiver)는 데이터를 받거나 직접기능을 호출할 수도 있다.

My Actor레퍼런스가 캐스팅 대상 Pawn이면 캐스팅에 성공한다

성공하면 Pawn 클래스와 커뮤니케이션할 준비가 된것이다. As Pawn을 통해 Pawn에 접근할 수 있게 된 것이다. 즉 Pawn클래스의 변수나 함수에 접근할 수 있다.


예시

다음은 PaperZDAnimNotify에서 캐스팅하는 예시이다. 전에 간단하게 Get Owning Actor를 집고가자


입력으로 AnimInstance 레퍼런스를 받는다.
출력으로 AnimInstance의 소유 액터를 반환한다.


위 노티파이는 BP_Skeleton의 AnimInstance에 속한다. 즉 Get Owning Actor노드를 통해 BP_Skeleton과 캐스팅할 수 있던 것이다. 이후 이 PaperZDAnimNotify에서 BP_Skeleton에 접근할 수 있다.

As BP Skeleton을 변수로 승격하여 사용하는 모습

여기서는 BP_Skeleton의 Attack Damage를 알고 싶었기에 캐스팅하여 사용한 것이다.


캐스팅의 또 다른 예

다음은 WB_PlayerFloatingDamage라는 위젯블루프린트의 함수에 접근하고 싶어 캐스팅을 하는 예시이다. Get User Widget Object 로 해당 위젯을 캐스팅하여 가져온다.


간단하게 캐스팅은 커뮤니케이션하고 싶은 대상이 맞는지 확인을 한 후 맞다면 그 대상에 접근 할 수 있게 된다고 이해하였다. 상속(Inheritance)는 캐스팅과 밀접한 관계를 지니는데 캐스팅에 기능을 쉽게 설명하기 위해 나중에 상속을 작성할 때 추가해서 언급하겠다. 
 

'UE5 > 공부' 카테고리의 다른 글

[언리얼엔진 5] IK Retargeter with Root Motion  (1) 2023.08.03
[언리얼엔진5] 텍스처 스트리밍 빌드 크래쉬 해결 (GUID Fixer)  (0) 2023.02.27
[언리얼엔진 5] Find Nearest Actor  (0) 2023.01.02
[언리얼엔진 5] PaperZD Spite 액션 (+Paper2D)  (0) 2022.12.28
[언리얼엔진 5] PaperZD Jump to Node  (0) 2022.12.28
    부비새
    부비새
    언리얼엔진과의 싸운 흔적입니다

    티스토리툴바

    단축키

    내 블로그

    내 블로그 - 관리자 홈 전환
    Q
    Q
    새 글 쓰기
    W
    W

    블로그 게시글

    글 수정 (권한 있는 경우)
    E
    E
    댓글 영역으로 이동
    C
    C

    모든 영역

    이 페이지의 URL 복사
    S
    S
    맨 위로 이동
    T
    T
    티스토리 홈 이동
    H
    H
    단축키 안내
    Shift + /
    ⇧ + /

    * 단축키는 한글/영문 대소문자로 이용 가능하며, 티스토리 기본 도메인에서만 동작합니다.