Connexion
Menu Principal
Recherche
Menu secondaire
Image Aléatoire
130210-2.jpg
Publicité
Formation Blender ElephormBlender 3d Elephorm


     




« 1 (2) 3 »


Re: Système de rechargement
OverdOzed
Inscrit:
24/07/2008 01:45
De Paris
Post(s): 3447
Bon, allez, je t'aide. Mais attention ! Je ne suis pas là pour travailler à ta place. Lis attentivement mes explications afin de bien comprendre les techniques et d'ainsi pouvoir les réutiliser dans d'autres circonstances.
Théoriquement, à la fin du tuto, tu devrais obtenir ceci pour les LogicBricks de Plane.001 :

Je vais commencer par t'expliquer du mieux que je peux ce que tu vois ci-dessus. Non que les explications de Granarc ne sont pas bien, mais qu'il est toujours plus aisé de comprendre quelque chose quand on nous l'explique de deux façons différentes.
Dans la première ligne, on a un sensor Always relié à un controller AND relié lui-même à un actuator Visibility que l'on peut schématiser comme ceci :
+--------+     +-----+     +------------------------+
| Always +-----+ AND +-----+ Visibility : Invisible |
+--------+     +-----+     +------------------------+

Commençons par les définitions :
1)Sensor : C'est une condition qui renvoie pour toute réponse Vrai (1) ou Faux (0).
2)Controller : C'est une logicbrick permettant l'interraction entre les sensors et les actuators. Il existe à ce jour (dans la version 2.48) 8 types de controllers (ce sont les fonctions logiques) :
- AND, 'et' (par défaut) : "Si tous les sensors qui lui sont reliés retournent Vrai, alors exécution des actuators qui lui sont reliés".
- OR, 'ou' : "Si un ou plusieurs sensors qui lui sont reliés retournent la valeur Vrai, alors exécution des actuators qui lui sont reliés".
- XOR, 'ou exclusif' : "Si et seulement si un seul sensors qui lui sont reliés retournent la valeur Vrai, alors exécution des actuators qui lui sont reliés".
- NAND, 'non et' : "Si tous les sensors qui lui sont reliés retournent Vrai, alors pas d'exécution des actuators qui lui sont reliés".
- NOR, 'non ou' : "Si un ou plusieurs sensors qui lui sont reliés retournent la valeur Vrai, alors pas d'exécution des actuators qui lui sont reliés".
- XNOR, 'non ou exclusif' : "Si et seulement si un seul sensors qui lui sont reliés retournent la valeur Vrai, alors pas d'exécution des actuators qui lui sont reliés".
- Expression : Heu...je sais pas en fait...peut être une expression régulière...nan en fait c'est complètement absurde, oublit...désolé, mais je l'utilise jamais moi, aussi !
- Python : permet d'utiliser un script Python pour gérer la réception des sensors et l'exécution des actuators.
3)Actuator : permet d'agir en modifiant le jeu en temps réel (déplacements, rotations, gestion de caméras, gestion des scènes, gestion du son, modification des variables (properties)...).Les actuators sont déclenchés par les controllers.
Dans l'onglet GameLogic, les sensors sont à gauche, les controllers au milieu et les actuators à droite.
Pour en revenir à notre première ligne : nous avions un sensor Always. Le sensor Always est le plus simple à comprendre : il retourne en permanace Vrai !
Ensuite, nous avions un controller AND, suivit d'un actuator Visibility. Cet actuator permet de définir si un objet est visible ou invisible. Ici, Plane.001 est invisible.
Notre première ligne signifie donc :
En permanance, Plane.001 est invisible

Nous avons à la ligne suivante :
+--------------------+     +-----+     +---------------------------------+
| Mouse : LeftButton +-----+ AND +--+--+ EditObject : AddObject Cube.001 |
+--------------------+     +-----+  |  +---------------------------------+
                                    |
                                    |  +----------------------------+
                                    +--+ Property : Add Munitions 1 |
                                       +----------------------------+

