« 1 2 (3) 4 »


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
Alors, au sujet du bug mineur:

obj['rot_x'] = obj['totalDelta'][0] * speedRotation


Quand la valeur atteint 0 ou 30, si tu fais un print du premier "rot", il ne bloque pas à 0 ou 30, il continue plus loin ou plus bas.

Ce qui explique un problème de "latence" ou l'on doit en fait revenir au range (0, 30) ou le script fasse effet.

Ça va être problématique à long terme.

Contribution le : 05/11/2019 13:55
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2659
Hmmm, j'ai pas réussi à voir de valeur en dehors de [0,30].

Par contre, en regardant de nouveau le code j'ai eu l'intuition.
if obj.sensors['clic'].positive:
    if not(obj['prepa']):
        obj['rot_x'] = 0.    ===> AJOUTER CETTE LIGNE!
        # ...//[suite du code//


Avec ça, tu devrais avoir un truc qui marche bien, à tester plus longuement !

Le bug c'est qu'au "re-clic", il gardait le précédent 'rot_x'. Forcément, on avait un petit décalage si on avait tourné en maintenant le clic avant...

PS: j'ai pas précisé, c'est une modif dans dans Text.001 !

Contribution le : 05/11/2019 14:18
_________________
Venez tester notre projet de Blender clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
Je me suis peut-être mal exprimé:

if obj['prepa']:
   if obj['rot_x'] >= 0 and obj['rot_x'] <= 30: # là, j'ai le résultat souhaité
     obj['rot_x'] = obj['totalDelta'][0] * speedRotation
     #obj['rot_x'] = max(min(obj['rot_x'], 30), 0)
     #print(obj['rot_x'])
#  else:
#     #obj['rot_x'] = # 0 ou 30
else:
   obj.applyRotation([0,0,Hrot], False)


J'ai pu trouver l'effet recherché, car la modification que tu avait faite ne convient pas durant la pression de la souris.


Donc, concrètement, quand je dirige la souris vers la gauche, on voit bien que le cube ne tourne pas. MAIS, par contre, ce que l'on ne voit pas, c'est que "Rot" continue à se décrémenter !

Or, il faut l'empêcher de faire ça sans pour autant le bloquer une fois la condition remplie.

Car sinon, il faut continuer à gigoter la souris dans le sens inverse pour revenir à 0, ce qui donne une espèce de latence.

Et concrètement, dans mon jeu, si on a une cible mouvante ou que l'on se déplace en tirant, ça va être injouable.

Par contre, j'ai un autre problème: quand j'arrive à 0 ou 30, ça bloque et si je fait en sorte de remettre rot à 0 ou 30, ça me fait un bug visuel hideux et je ne voit pas du tout comment je peux remédier à ça proprement.

Contribution le : 06/11/2019 18:26
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2659
En effet, je comprends mieux maintenant et j'ai pu reproduire le bug !

Je pense que la solution peut être différente, si tu as utilisé le code que tu as posté (sans les commentaires du "else" ?).

