1 votes

Les vaisseaux s'échappant des corps hôtes au fil du temps

Je jouais aux anciennes versions de Kerbal Space Program et j'avais ce problème qui est vraiment ennuyeux.

Je place une sonde avec des antennes relais autour d'une planète ou d'une lune afin qu'elle puisse rebondir des signaux pour d'autres vaisseaux lorsqu'ils perdent la vue directe de Kerbin. Ensuite, lorsque j'ai terminé, je me concentre sur d'autres choses et je m'occupe d'autres tâches interplanétaires. Des années plus tard, je vais vérifier ma configuration avec la sonde relais et... elle a quitté le corps parent.

Je m'assure toujours que les orbites des relais ne les rapprochent nulle part des lunes (généralement ils restent juste au-dessus de l'atmosphère de Jool). En fait, parfois je les fais orbiter Laythe, par exemple. Pourtant, quand je vais vérifier des années plus tard, j'ai des relais en orbite autour de Kerbol et non là où je les avais garés.

Je pensais que c'était un bug connu mais je ne trouve rien à ce sujet. Et je joue maintenant en 1.11, version 3066, et cela se reproduit. Je viens juste d'avoir un relais sur Eve perdre son orbite.

Je me sens bête maintenant. Est-ce que je fais quelque chose de mal ?

4voto

Trish Points 318

Cela découle très probablement de la précision des nombres flottants.

À chaque fois que vous chargez un vaisseau, le trajet est chargé avec la précision maximale du fichier. Cependant, les données de trajet qu'il gère sur un vaisseau actif sont dans un système de coordonnées différent. Lors de la sauvegarde du vaisseau en mode inactif ou en passant en_Mode de distorsion temporelle, ces coordonnées sont converties à nouveau, et quelque part à la fin, l'une des décimales peut être tronquée. Plus le vaisseau est chargé souvent, plus l'erreur s'accumule - et cela se produit au moins une fois pour chaque vaisseau. La petite erreur créée lorsqu'on désactive le vaisseau peut déjà dévier considérablement le trajet au fil des décennies.

Cette erreur était beaucoup plus grave avant qu'ils ne réécrivent une grande partie du code pour Unity 5 afin de pouvoir utiliser des variables 64 bits dans la version 1.1, pourtant il est presque impossible de l'éliminer complètement car l'erreur s'accumulera chaque fois que le vaisseau est rechargé et sauvegardé. Mais vous avez de la chance : cela prend maintenant plus de temps. Par exemple, dans 0.25, une erreur de point flottant ferait s'écraser votre vaisseau actif en orbite circulaire parfaite dans une lune en quelques minutes.

Mais ne vous inquiétez pas : si vous savez exactement ce que devrait être l'orbite de votre vaisseau... Scott Manley a une explication pour vous sur la façon de modifier les données de votre vaisseau qui fonctionne toujours 8 ans plus tard.

AlleGamers.com

AlleGamers est une communauté de gamers qui cherche à élargir la connaissance des jeux vidéo.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X