Le sensor Mouse : LeftButton retourne Vrai tant que le bouton gauche de la souris est enfoncé.
L'actuator Edit Object : AddObject crée un nouvel objet à partir de l'objet passé en paramètre (ici Cube.001).
L'actuator Property : Add ajoute à la variable passée en paramètre (ici Munitions) la valeur passée en paramètre (ici 1).
Avec tout ça, tu peux normalement trouver la signification de cette ligne.
Cherche un peu tout seul...
...
...
...
...
...
Cherche...
...
...
...
...
...
Encore un peu...
...
...
...
...
...
Bon voici la ligne de LogicBricks traduite en français (presque) correct :
Si le bouton gauche de la souris est enfoncé, ajouter un objet à l'image de Cube.001 et ajouter 1 à la valeur de Munitions

En gros, à chaque fois que tu appuies sur le bouton de ta souris, tu tires et Munition augment de 1.
Et la dernière partie :
+----------------------------------------------------+     +-----+     +-------------------------------+
| Property 'Recharge' entre 2 et 10000... (beaucoup) +--+--+ AND +--+--+ Property : Assign Recharge->0 |
+----------------------------------------------------+  |  +-----+  |  +-------------------------------+
                                                        |           |
+-------------------------------+                       |           |  +--------------------------------+
| Property 'Munitions' égal à 5 +-----------------------+           +--+ Property : Assign Munitions->0 |
+-------------------------------+                                      +--------------------------------+

Le sensor Property : Interval retourne Vrai lorsque la valeur de la variable passée en paramètre (ici Recharge) est dans l'interval définit par Min et Max.
Le sensor Property : Equal retourne Vrai lorsque la valeur de la variable passée en paramètre (ici Munitions) est égale à Value.
L'actuator Property : Assign donne à la variable passée en paramètre la valeur de Value.
Cette dernière ligne de LogicBricks signifie donc :
Si Recharge est entre 2 et beaucoup ET Munitions égal à 5, Recharge = 0 et Munitions = 0

C'est-à-dire, lorsque tu as tiré 5 fois et que 2 secondes sont passées depuis le dernier rechargement, alors le nombre de munitions tirées revient à 0 et le temps depuis le dernier rechargement également.
Maintenant que j'ai éclaircit le résultat du tutoriel, nous allons passé à l'étape suivante : modification à notre sauce pour obtenir notre propre jeu personnalisé.
Tu veux donc que l'on doive recharger manuellement en appuyant sur R toutes les quinze munitions tirées.
Nous allons commencer par le plus simple : augmenter le nombre de munitions. Il suffit pour cela d'augmenter la valeur du dernier sensor (Property 'Munitions' égal à 15) mais je crois que ça, tu l'avais déjà trouvé.
Ensuite, nous allons remplacer le déclenchement du rechargement par le temps par un déclenchement au clavier. Nous allons pour cela remplacer le sensor Property 'Recharge' entre 2 et beaucoup par un sensor de type keyboard. Clique sur la case à droite de key puis appuis sur R. Tu dois obtenir ceci :

Ainsi, quand tu appuyeras sur R, ce sensor retournera Vrai, tout comme lorsque le compteur était supérieur à 2.
Tu peux maintenant supprimer la remise à zéro du compteur (actuator Property : Assign 'Recharge'->0), ainsi que la variable Recharge.
Tu obtiens alors quelqe chose comme ça :


J'ai fait exprès de laisser un bug : on peut tirer plus de 15 coups sans recharger !
A toi de corriger l'erreur
Merci d'avoir pris la peine de lire mon super long message que j'ai mis super du temps (ouais ! c'est français) à écrire. (Sauf si t'as lu que la fin )

Contribution le : 31/05/2009 01:36
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Blendie
Inscrit:
07/05/2009 16:49
Post(s): 34
Merci j'essaie de suite et vous communique si je réussi la suite.

Contribution le : 31/05/2009 11:36
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Blendie
Inscrit:
07/05/2009 16:49
Post(s): 34
Bon,
en partant sur ton principe je veus faire un phrase de se type :

''Si Munitions=15, alors clic gauche (pour tirer) ne fait plus rien.''