Il faudrait plutôt borner le mouvement de la souris pour en déduire alors le bon "rot_x". Ça évite la latence qui est en effet non souhaitable (je n'avais pas assez bougé la souris pour le voir ).

Cette solution me semble corriger la latence et peut-être aussi le souci que tu as ?
http://pasteall.org/blend/index.php?id=52568

Contribution le : 07/11/2019 09:38
_________________
Venez tester notre projet de Blender clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
Hier soir, il m'est venu une idée, j'ai bien vite été voir et tester avant d'aller dormir, et j'ai pu trouver une solution.

La tienne tien la route et la mienne est une autre possibilité qui fonctionne aussi.

Le lien.

Donc, j'ai dû rajouter la condition "if" de mon post précédent aussi sur le script "text.001", car si on bloque d'un côté, on doit aussi bloquer de l'autre, puisque le script s'active au moindre mouvement de souris.

Dans mon projet, j'envoie un "message" donc du coup, c'est plus cohérent.

Ensuite, j'ai remarqué que "totalDelta" pouvait être retiré, à condition d'incrémenter la variable "rot" avec delta[0] (de mouse). Une fois la limite atteinte, ton astuce min-max est plus logique à comprendre...

De mon côté, j'ai donc aussi ce qu'il me faut,je dois par contre voir comment ne pas empiéter sur l'axe haut-bas, puisque on réassigne celui-ci via gauche-droite (avec worldOrientation). Tout est nickel, 'plus qu'à appliquer ça sur mon projet !

En tout cas, merci pour avoir pris du temps pour résoudre mon problème.

Contribution le : 07/11/2019 13:28
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2659
Oui, il y a pas qu'une seule solution qui marche.

Après, j'ai une connaissance limitée avec le BGE donc je peux passer à côté de certaines choses. Et puis, tu sais comment fonctionne ton projet derrière.

Ravi d'avoir pu t'aider !

Contribution le : 07/11/2019 14:10
_________________
Venez tester notre projet de Blender clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
Salut,

Bon, j'y arrive pas, j'en ai marre... une semaine que je me fait chier avec ce détail.

Je laisse tomber l'idée de tirer à cheval, je veux juste que mon personnage puisse, à pied, tirer de haut en bas, point barre.

Le problème: on redéfinis "rotcam3.worldOrientation", donc l'axe Z est bloqué, hors moi, je veux juste modifier un seul axe. Comment je peux faire pour mettre à jour l'axe Z avant d'appliquer tout ?

Le but, c'est de pouvoir tourner sur soi-même quand on vise, tout en montant la vue vers le haut ou vers le bas et voir l'animation se synchroniser sur la valeur "rot_arcY".

rotcam3 = scene.objects['rot_cam3']
rot_eul = rotcam3.worldOrientation.to_euler()
rot_eul[1] = rotcam3['startRotation'][1] + math.radians(rotcam3['rot_arcY'] - 80) # definis coordonee z via radian
rotcam3.worldOrientation = rot_eul.to_matrix() # applique le changement et converti en matrice


J'ai pas le niveau pour chipoter avec les vecteurs et tout le tralala...

Contribution le : 13/11/2019 15:08
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
23/02/2006 18:10
De Alpes-Maritimes
Post(s): 2659
Hello,
Ne craque pas, c'est normal d'être perdu.

J'ai peur de ne pas tout bien comprendre. Surtout au niveau des axes, je suis perdu (j'ai l'habitude des axes OpenGL et ceux de Blender sont un peu différents ).

La dernière fois on travaillait avec rot_x, mais là les axes ont changé ?

L'axe Y c'est celui pour tourner sur soi-même ?
L'axe Z c'est pour le tir vers le haut ou le bas ?

Si je comprends bien, tu veux calculer la rotation haut/bas avant la rotation sur soi ?


Je pose une question bête, parce que j'ai pas forcément bien compris. Quand tu fais "rot_eul[1] = ...", ça modifie la rotation sur Y ?
Si c'est ça, ça ne marche pas si tu modifies rot_eul[2] pour Z avant la conversion en matrice ?

Contribution le : 13/11/2019 15:48
_________________
Venez tester notre projet de Blender clan 2.0 + Tchat (en cours de développement) !
Pourquoi ? Retrouver un forum fonctionnel.
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
Non, non, rien n'a changé.

L'axe Y, c'est le tir haut/bas

L'axe Z, c'est pour le tir gauche/droite si on est sur le cheval (que je vais virer).

Quand on est a pieds, le cube joueur est censé faire un "track to" sur un empty, relié à rotcam3, ce qui le fait tourner (cube joueur) sur lui-même. Mais comme on réapplique l'orientation de rotcam3, ça annule et ça donne l'effet que ça bloque.

Mais, bizarrement, ça ne le fait pas si je prends soin de déplacer la souris latéralement de façon stricte alors que c'est censé le faire, même si on décale vers le haut ou le bas.

Contribution le : 13/11/2019 15:59
Créer un fichier PDF de la contribution Imprimer


Re: Programmer un archer à cheval
OverdOzed
Inscrit:
19/03/2016 15:30
De Belgique
Post(s): 1656
/

Contribution le : 13/11/2019 16:43
Créer un fichier PDF de la contribution Imprimer



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




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 Blender : le bon logiciel ?    [1][2] 16 2558 Hier 22:40:05
Rimpotche 
Questions & Réponses impression 3d avec blender et créatily 1 50 Hier 18:41:17
WinZs 
Questions & Réponses Problème de collision dans un player FPS 2 84 Hier 17:44:02
vegetalain 
Hors Sujet !! Quels secteurs exploite l'impression 3D ? 3 81 Hier 15:56:59
Sziuny 
Hors Sujet !! Un poisson clown low poly - 15 mm - Tutoriel - 2.9 3 89 Hier 13:09:07
debutant 
Questions & Réponses Affiner les contours d'un feu 1 405 Hier 13:09:01
Melodicpinpon 
Hors Sujet !! Le petit déjeuner à la Française - série de tutos - 2.9 2 51 Hier 11:15:08
Bibi09 
[WIP] et travaux terminés [terminé] Scène de Pti dej à la Française - EVEE a donf - 2.9 Blender    [1][2][3]...[5] 44 611 27/10 20:44:23
meltingman 
Questions & Réponses Peindre des voxels 3D: Est-ce possible? 0 37 27/10 17:23:30
Melodicpinpon 
Questions & Réponses Disparition de matériaux après système de particule 2 68 27/10 12:43:02
Zarathoustra 
Questions & Réponses Esalier avec ARRAY 4 57 27/10 11:04:28
francerf 
Questions & Réponses [résolu] Modificateur Curve sur une courbe multiple 3 72 27/10 09:29:38
oliviertij 
[WIP] et travaux terminés [WIP] Teeny Tiny - Story    [1][2][3]...[13] 125 10118 27/10 01:53:31
meltingman 
The Blender Clan 'tchat Pour les arboriculteurs 3D 2 152 26/10 21:47:01
iet 
Questions & Réponses [résolu] Placer sa camera sur un HDRI    [1][2] 11 399 26/10 14:38:31
Crocodile_13 
Questions & Réponses [WIP] Problème Rétopo    [1][2] 10 149 26/10 09:53:59
Laorz 
Questions & Réponses Prioriser la visibilité d'un objet ? 2 86 25/10 17:31:26
Rimpotche 
[WIP] et travaux terminés image couteau dans caillou qui saigne 2 85 25/10 07:03:37
Crocodile_13 
[WIP] et travaux terminés [terminé] Chaussures Très Réalistes (.bend disponible) 5 188 24/10 21:23:47
Crocodile_13 
Le coin des geeks gain de fluidité viewport entre ryzen 3900X et 3950X    [1][2][3] 28 1475 24/10 15:45:54
papillon 

Qui est en ligne
185 utilisateur(s) en ligne (dont 112 sur Forums)

Membre(s): 5
Invité(s): 180


JohnnieT53, CathrynQij, EmelyHibba, KendrickDi, MathewGlou, plus...
Nouveaux membres
GinoLongor 29/10/2020
Therese68G 29/10/2020
BMQLila08 29/10/2020
DaleCrooke 29/10/2020
Lieselotte 29/10/2020
KendrickDi 29/10/2020
BrigidaHam 29/10/2020
Gene20I355 29/10/2020
CallieHemp 29/10/2020
Georgianna 29/10/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 9
BUG de Lyon
plus 264 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