创建一个新的 C++ Actor 子类并将其命名为SetActorLocationAndRotation。在头文件中创建分别一个FVector和FQuat变量,通过设置UPROPERTY为EditAnywhere使它们可以在任何地方被编辑。同时将这些变量放在Location类别中,使它们在一起,并与其他属性分开。 下面是最终的头文件 SetActorLocationAndRotation.h #pragma once #includ...
要移动物体,一般是调用UE4内建的寻路API:UNavigationSystem::SimpleMoveToLocation()。 但是如果项目的逻辑比较特殊,想绕开UE4自带的寻路系统的话,一般可以调用:YourActor->GetOwner()->SetActorLocation()。 但是,SetActorLocation()有个问题,如果A点和B点之间有堵墙,使用SetActorLocation(FVector location)的默认参...
1,Actor->SetActorLocation Actor->SetActorLocation() 2,AActor::AddActorWorldOffset(), AActor::AddActorLocalOffset() AddActorWorldOffset与AddActorLocalOffset区别:如果期望Actor沿着某个世界坐标系方向移动,那么使用AddActorWorldOffset并且参数为世界坐标系的DeltaLocation;如果期望Actor沿着当前Actor局部坐标系方向...
如果A点和B点之间有堵墙,使用SetActorLocation(FVectorlocation)的默认参数会穿墙而过。
1.SET(变量)【Bool(布尔)类型变量,在左侧】 2.Branch(分支)【和布尔结合使用,做判断用的,若条件(就是那个布尔)为True,则执行True相关连线的命令,若为False,则执行False相关连线的命令】 3.Print String(打印字符串)【做测试用的】 4.Get All Actors Of Class(获取类的所有actor)、【把其他蓝图中的东西调过...
接上文提到SetActorLocation就是模拟移动,所以查看代码可以知道SetActorLocation里面肯定有我们需要的函数 MoveComponent 所以我们这个组件里面也应该有如下函数MoveUpdatedComponentImpl 是不是把SetActorLocation换了个名字而已 而且该函数的第一个参数很重要Delta,所以该类剩下的任务就简单了,就是通过体育老师教的各种力配...
Actor 的方法 SetActorTickEnabled 开启tick AddLocalRotation 局部旋转增加 AddRelativeLocation 增加局部的位置 AddActorWorldRotation 增加世界旋转 AddRelativeRotation 增加相对旋转 SetActorLocation 设置Actor的位置,应该是全局位置 GetActorLocation 获取Actor的位置 ...
// 20是沿着Z轴的伸缩变化值 NewLoacation.Z += DeltaHeight /** 20.f*/; SetActorLocation(NewLoacation); } void ABall::Print_T(FString InStr) { if (GEngine) { GEngine->AddOnScreenDebugMessage(-1, 2.f, FColor::Red, InStr); } }...
// UE_LOG(LogTemp, Warning, TEXT("Animation TargetLocationNS %s"), *YourCharacter->TargetLocationNS.ToString()); if (aotoCalculateTargetRotation) { if (rotateType == ERotateType::faceToTarget) { // FVector Direction = YourCharacter->enermy->GetActorLocation() - YourCharacter->GetActorLocat...