''Si Munitions=15, alors un appuis sur R fait Munitions=0.''

Pour l'instant je n'aboutit a rien. Mais est-ce que je pars dans la bonne direction ?

Contribution le : 31/05/2009 12:04
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Blendie
Inscrit:
07/05/2009 16:49
Post(s): 34
Bon bas je n'aboutit a rien de plus car a mon avis le problème viens du fait que un actuator ne peut pas affecter une valeur fausse a une touche (ici le cilc gauche).

Moi se que je pense devoir faire c'est :
-Tant que munitions<15 alors clic gauche envoie une pulse.
-Si munitions=15 alors clic gauche n'envoie plus de pulse.

Mais le problème c'est que je ne parviens pas a controller les pulses.

PS : Peut-être que j'ai tout faut et qu'il ne faut absolument pas faire comme sa, auquel cas je vous serais gré de me remettre dans le droit chemin (pour ainsi dire).

Contribution le : 31/05/2009 12:37
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Blendie
Inscrit:
07/05/2009 16:49
Post(s): 34
C'est bon ne vous tracassez plus j'ai trouvé !!!!!

J'explique ma démarche car sa pourra peut-être servir pour d'autres :

-Le problème a résoudre était que quand on a tiré 15 munitions, si on continue de cliquer sa ne tire plus.
-J'ai donc tout simplement (mais fallait quand même le trouver) relié mon sensor clic gauche a un controller 'ET' et relié ledit controller a l'actuator 'Edit Objet' pour le tir. Jusque la tout est normal.
-Ensuite il fallait simplement ajouter un sensor de type propriété en mode 'Not equal', auquel on met le nom de la propriété 'Munitions' et une valeur de 15.

Sa nous donne donc ceci :

'Si on clique gauche et que le nombre de munitions tirées n'est pas égal a 15, alors sa tire une munition.'

Donc forcément quand on arrive a 15 clic (soit 15 munitions tirées), sa ne tire plus quand on clique car notre nombre de munitions devient égal a 15.

Et pour finir il suffit d'ajouter une phrase du type :
'Si on appuie sur R alors on remet le nombre de munitions a 0'.

Encore merci a tous pour votre aide et j'espère que sa pourra en aider d'autres.

PS : Comment on met un post en résolu

Contribution le : 31/05/2009 14:12
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
OverdOzed
Inscrit:
24/07/2008 01:45
De Paris
Post(s): 3447
Mes félicitations ! Tu as saisis le principe. Maintenant, tu peux essayer de faire plein de choses.
Mais attention, tu disais plus haut :
Citation :
Si Munitions=15, alors un appuis sur R fait Munitions=0.

Il faudrait plutôt dire "Si 'Munitions'=15 ET appuis sur R, alors 'Munitions'=0."
En fait, c'est : Si [sensor1(ici, 'Munitions'=15)] [controller(ici, ET)] [sensor2(ici, appuis sur R)], alors [actuator1(ici, 'Munitions'=0)] et [actuator2(ici, il n'y en a pas...)]
Tu peux bien sûr mettre plus de sensor et d'actuators.
Pour indiquer que ton problème est résolut, regarde l'article 6 de la Charte du forum. (Là, je l'ai fait, mais comme ça, tu sauras pour la prochaine fois !)

[EDIT]
Edite tes messages au lieu de multiposter, c'est très désagréable. Au besoin, indique une nouvelle heure à chaque fois. Quand c'est pas le même jour, passe encore, mais là, à 1h d'interval...
[/EDIT]

Contribution le : 01/06/2009 01:38
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Fou Furieux du Clan
Inscrit:
29/12/2008 21:51
Post(s): 157
Moi, çà ne marche pas, je peux tirer à l'infini, peux tu mettre une image de ce que c'est sencé donné. Merci.

Contribution le : 01/06/2009 12:12
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
OverdOzed
Inscrit:
24/07/2008 01:45
De Paris
Post(s): 3447
Pfrrr, je t'ai pas assez mâché le boulot ou quoi
Ce que je te propose, c'est que c'est toi qui met une screen de ce que tu obtient et nous, on corrige

