69 lines
3.5 KiB
C++
69 lines
3.5 KiB
C++
// Copyright Epic Games, Inc. All Rights Reserved.
|
|
|
|
|
|
#include "TP_VehicleAdvSportsCar.h"
|
|
#include "TP_VehicleAdvSportsWheelFront.h"
|
|
#include "TP_VehicleAdvSportsWheelRear.h"
|
|
#include "ChaosWheeledVehicleMovementComponent.h"
|
|
|
|
ATP_VehicleAdvSportsCar::ATP_VehicleAdvSportsCar()
|
|
{
|
|
// Note: for faster iteration times, the vehicle setup can be tweaked in the Blueprint instead
|
|
|
|
// Set up the chassis
|
|
GetChaosVehicleMovement()->ChassisHeight = 144.0f;
|
|
GetChaosVehicleMovement()->DragCoefficient = 0.31f;
|
|
|
|
// Set up the wheels
|
|
GetChaosVehicleMovement()->bLegacyWheelFrictionPosition = true;
|
|
GetChaosVehicleMovement()->WheelSetups.SetNum(4);
|
|
|
|
GetChaosVehicleMovement()->WheelSetups[0].WheelClass = UTP_VehicleAdvSportsWheelFront::StaticClass();
|
|
GetChaosVehicleMovement()->WheelSetups[0].BoneName = FName("Phys_Wheel_FL");
|
|
GetChaosVehicleMovement()->WheelSetups[0].AdditionalOffset = FVector(0.0f, 0.0f, 0.0f);
|
|
|
|
GetChaosVehicleMovement()->WheelSetups[1].WheelClass = UTP_VehicleAdvSportsWheelFront::StaticClass();
|
|
GetChaosVehicleMovement()->WheelSetups[1].BoneName = FName("Phys_Wheel_FR");
|
|
GetChaosVehicleMovement()->WheelSetups[1].AdditionalOffset = FVector(0.0f, 0.0f, 0.0f);
|
|
|
|
GetChaosVehicleMovement()->WheelSetups[2].WheelClass = UTP_VehicleAdvSportsWheelRear::StaticClass();
|
|
GetChaosVehicleMovement()->WheelSetups[2].BoneName = FName("Phys_Wheel_BL");
|
|
GetChaosVehicleMovement()->WheelSetups[2].AdditionalOffset = FVector(0.0f, 0.0f, 0.0f);
|
|
|
|
GetChaosVehicleMovement()->WheelSetups[3].WheelClass = UTP_VehicleAdvSportsWheelRear::StaticClass();
|
|
GetChaosVehicleMovement()->WheelSetups[3].BoneName = FName("Phys_Wheel_BR");
|
|
GetChaosVehicleMovement()->WheelSetups[3].AdditionalOffset = FVector(0.0f, 0.0f, 0.0f);
|
|
|
|
// Set up the engine
|
|
// NOTE: Check the Blueprint asset for the Torque Curve
|
|
GetChaosVehicleMovement()->EngineSetup.MaxTorque = 750.0f;
|
|
GetChaosVehicleMovement()->EngineSetup.MaxRPM = 7000.0f;
|
|
GetChaosVehicleMovement()->EngineSetup.EngineIdleRPM = 900.0f;
|
|
GetChaosVehicleMovement()->EngineSetup.EngineBrakeEffect = 0.2f;
|
|
GetChaosVehicleMovement()->EngineSetup.EngineRevUpMOI = 5.0f;
|
|
GetChaosVehicleMovement()->EngineSetup.EngineRevDownRate = 600.0f;
|
|
|
|
// Set up the transmission
|
|
GetChaosVehicleMovement()->TransmissionSetup.bUseAutomaticGears = true;
|
|
GetChaosVehicleMovement()->TransmissionSetup.bUseAutoReverse = true;
|
|
GetChaosVehicleMovement()->TransmissionSetup.FinalRatio = 2.81f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ChangeUpRPM = 6000.0f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ChangeDownRPM = 2000.0f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.GearChangeTime = 0.2f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.TransmissionEfficiency = 0.9f;
|
|
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios.SetNum(5);
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios[0] = 4.25f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios[1] = 2.52f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios[2] = 1.66f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios[3] = 1.22f;
|
|
GetChaosVehicleMovement()->TransmissionSetup.ForwardGearRatios[4] = 1.0f;
|
|
|
|
GetChaosVehicleMovement()->TransmissionSetup.ReverseGearRatios.SetNum(1);
|
|
GetChaosVehicleMovement()->TransmissionSetup.ReverseGearRatios[0] = 4.04f;
|
|
|
|
// Set up the steering
|
|
// NOTE: Check the Blueprint asset for the Steering Curve
|
|
GetChaosVehicleMovement()->SteeringSetup.SteeringType = ESteeringType::Ackermann;
|
|
GetChaosVehicleMovement()->SteeringSetup.AngleRatio = 0.7f;
|
|
} |