Thumbnail: ue4

UE Editor Tick

by on under ue
1 minute read

Editor Tick

在 Editor 内调用 Tick 事件还是比较好用的一个功能,之前有所设想但一直没付出实践,以为会很麻烦,没想到居然如此简单,只能说想到了就去做,犹豫就会败北。

对需要在 Editor 内调用 Tick 事件的 Actor 类的代码进行一点点修改

.h
    
UPROPERTY(EditInstanceOnly)
bool bIsTick = false;

virtual void TickActor(float DeltaTime, ELevelTick TickType, FActorTickFunction& ThisTickFunction) 
override;
virtual bool ShouldTickIfViewportsOnly() const override;

/////////////////////////////////////////////////////////////
/////////////////////////////////////////////////////////////

.cpp
    
void AFloatTarget::TickActor(float DeltaTime, ELevelTick TickType, FActorTickFunction& ThisTickFunction)
{
	FEditorScriptExecutionGuard ScripGuard;
	Super::TickActor(DeltaTime, TickType, ThisTickFunction);
	
}

bool AFloatTarget::ShouldTickIfViewportsOnly() const
{
	return bIsTick;
}

基本都是模板定式的,ShouldTickIfViewportsOnly() 函数返回的 bool 变量决定是否在 Editor 内 Tick。


ue4