mp_potential_settings(maxrot, rotstep, ahead, onspot)
| Argument | La description |
|---|---|
| maxrot | Le nombre de degrés de chaque côté de la direction actuelle que l'instance peut faire pivoter dans une étape |
| rotstep | Le nombre de degrés de chaque côté de la direction actuelle que l'instance peut vérifier pour une collision |
| ahead | Le nombre de pas en avant que l'instance peut vérifier pour une collision. Les valeurs supérieures sont plus lentes que les valeurs inférieures. |
| onspot | Utilisez ceci pour permettre à l'instance de tourner sur place quand aucun chemin n'est trouvé (true) ou non (false) |
Retours: N / A.
le mp_potential_ les fonctions font leur travail en utilisant un certain nombre de paramètres qui peuvent être modifiés en utilisant cette fonction. Globalement, la méthode fonctionne de la manière suivante: elle essaie d'abord de se diriger directement vers le but, en regardant un certain nombre de pas en avant qui peuvent être définis avec le paramètre "ahead" (la valeur par défaut est 3). Réduire cette valeur signifie que l'instance commencera à changer de direction plus tard car elle ne "voit" pas aussi loin, et l'augmenter signifie qu'elle commencera à changer de direction plus tôt. Si cette vérification mène à une collision, elle commence à regarder les directions plus à gauche et à droite de la direction idéale en ligne droite. Il le fait par pas de taille "rotstep" (la valeur par défaut est 10), et réduire cela donne à l'instance plus de possibilités de mouvement mais sera plus lent car il a besoin de plus de puissance de traitement.
Le paramètre "maxrot" est un peu plus difficile à expliquer! L'instance a une direction de mouvement actuelle, et maxrot (la valeur par défaut est 30) indique combien il est permis de faire varier sa direction de chaque côté de cette direction actuelle en une seule étape. Donc, même s'il peut se déplacer par exemple directement vers le but, il ne le fera que s'il ne viole pas ce changement de direction maximal. Si vous faites une valeur élevée à maxrot, l'instance peut changer beaucoup de direction à chaque pas, ce qui facilitera la recherche d'un chemin court, mais le chemin sera plus laid et moins naturel. Si vous réduisez la valeur, le chemin sera plus lisse, mais il faudra peut-être des détours plus longs (et parfois même ne pas trouver le but). Enfin, lorsqu'aucune étape ne peut être effectuée, le comportement dépend de la valeur du paramètre "onspot". Si onspot est vrai (la valeur par défaut), alors l'instance tournera sur son emplacement du montant indiqué par "maxrot" et si elle est fausse elle ne bougera pas du tout. Le définir sur false est utile par exemple pour les voitures, mais réduit les chances que l'instance trouve un chemin.
mp_potential_settings(45, 5, 5, 0)
Le code ci-dessus définira le mp_potential_ fonctions pour utiliser les paramètres suivants: l'instance peut regarder en avant cinq étapes, changer de direction 45 degrés chaque étape, regarder 5 degrés de chaque côté de la direction actuelle s'il y a un obstacle et ne pas tourner sur place il y a une collision.