글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자를 적어주세요. 글의 요약 설명 부분. 150자입니다

 

목차

     

     


     

     

    [Unreal] CreateDefault(Subobject) 사용 시 터지는 문제해결

     

     


     

     

    문제 상황

     

    CreateDefault(Subobject) 사용할 때는 생성자 위치에서 생성해야 한다.

    Begin Play에 생성할 경우 동적할당으로 생성하게 되어 터지게 된다.

     

     


     

    코드 변경

     

    변경 전

    void ACAttachment_Bow::BeginPlay()
    {
    	...
    
    	//Player cast하기
    	PlayerCharacterCast = Cast<ACPlayer>(OwnerCharacter);
    
    	CheckNull(PlayerCharacterCast);
    	CHelpers::CreateComponent<USplineComponent>(this, &ArrowPathSpline, "ArrowPathSpline", Root);
    	ArcEndSphere = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponent"));
    	ArrowPathSplineMesh = CreateDefaultSubobject<USplineMeshComponent>(TEXT("ArrowPathSplineMesh"));
    }

     

    변경 후

    ACAttachment_Bow::ACAttachment_Bow()
    {
    	...
        
    	//Player cast하기
    	PlayerCharacterCast = Cast<ACPlayer>(OwnerCharacter);
    
    	CheckNull(PlayerCharacterCast);
    	CHelpers::CreateComponent<USplineComponent>(this, &ArrowPathSpline, "ArrowPathSpline", Root);
    	ArcEndSphere = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("StaticMeshComponent"));
    	ArrowPathSplineMesh = CreateDefaultSubobject<USplineMeshComponent>(TEXT("ArrowPathSplineMesh"));
    }

     

    링크

     

    https://daisy0461.tistory.com/72

     

    Unreal Class Default Object

    Unreal에서 A라는 Class를 만들게 되면 A라는 Class를 기반으로 A Class Default Object(CDO)를 생성한다. 이 Class Default Object는 Unreal Engine Reflection System을 가지고 있는 원본 Object이다. Unreal Engine이 시작할 때

    daisy0461.tistory.com

     


    H

     

     

     

     

     

     


     

    실행화면