« 1 2 3 (4) 5 »


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2342
J'ai repris le code original de l'algorithme et j'arrive au même résultat. Je pense qu'il faut l'adapter au cas de l'hexagonal car il y a des cas qui sont mal gérés... Comme ça, je n'ai pas d'idée sur ce qu'il faudrait faire pour l'optimiser.

Au cas où, je te mets le script ici :
https://pasteall.org/hg0F#L11


Pour l'affichage manquant, le problème survient quand ton chemin revient vers la gauche sur une même ligne ou remonte.
C'est simplement dû au fait que ta boucle "for point in scene.objects:" ne se répète qu'une seule fois pour tous les points du chemin.
Donc ça marche si le chemin va de gauche à droite et de haut en bas.

Contribution le : 14/04 14:58:42
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1600
Alors faudrait-il travailler sur 3 axes ?

Ce qui est bizzare, ou logique, c'est que durant la construction du chemin, le premier cycle à 6 essais, le deuxième 4, puis 6, puis 4, ...

Cela dépends des directions données. Moi je te proposerai d'en rester là avec les hexagones et se contenter des carrés et de passer au diagrame Voronoï.

Contribution le : 14/04 19:49:51
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2342
Oui, je crois qu'une des possibilités est de voir les hexagones comme des cubes vus de 3/4 en isométrique.


On se retrouve donc avec un Z.

C'est toi qui vois si tu veux continuer sur les hexagones. Peut-être que pour un simple essai (ou preuve de concept), tu peux te contenter de cases carrées comme au bon vieux temps. C'est peut-être aussi plus instinctif pour toucher du doigt des algorithmes comme A* ou Voronoï.

Contribution le : 14/04 22:13:53
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1600
Attends ! J'ai eu une idée:

Regarde ça

Il y a un décalage quand on change de colonne, donc ça veux dire que les coordonnées de déplacements sont aussi décalés.

Donc deux calculs totalement différents. Donc si on rajoute ce décalage comme condition...

Voici le blend

Tant que l'on reste sur la même ligne, le décalage ne s'applique pas. Par contre, si on passe d'une colonne à l'autre, on passe à l'autre mode de calcul et vice-versa.

Cela dit, certaines destinations on des ratés. Je pense qu'il faut faire en sorte que le système puisse déterminer intelligemment le bon mode de calcul.

Contribution le : 15/04 10:44:17
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2342
Je n'ai pas tout compris mais si tu veux tester la parité de l'index de la colonne, tu peux t'orienter sur l'opérateur modulo (%).

Il te renvoie le reste d'une division, et pour le cas du modulo 2, de savoir si le nombre est pair ou impair.

128 % 2 = 0
365 % 2 = 1



PS: J'avais indiqué un décalage pour les cases aux coordonnées paires/impaires dans un post précédent donc tu trouveras un exemple de modulo 2 :
http://blenderclan.tuxfamily.org/html/modules/newbb/viewtopic.php?post_id=582069#forumpost582069

Contribution le : 15/04 11:23:37
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1600
Je n'arrive pas à t'expliquer avec des mots, tout ce que je vois, c'est ça.

Je cherches à forcer le système à avancer selon mon désir mais visiblement, c'est trop compliqué.

Contribution le : 15/04 13:07:16
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2342
J'ai un peu amélioré le pathfinding à partir d'un ancien blend que tu as partagé. Ca donne des chemins complets mais avec encore quelques déplacements inutiles.
https://pasteall.org/WdD8

Je te donne le lien du blend complet si ça ne suffit pas :
https://pasteall.org/blend/5d239eadc5844a18ad0be944cac45af9

En fait, d'après mes tests, j'ai remarqué que les détours inutiles ne se produisent que quand on va de gauche à droite et de haut en bas. Autrement dit si à la fois X et Y s'incrémentent. Dans les autres situations, ça semble faire un chemin correct.

A défaut de trouver mieux, tu peux toutefois t'arrêter sur ce premier jet et si besoin te relancer dedans plus tard. En passant à la suite, tu auras malgré tout un truc fonctionnel et ça te changera les idées.
Au pire du pire si vraiment on atteint le gouffre du désespoir, tu vérifies la position de start et de end. Si tu vois que end est en +X/+Y de start, tu pars plutôt de end vers start et tu inverses le chemin. On est bien d'accords que c'est absolument dégueulasse !


Si tu veux continuer quand même sur A*, je te remets ce lien que tu avais peut-être raté :
https://www.redblobgames.com/grids/hexagons/

Ainsi que celui-ci même si ce n'est pas du Python (JavaScript mais ça ressemble pas mal).
https://stackoverflow.com/questions/38015645/a-pathfinding-in-a-hexagonal-grid

