[UE 4]C++コードで青写真のMoveComponentTo機能を実現

988 ワード

例:StaticMeshComponentタイプの弾丸を移動する
void AHGameMode::TransfromCamera()
{
	FLatentActionInfo ActionInfo;
	ActionInfo.CallbackTarget = this;
	UKismetSystemLibrary::MoveComponentTo(SelectedHero->GetSpringArm(), FVector(0.f, 0.f, 2000.f), FRotator(-80.f, 0.f, 0.f), false, false, 1.0f, EMoveComponentAction::Move, ActionInfo);
}

  
 
MoveComponentTo実行プロセスの時間長を設定できるため(たとえば、物体が瞬時に移動しないようにするのではなく、スムーズに移動したり転向したりするプロセスがある場合は、その時間パラメータを設定します)、実行を完了してから関数をコールバックして実行し、次のコールバックの関数名を設定し、プロセスが一時停止していない場合はLinkageを0に設定する必要があります.たとえば
 
FLatentActionInfo.ExecutionFunction = "TestCall";
FLatentActionInfo.Linkage= 0;

実行後にコールバック関数が不要な場合は、ActionInfoを設定する必要がある.CallbackTarget = this;すぐ
 
注意:ここでコールバック関数TestCallはBlueprintCallableタイプと明記します.
 
APIドキュメント:
https://docs.unrealengine.com/latest/INT/API/Runtime/Engine/Kismet/UKismetSystemLibrary/MoveComponentTo/index.html