A车轮在c++中移动

AWheeledVehicle movement in c++

本文关键字:移动 c++      更新时间:2023-10-16

使用虚幻引擎4,我正试图向前移动我的车辆(AWheeledVehicle)。我正确地参考了正确的车辆,但它仍然不会移动。不确定我做错了什么。

下面是我的车辆和控制器类

AAI轮式车辆

AAIWheeledVehicle::AAIWheeledVehicle(){
    AIControllerClass = AMyAIVehicleController::StaticClass();
}

AMyAIVehicleController

void AMyAIVehicleController::Possess(APawn *pawn){
    Super::Possess(pawn);
    //FVector location2 = pawn->GetActorLocation(); // -11310, 8910, 0
    // initialize location of target point
    location.X = -9620.0f;
    location.Y = 8910.0f;
    location.Z = 0.0f;
    scaleValue = 1.0f;
    target = GetWorld()->SpawnActor<ATargetPoint>(location, FRotator::ZeroRotator);
    target->SetActorLocation(location);
    // get AI vehicle reference
    vehicle = Cast<AWheeledVehicle>(pawn);
    // add forward movement to vehicle, scale = 1
    vehicle->AddMovementInput(GetActorForwardVector(), scaleValue);
    //vehicle->GetVehicleMovement()->Velocity.X = 1.0f;
    //vehicle->GetVehicleMovement()->SetThrottleInput(1.0f);
    //vehicle->GetVehicleMovement()->SetSteeringInput(1.0f);
    //vehicle->GetVehicleMovement()->SetHandbrakeInput(false);
    // set rotaion of vehicle to rotation of the target point
    vehicle->SetActorRotation(target->GetActorRotation());
}

UE4中的车辆设置很棘手。它有几个活动部件协同工作。确保初始车辆设置正常,否则无论涉及的代码如何,车辆都可能根本无法移动。(顺便说一句,代码看起来不错,但我建议在蓝图中进行测试,以验证设置是否正确)

我在我的频道上制作了一个关于UE4中车辆设置的视频,这可能会解决你的问题。仔细检查并确保设置是相同的,因为无论您使用C++还是蓝图,都需要这样做。链接如下:

UE4-如何使车辆