건전한 건전지
article thumbnail
728x90
반응형

C++로 컴포넌트를 추가하고 VisibleAnywhere 매크로를 사용해도 아무것도 보이지 않을때가 종종 생긴다...

 

그럴때에는 해당 컴포넌트의 변수의 이름을 바꿔준 후 다시 컴파일하면 된다!

 

// Pawn.h 수정 전
{
    .
    .
	UPROPERTY(VisibleAnywhere)
	USpringArmComponent* SpringArm;
    .
    .
 }
 // Pawn.h 수정 후
 {
    .
    .
	UPROPERTY(VisibleAnywhere)
	USpringArmComponent* MySpringArm;
    .
    .
 }

 

// Pawn.cpp 수정 전
{
	.
	.
	SpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("SpringArm"));
	SpringArm->SetupAttachment(RootComponent);
	SpringArm->TargetArmLength = 300.f;
        .
        .
}

// Pawn.cpp 수정 후
{
	.
	.
    	MySpringArm = CreateDefaultSubobject<USpringArmComponent>(TEXT("MySpringArm"));
	MySpringArm->SetupAttachment(RootComponent);
	MySpringArm->TargetArmLength = 300.f;
    	.
	.
}

 

이렇게

 

 

+ 이 방법으로도 해결이 안된다면?

 

문제가 발생하는 블루 프린트의 부모 클래스를 다른 클래스로 변경해준 후에 다시 원래 클래스를 부모로 지정해주면 해결된다.

CustomClass -> Actor -> CustomClass

 

 

하지만 이렇게 진행할 경우 해당 블루프린트의 설정과 스켈레탈 메시, 넣어준 애니메이션 몽타주 등등 모두 부모 클래스의 초기 설정으로 돌아가버린다.

 

 

그러므로 기존 블루프린트를 복사 후 사용하여 참고해 설정 값을 다시 복구시키는 것을 추천한다.

Actor 설정 후 다시 PlayerCharacter로 변경하여 모든 설정이 초기화 된 모습

728x90
반응형
profile

건전한 건전지

@건전한 건전지

나는 언리얼의 왕이 될 남자다 👑