Advertisement
Guest User

Untitled

a guest
Oct 17th, 2024
36
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.76 KB | None | 0 0
  1.  
  2. // ADDED :: Driving v3
  3. // *************************************************************************** v0.2 // a29
  4. // *********************** 1st Gear + Accel + Brake ************************
  5. // ***************************************************************************
  6.  
  7. float mDefaultLatScale = mAxle->getWheelOptions()->getLateralScale();
  8.  
  9. // --- AXLE ---
  10. float aFrontWheels = mAxle->getIndex() == 0;
  11. float aRearWheels = mAxle->getIndex() == 1;
  12.  
  13. float aBraking = mVehicle->getStandardInput()->getBrakeFinalInput(); // (0-1) Only by input.
  14. float aCurGear = mVehicle->getTransmission()->getCurGear(); // Get the current gear
  15. float steerDeltaAngleR = mVehicle->getSteerDeltaAngle(false); // Rear angle difference
  16. float carAngleR = FMath::Abs(steerDeltaAngleR);
  17.  
  18. float brakePow = 0.9f; // Multiplier - to manage the overall power
  19. float brakeFront = 1.0f; // Multiplier - Front Wheels
  20. float brakeRear = 0.9f; // Multiplier - Rear Wheels
  21. float gripWheelF = 0.5f; // Multiplier - Grip Wheel Front
  22. float gripWheelR = 0.4f; // Multiplier - Grip Wheel Rear
  23. float wheelFront = 0.9f; // Multiplier - Not Grip Wheel Front
  24. float wheelRear = 0.8f; // Multiplier - Not Grip Wheel Rear
  25.  
  26. // Using getSteerDeltaAngle(false), due with true, in high turning the angle decreases instead of increase.
  27. // a29 || "/ 90.0f" :: Higher = More brake || Lower = Less brake .
  28. //float brakeAngleR = FMath::Clamp(1.0f-(carAngleR / 90.0f), 0.0f, 1.0f); // Stable
  29. float brakeAngleR = FMath::Clamp(1.0f-(carAngleR / 120.0f), 0.0f, 1.0f); // "/ 120" :: not bad with some grip wheels tweaking
  30.  
  31. // Final brake calculation || Accel maybe should be added here too.
  32. float driftBrake = brakePow *brakeAngleR *aBraking;
  33.  
  34. // Only on 1st gear + Braking when issue happens.
  35. if ( aCurGear == 1 && aBraking > 0.0f ) {
  36.  
  37.  
  38. // --- SAME BRAKE FOR ALL WHEELS ---
  39. //mVehicle->getAxle(0)->getRightWheel()->setBraking(driftBrake *brakeFront);
  40. //mVehicle->getAxle(0)->getLeftWheel()->setBraking( driftBrake *brakeFront);
  41. //mVehicle->getAxle(1)->getRightWheel()->setBraking(driftBrake *brakeRear);
  42. //mVehicle->getAxle(1)->getLeftWheel()->setBraking( driftBrake *brakeRear);
  43.  
  44.  
  45. // --- GRIP WHEELS VERSION ---
  46. // Turning RIGHT
  47. //if (aSteer > 0 ) {
  48. if ( steerDeltaAngleF > 0 ) {
  49. mVehicle->getAxle(0)->getRightWheel()->setBraking(driftBrake *brakeFront *wheelFront);
  50. mVehicle->getAxle(0)->getLeftWheel()->setBraking( driftBrake *brakeFront *gripWheelF); // Grip Wheel
  51. // REAR
  52. mVehicle->getAxle(1)->getRightWheel()->setBraking(driftBrake *brakeRear *wheelRear );
  53. mVehicle->getAxle(1)->getLeftWheel()->setBraking( driftBrake *brakeRear *gripWheelF); // Grip Wheel
  54. }
  55. // Turning LEFT
  56. //if (aSteer < 0 ) {
  57. if ( steerDeltaAngleF < 0 ) {
  58. mVehicle->getAxle(0)->getLeftWheel()->setBraking( driftBrake *brakeFront *wheelFront);
  59. mVehicle->getAxle(0)->getRightWheel()->setBraking(driftBrake *brakeFront *gripWheelR); // Grip Wheel
  60. // REAR
  61. mVehicle->getAxle(1)->getLeftWheel()->setBraking( driftBrake *brakeRear *wheelRear );
  62. mVehicle->getAxle(1)->getRightWheel()->setBraking(driftBrake *brakeRear *gripWheelR); // Grip Wheel
  63. }
  64.  
  65. // To make the car +slide/angle to compensate less braking.
  66. if ( aFrontWheels ) {
  67. mLatScale = mDefaultLatScale -(aBraking*0.2f);
  68. }
  69. if ( aRearWheels ) {
  70. mLatScale = mDefaultLatScale -(aBraking*0.4f);
  71. }
  72. }
  73.  
  74. else { mLatScale = mDefaultLatScale; }
  75.  
  76. // -----------------------------------------------------------------------
  77. // ***********************************************************************
  78.  
  79.  
  80.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement