Il existe de nombreux jeux de course de voitures PC autour desquels cette aide à la conduite unique aide à freiner votre voiture afin que vous puissiez la faire tourner en toute sécurité. Alors que dans certains jeux, il s'agit simplement d'une `` assistance '', cela aidera simplement votre frein de voiture mais n'assurera pas un virage en toute sécurité. Alors que dans d'autres, l'aide au freinage vous aidera à prendre un virage en toute sécurité. Je me demandais quel pourrait être l'algorithme qui est suivi pour y parvenir.
Un algorithme très basique auquel je pouvais penser était,
- Déterminez à l'avance la distance de freinage d'une voiture idéale pour chaque virage de la piste, en fonction du rayon du virage, puis commencez à freiner la voiture en conséquence. Par exemple, pour un virage de moins de 90 o , la voiture commencerait à freiner automatiquement à 50 m de distance du début du virage.
Un algorithme plus avancé, qui assurerait un virage en toute sécurité, pourrait être
- Prédéfinissez la vitesse de la voiture au début de chaque virage, individuellement pour chaque piste, virage et voiture. De plus, prédéterminez le taux de décélération de chaque voiture individuellement, qui varie en raison des performances de la voiture.
- L'assistance au freinage continuerait à enregistrer la vitesse de la voiture à un certain instant.
- Commencez à freiner la voiture de manière appropriée afin que la voiture atteigne la vitesse exacte requise au début du virage.
- Par exemple, que la vitesse d'une voiture particulière au début d'un virage de 43 m de rayon soit de 120 km / h. Soit le taux de décélération de la voiture de 200 km / h 2 . Si, à un instant donné, la vitesse de la voiture est de 200 km / h, alors la voiture commencerait automatiquement à freiner à 400 m dès le début du virage.
Réponses:
Fondamentalement, l'assistance au freinage fonctionne en comparant la vitesse de la voiture du joueur à la vitesse du point le plus proche sur la ligne de course optimale de la piste, et en appliquant automatiquement les freins selon les besoins pour réduire la vitesse de la voiture du joueur pour correspondre à la vitesse spécifiée sur la ligne de course optimale. C'est exactement comme écrire l'IA d'une voiture de course, mais appliquer uniquement les sorties de freinage de l'IA, pas l'accélérateur ou la direction.
Cela nécessite (évidemment) que vous ayez des données sur une ligne de course optimale, afin que vous puissiez dire combien le joueur a besoin de ralentir. Cette ligne de course est généralement générée par ordinateur pendant le développement et est livrée avec le jeu sous forme de données statiques, plutôt que d'être calculée au moment de l'exécution. (J'ai travaillé sur des jeux qui généraient dynamiquement une ligne de course devant le joueur, mais c'était coûteux en calcul, et je ne le recommande pas sauf si vous avez des pistes qui changent de manière imprévisible)
la source
Vous pouvez calculer le chemin que la voiture décrirait si elle tourne avec la vitesse actuelle sans dériver. Appliquez ensuite les freins proportionnellement à la distance d , qui est la distance mesurée entre la trajectoire calculée et la courbe.
la source