1,Actor->SetActorLocation
Actor->SetActorLocation()
2,AActor::AddActorWorldOffset(), AActor::AddActorLocalOffset()
AddActorWorldOffset与AddActorLocalOffset区别:如果期望Actor沿着某个世界坐标系方向移动,那么使用AddActorWorldOffset并且参数为世界坐标系的DeltaLocation;如果期望Actor沿着当前Actor局部坐标系方向移动,那么使用AddActorLocalOffset并且参数为相对当前Actor的DeltaLocation Offset(比如想做螺旋轨迹但又不想计算其世界空间坐标,那么就用LocalOffset)。
如果使用AddActorWorldOffset或者AddActorLocalOffset移动Character,那么MovementMode必须设置为fly,否则当DeltaLocation较小时,角色会始终往下掉(即使禁用物理模拟),UCharacterMovementComponent::SetMovementMode(EMovementMode::MOVE_Flying);。或者Unpossess Controller。
3,Velocity
ACharacter->GetCharacterMovement()->Velocity += FVector(5.f, 5.f, 0.f);
4,将一个Controller(PlayerController或者AIController)possess到一个Actor上,然后调用:
Controller->MoveTo();
5,将