Contribution le : 02/06/2009 19:39
_________________
Tuto MaPZone
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Clan Afficionado
Inscrit:
01/12/2010 11:34
Post(s): 48
Coucou. Perso j'ai éssayé sa méthode et sa marche très bien. Je pense que tu as remplacé le système de tire et non le système de rechargement. Essaye de remédier cela et sa devrait sûrement marcher.

Contribution le : 27/02/2011 16:59
Créer un fichier PDF de la contribution Imprimer


Re: Système de rechargement
Clan Afficionado
Inscrit:
01/12/2010 11:34
Post(s): 48
J'ai essayé sa méthode et elle marche très bien. Je pense que tu as du le remplacer par le système de tir et non par le système de rechargement.

Contribution le : 27/02/2011 17:05
Créer un fichier PDF de la contribution Imprimer



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




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 Ne pas voir une partie d'un objet lors du rendu 4 34 Aujourd'hui 01:03:48
Rimpotche 
Questions & Réponses Blender 2.8 et Unity 1 25 Hier 23:31:54
Rimpotche 
[WIP] et travaux terminés [WIP] Bataille Navale // Animation 3d 8 190 Hier 22:56:16
Guppy88 
Questions & Réponses [résolu] Rendu avec eevee, scène toujours lumineuse même sans lights. 2 61 12/10 22:17:48
Obaemon 
Questions & Réponses [non résolu] renderman Blender problème de connexion 2 112 12/10 19:18:54
tokoji 
Python & Plugins Comparaisons d'un ensemble de valeurs 9 167 11/10 19:11:57
DaWaaaaghBabal 
[WIP] et travaux terminés [WIP] Nécromancienne sur sanglier    [1][2][3]...[6] 55 14020 10/10 18:45:51
Gilead_Maerlyn 
Moteur de jeu GameBlender et alternatives BGE - son 3D, cône inner angle 1 146 10/10 15:35:54
Redstar 
Questions & Réponses Enlever les wireframes en object mode 1 96 10/10 02:29:52
Rimpotche 
Questions & Réponses [non résolu] Problème de normal baking 0 80 09/10 15:41:29
Irreel 
Questions & Réponses carte graphique pour cycles 1 206 09/10 14:50:50
Sphere3d 
Questions & Réponses [résolu] MIDI to Blender 9 547 08/10 20:41:37
docouatzat 
Questions & Réponses Problème Compositing 2 140 06/10 23:44:45
Rimpotche 
Questions & Réponses Surface a partir de 2 courbes fermées de beziers non coplanaires 9 190 06/10 22:58:28
ewok2 
Questions & Réponses [résolu] Blender 2.8 : Layout/Modelling 2 118 06/10 20:02:53
blendinfos 
Questions & Réponses [résolu] blender 2.8 et 2.79 ensemble 3 122 06/10 15:54:46
sapajou 
Questions & Réponses [résolu] Blender 2.8 : Inset faces/Bevel bug ? 2 99 06/10 15:06:24
blendinfos 
Questions & Réponses Problème de rendu sur une animation de fumée 1 105 06/10 15:01:01
Rimpotche 
Questions & Réponses [résolu] Blender 2.8 : item "Filter Addon" 3 116 06/10 13:24:28
blendinfos 
Questions & Réponses export textures avec .obj 0 99 05/10 22:11:09
Gildas 

Qui est en ligne
59 utilisateur(s) en ligne (dont 31 sur Forums)

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


CynthiaRoy, plus...
Nouveaux membres
KerstinBya 14/10/2019
MosesFeint 14/10/2019
GavinF2374 14/10/2019
FloreneBan 14/10/2019
ReynaSimch 14/10/2019
JZADaryl3 14/10/2019
EulaliaL15 13/10/2019
CynthiaRoy 13/10/2019
SheriKings 13/10/2019
GaleGodine 13/10/2019
Dernier Ajout
Forky-3D-ToyStory BC.png

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 11
BUG de Lyon
plus 278 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2019 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445