用过UE4的人都知道,UE编辑器特别容易崩溃,因此记录一下导致编辑器崩溃的情况:
1. 定义了某个变量,没去初始化它直接使用会导致崩溃;
比如:
//当前游戏模式
class ACarGameModeBase* CarGameModeBase;
如果不去初始化CarGameModeBase,直接使用它就会导致编辑器崩溃,应该在构造函数里加上:
CarGameModeBase = Cast<ACarGameModeBase>(UGameplayStatics::GetGameMode(this));
2.C++中加载蓝图类时,不对应会导致崩溃
比如:
InGameMenuWidget = CreateWidget<UInGameMenuWidget>(GetWorld(), LoadClass<UInGameMenuWidget>(GetWorld(), TEXT("WidgetBlueprint'/Game/UI/WBP_InGameMenu.WBP_InGameMenu_C'")));
InGameMenuWidget->AddToViewport();
WBP_InGameMenu_C 蓝图的父类如果不是 InGameMenuWidget 就会导致崩溃。
3. 找不到资源会导致崩溃
比如:
static ConstructorHelpers::FObjectFinder<USoundCue> ES(TEXT("/Game/Sound/CanEngine_F_midhigh-register_mono_Cue"));
EngineSound = ES.Object;
如果资源路径写出错了,播放声音的时候就会崩溃。
网友评论