Aller au contenu principal

Physique de wheelie

Street Riders utilise un système de wheelie continu basé sur les forces, contrairement aux wheelies animés par script que l'on trouve dans d'autres mods. Chaque wheelie est simulé physiquement en temps réel; la moto se soulève, s'équilibre et se stabilise en fonction des forces, des vitesses et des angles.


Comment ça fonctionne

Une force ascendante régulière est appliquée à l'avant de la moto à chaque frame. La force est amortie par la vélocité angulaire, empêchant la moto de dépasser la cible et d'osciller. La gravité fournit une résistance naturelle, et le système s'ajuste continuellement pour maintenir l'angle cible.


Phases de contrôle de l'inclinaison

Le wheelie est divisé en quatre phases basées sur l'angle d'inclinaison actuel par rapport à TargetPitch :

0° ──────────────────────────────────── MaxPitch
[Soulèvement] [Atténuation] [Maintien] [Correction]
0%─50% 50%─100% Cible Au-dessus de Max
PhasePlageComportement
Soulèvement0% à 50% de TargetPitchForce de soulèvement complète appliquée, amortie par la vitesse d'ascension
Atténuation50% à TargetPitchLa force s'estompe progressivement avec l'amortissement de la vélocité: transition douce vers la cible
MaintienTargetPitch à MaxPitchAucune force appliquée: la gravité stabilise naturellement à la cible
CorrectionAu-dessus de MaxPitchUne force inverse douce repousse la roue avant vers le bas pour éviter le retournement

Réglage par moto

Chaque modèle de moto peut avoir son propre profil de wheelie en utilisant les sections [Bike_XXX]. La moto doit être listée dans BikeOverrides dans [General].

Exemple : Sanchez (cross agressive)

[Bike_SANCHEZ2]
LiftForce = 0.32
TargetPitch = 50.0
MaxPitch = 55.0

Exemple : BF400 (sport/cross modéré)

[Bike_BF400]
LiftForce = 0.15
TargetPitch = 45.0
MaxPitch = 50.0

Seuls les paramètres que vous incluez sont remplacés; tout le reste revient à [DefaultWheelie].


Guide de réglage

ProblèmeSolution
La moto se soulève trop fortDiminuez LiftForce
La moto ne se soulève pasAugmentez LiftForce
L'angle de wheelie est trop hautDiminuez TargetPitch
La moto se retourneDiminuez MaxPitch
Le wheelie reste instableDiminuez LiftForce et augmentez TorqueOffset

WheelieExcludedModels

Certains véhicules à deux roues ne tentent jamais de wheelie :

WheelieExcludedModels = BMX, CRUISER, TRIBIKE, TRIBIKE2, TRIBIKE3, SCORCHER, POLICEB

Ajoutez n'importe quel modèle de moto à cette liste séparée par des virgules pour l'exclure.


Support des motards naturels

Quand ApplyToNaturalRiders = true, l'IA de wheelie s'applique également aux motards PNJ déjà présents dans la circulation. Le mod scanne les motards à proximité dans NaturalRiderScanRadius et leur donne le comportement de wheelie.

ApplyToNaturalRiders = false
NaturalRiderScanRadius = 200.0

Système de remontée

Quand un motard tombe de sa moto (à cause d'un crash ou d'un wheelie raté), le système de remontée s'active :

  1. Le motard détecte qu'il n'est plus sur sa moto et pas dans un véhicule.
  2. Un temps de recharge (RemountTaskCooldown) empêche un redéclenchement rapide.
  3. Le motard marche vers la moto s'il est à moins de RemountEnterDistance et RemountMaxDistance.
  4. Si le motard ne peut pas atteindre la moto dans RemountTimeout, il arrête d'essayer.
  5. Après RemountForceTimeout millisecondes, le motard est téléporté de force sur la moto (0 = désactivé).

Interaction avec la police

La police peut poursuivre les motards qui font des wheelies dans la circulation :

ParamètreDéfautDescription
AllowPoliceArrestfalseActiver la poursuite policière des motards
PolicePursuitRadius100.0Portée de verrouillage de la police (mètres)
PolicePursuitMinDuration15000Durée minimale de poursuite avant d'abandonner (ms)

Référence de configuration

ParamètreDéfautPhase
LiftForce0.18Noyau: force vers le haut par frame
TorqueOffset1.2Noyau: bras de levier (plus haut = plus de rotation)
PulseIntervalMs0Noyau: 0 = continu, >0 = pulsé
MinSpeed12.0Noyau: vitesse minimale pour tenter (m/s)
TargetPitch40.0Inclinaison: angle cible (degrés)
MaxPitch43.0Inclinaison: correction d'urgence (degrés)
AttemptDurationMin3000Timing: tentative minimale (ms)
AttemptDurationMax5000Timing: tentative maximale (ms)
SustainDurationMin5000Timing: maintien minimal (ms)
SustainDurationMax20000Timing: maintien maximal (ms)
AttemptDelayMin1000Timing: délai entre tentatives (ms)
AttemptDelayMax5000Timing: délai entre tentatives (ms)
AttemptsMin1Timing: tentatives par cycle de conduite
AttemptsMax4Timing: tentatives par cycle de conduite
RaycastDistance10.0Sécurité: portée de détection d'obstacles (m)
MaxSteeringAngle12.0Sécurité: direction max pendant le wheelie (°)
BrakeThreshold0.5Sécurité: le frein annule le wheelie
DriveSpeed20.0Conduite: vitesse de croisière (m/s)
MaxEntitySpeed25.0Conduite: limite de vitesse absolue (m/s)
DriveAbility1.0Conduite: compétence IA (0,0–1,0)
DriveAggressiveness1.0Conduite: agressivité IA
DrivingFlags802877Conduite: champ de bits comportement IA
BlockNonTempEventstruePiéton: bloquer les événements interrupteurs