Désolé mais j'ai pas hyper envie de déboguer davantage. Je dois déboguer l'appli du taf ainsi que mon projet perso déjà, les deux n'étant pas évidents à solutionner...
Je vais péter un câble à la fin !

Contribution le : 15/04 17:08:06
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1600
Ok, je vais rester sur les carrés. J'ai déjà eu beaucoup de difficultés à comprendre le A*, donc je vais m’arrêter là.

À ce sujet, Merci à Hook pour son apport d'information et à toi, bibi09 pour ta patience et tes explications .

D'accord, passons au Voronoï. Dans un premier temps je supposes qu'il faut pouvoir faire un print d'un résultat ? Or, j'ai tenté d'indiquer des "points", mais ça ne fonctionne pas.

J'ai regardé la "démo.py" du développeur mais j'ai encore plus de mal à comprendre, j'ai pu juste identifier l'addition de la résolution d'écran avec un radius...

Je parle bien du deuxième lien github que tu as fournis.

Contribution le : 15/04 18:03:54
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2342
Je n'ai pas eu le temps de regarder tout ça encore. Tu veux une explication de l'algorithme ?

Contribution le : 15/04 19:07:38
Créer un fichier PDF de la contribution Imprimer


Re: système Sid Meyer like (Civilization)
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1600
Ok, prends ton temps.

Je désires savoir ce que l’algorithme attends comme données et sous quel format lui donner. Ensuite, comment récupérer le résultat sous forme de tableau (le maze) ?

j'ai 42 carrés, disposé en 7 x 6.

Passe les détails, je ne suis pas apte à comprendre tout l’algorithme.

Contribution le : 15/04 20:16:46
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 2 3 (4) 5 »




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
Questions & Réponses Problème rendu    [1][2][3] 22 159 Aujourd'hui 17:34:15
Mikael 
Le coin des geeks carte graphique Intel(R) HD Graphics et OpenGL    [1][2][3] 25 1266 Aujourd'hui 16:43:01
gedru 
Questions & Réponses [résolu] Bug sur la sculpture :( 5 52 Aujourd'hui 16:27:41
OLDSEN 
Moteur de jeu GameBlender et alternatives [WIP] Cs (sous zone telecom, node stencil, bug texture d'eau)    [1][2][3]...[42] 419 134059 Aujourd'hui 16:06:58
sbkodama 
Le coin des geeks Vieilles cartes graphiques : Quadro FX5800 ou Quadro 4000 ? 5 355 Aujourd'hui 15:38:52
Poutrator 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[57] 565 94415 Aujourd'hui 14:47:11
timeman13 
[WIP] et travaux terminés [terminé] Avions Seconde Guerre Mondiale // Courte Animation 9 672 Hier 23:46:32
prometheusx 
Questions & Réponses Modifier une série de matériaux texturés en même temps 4 264 Hier 15:49:03
JaAlVir657 
Le coin des geeks pc bas prix    [1][2][3] 21 565 Hier 09:15:09
Sphere3d 
[WIP] et travaux terminés bas sculpture corps    [1][2][3] 28 754 12/07 17:00:33
prometheusx 
Questions & Réponses Mesure de plusieurs objet Blender 2.82 3 102 11/07 19:38:58
Rimpotche 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2][3]...[9] 83 9564 11/07 12:59:48
Bibi09 
Questions & Réponses problème radeon pro render vêtements transparents 0 104 09/07 18:49:17
soloic 
Questions & Réponses [résolu] "vieux" fichier blender "invisible"    [1][2] 11 1043 09/07 16:03:24
kinder 
Questions & Réponses [non résolu] Adoucir les courbes et espacer uniformément les vertices dans l'UV Map 2 372 09/07 13:35:44
moonboots 
Questions & Réponses [terminé] contrôle de l'angle d'incision du chanfrein/bevel 2 123 08/07 16:08:24
halphasten 
The Blender Clan 'tchat Clignotement de l'interface de blender 7 430 08/07 13:13:40
zezer 
Questions & Réponses Pass index 1 118 08/07 12:47:07
Rimpotche 
[WIP] et travaux terminés [terminé] court métrage 2020 8 342 07/07 18:44:19
flahaut 
Questions & Réponses épaisseur sur une texture 6 192 07/07 15:28:27
moonboots 

Qui est en ligne
159 utilisateur(s) en ligne (dont 100 sur Forums)

Membre(s): 1
Invité(s): 158


sbkodama, plus...
Nouveaux membres
CoreySolbe 14/7/2020
OLDSEN 14/7/2020
Mikael 12/7/2020
soloic 9/7/2020
kinder 9/7/2020
halphasten 8/7/2020
KOALA_NET21 8/7/2020
singinzerin 6/7/2020
Dartank 5/7/2020
manondup 3/7/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Jui 23
Anniv du BlenderClan !
Aou 7
anniversaire Cem47
Aou 13
Anniversaire Siskas
plus 268 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445