Ce guide décrit comment configurer et utiliser mon script de bloc programmable du gestionnaire de manager pilotant planétaire.
Configuration de base / Exigences de navire
Exigences de navire
- Un bloc de télécommande face à la direction avant souhaitée
- Au moins 1 propulseur dans l'attaquant, en arrière, et la direction ascendante par rapport au bloc de télécommande
- Au moins 1 gyroscope (peut être placé de quelque manière que ce soit)
- Au moins 1 Caméra à l'avant du navire et le haut orienté vers le haut, par rapport au bloc de télécommande. [Plusieurs caméras prises en charge, recommande de les placer près les uns des autres]
- Au moins 1 Caméra au bas du navire et les avantages supérieurs orientés, par rapport au bloc de télécommande [Plusieurs caméras prises en charge, recommande de les placer près les uns des autres]
Nommez les blocs suivants
- Nommez le bloc de télécommande pour correspondre au ‘nomofremoteControl’ variable, ce qui est « Télécommande » par défaut.
- Mettez toutes les caméras en avant dans un groupe et faites correspondre le nom du groupe ‘nomofhorizontalcameragroup’ variable, ce qui est « PA Cams avant » par défaut.
- Mettez toutes les caméras vers le bas dans un groupe et faites correspondre le nom du groupe ‘nomofverticalcameragroup’ variable, ce qui est « PA Down Cams » par défaut.
Ces variables peuvent être modifiées en code pour correspondre à vos préférences si vous le souhaitez.
Comment utiliser
Une fois la configuration terminée et vous pouvez compiler sans erreurs, Voici les commandes que vous pouvez effectuer.
Toutes les commandes prennent le format suivant:
<COMMANDE,Paramètre n ° 1, paramètre n ° 2, etc.…>
Goto
- Description – Dit au pilote automatique de se déplacer vers l'emplacement spécifié
- Commande – Goto
- Paramètre #1 – Les informations de waypoint de la destination cible
- Exemple – « Goto,GPS:Kwwininj999 #1:55985.37:16475.92:17445.72: »
- Note – Lors de la copie des informations Waypoint du menu GPS, Supprimer les informations sur les couleurs à la fin « #Ffffffff », Voir l'exemple de la saisie de travail.
ARRÊT
- Description – Arrête et réinitialise le pilote automatique
- Commande – ARRÊT
Target_elevation
- Description – Définit l'élévation cible à maintenir pendant le vol.
- Commande – Target_elevation
- Paramètre #1 – L'élévation à maintenir, en mètres (m).
- Exemple – « Target_elevation,1000 »
- Note – La mesure d'altitude est déterminée par la commande Elevation_Type.
- Note – Plus élevé est généralement plus sûr & Moins susceptible de s'écraser
ELTIVATION_TYPE
- Description – Détermine comment l'élévation du courant est mesurée (de la planète Sealevel ou de la surface de la planète)
- Commande – ELTIVATION_TYPE
- Paramètre #1 – « Niveau de la mer » ou « SURFACE »
- Exemple – « ELTIVATION_TYPE,Niveau de la mer »
Max_peed
- Description – Définit la vitesse maximale pour le pilote automatique
- Commande – Max_peed
- Paramètre #1 – la vitesse maximale à régler
- Exemple – « Max_peed,75 »
- Note – Plus lent est généralement plus sûr, mais a été testé pour être modérément sûr à 100 m / s si l'altitude est suffisante (500m +)
Configuration & Conseils
Certaines variables au sein de la classe PlanetaryAutopilotManager peuvent être modifiées. Certains sont interfaitables avec leurs propres fonctions Getter / Setter, D'autres, il aurait probablement du sens de simplement les changer une fois et d'avoir fini avec. je’ll aller les autres et les inconvénients de la plage de valeurs pour chaque variable ici que je’Ve découvert lors des tests.
Je recommande fortement de tester vos navires avec les différentes options de configuration dans un monde créatif avant d'utiliser dans un monde de survie.
maxpeed
- Les vitesses élevées sont plus dangereuses car le pilote automatique peut effectuer moins de scans au fil du temps, ce qui signifie qu'il est plus susceptible de manquer un obstacle qu'il pourrait approcher. Cependant, si vous insistez sur la vitesse, Je recommande de mettre plusieurs caméras dans chaque groupe de caméras (en avant et en bas) Pour compenser.
- Gamme recommandée: Pour juste 1 Caméra dans chaque groupe, 50-75MS. Ajoutez plus de caméras pour plus de vitesse.
cibleLelevation
- Gamme recommandée (300M-1000m)
- Des valeurs plus élevées signifient que votre navire est moins susceptible de rencontrer une montagne ou une autre obstruction, ce qui signifie moins de chances de crash.
TargetElevationToleance
- Gamme recommandée (10M-50M)
- Jusqu'où tu’Accepter un déplacement vertical de la réévation cible, afin qu'aucune correction ne se déroule. Avoir une valeur importante pour cela signifie que votre navire a gagné’J'essaie de se corriger si souvent, et va simplement naviguer, Économiser de l'énergie en cours de route (surtout si type d'altitude est réglé sur la surface).
ScanningDistanceForwardModifier
- La variable modifie la plage que les caméras avant scanneront pour rechercher des obstacles, et commencera à voler vers le haut (mais toujours aller de l'avant) pour les éviter.
- Des valeurs plus élevées signifient des temps de tête plus longs, mais va scanner moins souvent. Et vice versa pour des valeurs inférieures.
- Doit être plus élevé que CruisedistanceModificateur
- Gamme recommandée (1.5F-2.5F)
scanningDistancedownwardModifier
- La variable modifie la plage que les caméras vers le bas scanneront pour rechercher des obstacles, et commencera à voler vers le haut (mais toujours aller de l'avant) pour les éviter.
- Des valeurs plus élevées signifient des temps de tête plus longs, mais va scanner moins souvent. Et vice versa pour des valeurs inférieures.
- Doit être plus élevé que CruisedistanceModificateur
- Gamme recommandée (1.5F-2.5F)
CruisedistanceModificateur
- Cette variable modifie la plage à laquelle le navire arrivera à un arrêt complet horizontalement et volera si un obstacle détecté est trop proche.
- Des valeurs plus élevées signifient plus de sécurité, mais trop haut peut sembler un peu idiot.
- Devrait être d'au moins 0,3f de moins que ScanningDistanceForwardModifier et doit être supérieur à 1,1f
- Recommander la gamme (1.2F-1.5F)
nomofremoteControl
nomofhorizontalcameragroup
nomofverticalcameragroup
- Ce sont les noms de la télécommande et des groupes de caméras que le programme recherchera, N'hésitez pas à les changer si vous ne faites pas’t comme les noms par défaut.
type d'altitude
- Cette variable détermine si l'élévation actuelle est mesurée à partir de la planète’S du niveau de la mer ou de la surface.
- Cela peut être changé à travers le « SettelevationType » fonction ou en le définissant manuellement comme les autres variables ici.
- Le niveau de la mer peut fournir un plus fluide, vol moins cahoteux (ce qui économisera l'énergie), Mais vous devrez trouver une bonne valeur qui fonctionne pour vous
- La surface est probablement meilleure pour travailler dès le départ si vous’re to paresseux pour trouver une bonne valeur pour le niveau de la mer.
Nombre de caméras
- Le nombre de caméras dans vos groupes de caméras avant et vers le bas augmentera la quantité de scannes et donc la sécurité de votre navire.
- toutefois, la caméra’S Raycast qui est utilisé pour scan, et si tu’re sur un serveur multijoueur, Votre administrateur de serveur peut ne pas vous aimer beaucoup. Si c'est un problème, Je recommande d'utiliser le moins de caméras que possible (Certains de mes petits navires fonctionnent très bien avec juste 1 Caméra dans chaque groupe de caméras)
Interface de script
Ce programme a été initialement conçu pour aller de pair avec un autre script que j'avais prévu, Mais j'ai décidé qu'il serait préférable de faire ce premier pour avoir une base solide pour travailler à partir de. Ainsi, Peut-être que cela fonctionnera bien pour certains des groupes les plus créatifs.
Le programme par défaut (principalement dans la boucle principale) devrait servir de bon exemple pour vous montrer comment interfacer avec le programme avec succès.
Afin de travailler avec succès, Le programme nécessite
- UN ‘Myini = nouveau Myini();’ déclaré comme champ
- Le planétaryautopilotManager.init(Système de terminal de la grille, ce, Réf) dans le programme’constructeur « Programme() { } ».
- The PlanetaryAutopilotManager.Save(Réf) dans le programme’S Fonction de sauvegarde « Public Void Sauver() { } »
- The PlanetaryAutopilotManager.Update(ce, Mises à jour) dans le programme’S fonction principale « public vide principal(argument de cordes, UpdateType Mise à jour) »
Tant que ces exigences sont satisfaites, Le programme devrait fonctionner. De là, vous pouvez vous interface en appelant ces fonctions:
*Remarque * Paramètres n'importe où nommés « MyGridProgram GP » signifie que vous pouvez simplement passer le programme lui-même en utilisant « ce ».
PlanetaryAutopilotManager.SetDestination(Coords Vector3d, MyGridProgram GP)
- Définit la destination cible et commence à se rendre à la destination.
PlanetaryAutopilotManager.stop(MyGridProgram GP)
- Arrête le navire, Restaure tous les propulseurs et gyroscopes au contrôle manuel.
PlanetaryAutopilotManager.SetTargetELelevation(float cibleLelevation)
- Définit l'élévation cible que le navire essaiera de correspondre pendant son vol.
PlanetaryAutopilotManager.SetteleVationType(MyPlaneteleVation ElevationType)
- Définit comment l'élévation du courant est mesurée
- MyPlaneteleVation.selevel – Mesures de la planète’au niveau de la mer
- MyPlaneteleVation.surface – Mesures de la surface directement en dessous du navire
PlanetaryAutopilotManager.SetMaxSpeed(flotteur maxspeed)
- Définit la vitesse maximale que le navire voyagera
- Enfiler’t régler plus haut que le serveur ne le permet
Comment vérifier si le navire l'a terminé’vol
Il y a deux façons de le faire
- Vérifiez si la variable PlanetaryAutopilotManager.DestinationIsset est fausse [si (!PlanetaryAutopilotManager.DestinationIsset)].
- Abonnez-vous à l'événement PlanetaryAutopilotManager.FlightCompleted (Voir l'onflightcompletion() fonctionner comme un exemple)
C'est tout ce que nous partageons aujourd'hui pour cela Ingénieurs spatiaux guide. Ce guide a été initialement créé et rédigé par Kwwininj999. Si nous ne parvenons pas à mettre à jour ce guide, vous pouvez trouver la dernière mise à jour en suivant ceci lien.