less than 1 minute read

오류1

1
  Fatal error: [File:D:\build\++UE5\Sync\Engine\Source\Runtime\CoreUObject\Private\UObject\UObjectGlobals.cpp] [Line: 4860] Default subobject StaticMeshComponent Arrow already exists for RangedSkeletonArrow /Script/Loglike.Default__RangedSkeletonArrow.


메쉬의 이름이 다른 클래스의 이름과 겹칠 때 이런 오류가 생긴 것 같다.

Arrow = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("Arrow"));

코드를

Arrow = CreateDefaultSubobject<UStaticMeshComponent>(TEXT("EnemyArrow"));

으로 고치고 Intermediate 폴더를 삭제한 후 프로젝트 파일을 재빌드하면 정상적으로 동작한다!



오류2

1
  LogSpawn: Warning: SpawnActor failed because of collision at the spawn location [X=0.000 Y=0.000 Z=0.000] for [RangedSkeletonArrow]


처음에 활 만들어서 적 캐릭터에 부착했을 때도 같은 오류가 났었다.

AActor로 클래스 만들고 코드 다 짜놓고 무리해서 다른 클래스의 자식 클래스로 넣어버려서 뭔가 충돌이 일어난 것 같음

새로 지정된 부모 클래스와 자식 클래스에서 중첩된 게 있어서 위치 데이터가 충돌되었다던가… 사실 자세한 이유는 아직 잘 모르겠다. 나는 클래스랑 함수 흐름을 좀 제대로 이해할 필요가 있음 예진아 제발 기초 공부하자

+)

화살 클래스는 부모 클래스 다시 바꿔보니 제대로 동작함 진짜 … 진짜 모르겠다… 위치 선정 올바르게 넣어줬는데 잘 못 알아먹는 것 같다.

코드 수정과 뒤엎음을 반복하다 보니 뭔가 제대로 꼬인 것 같다. 기사 시험 끝나고 아예 화살 클래스 부분을 처음부터 다시 써야지 …


중간고사 끝나면 C++ 다시 공부하기!!!

Leave a comment