通过代码创建的Character无法移动

一、背景及解决办法

将Character拖入场景中,可以通过AddMovementInput进行移动,但是当通过代码动态Spawn一个Character,通过AddMovementInput进行移动,Character没反应。

			FString BpPath = "Blueprint'/Game/MedievalGirl/Character/CharacterWithoutCamera.CharacterWithoutCamera_C'";
			UClass* Clazz = LoadClass<AActor>(nullptr, *BpPath);
			if (Clazz)
			{
				AActor* Actor = GWorld->GetCurrentLevel()->GetWorld()->SpawnActor(Clazz);
			}

解决办法,Character的CharacterMovement组件的RunPhysicsWithNoController属性设置为true
在这里插入图片描述

二、CharacterMovementComponent执行流程

1、执行TickComponent,然后跳转到ControlledCharacterMove
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/tangfuling1991/article/details/129668759