Re: Ajout de briques Blender Game

Posté par Oltux le 27/11/2013 12:18:34
Salut Xam,

Merci, ça me motive de voir que mon idée peut interesser. J'ai quelques bases en C++ et je pense pouvoir faire cette modification mais ensuite je dois l'ajouter à la structure du fichier Blend et faire en sorte que le BlenderPlayer sache l'interpreter.
C'est sans doute pour ça que le BGE est un peu laissé à l'ecart : Quand je vois tout le travail à faire simplement pour rajouter une ligne de code !
J'ai esseyé de voir si on pouvais pas creer un script addon pour le BGE (ça semble logique que ce ne soit pas possible pour les mêmes raisons)
En fait, pour faire revivre le BGE il faudrait presque faire un système automatique du genre :
On code une brique et ça l'enregistre directement dans la structure du fichier blend ensuite ça modifie aussi le BPl.
Ainsi, on pourrait même faire des addons/script en Python pour le BGE tout comme on le fait pour le moteur de rendu !
Mais tout seul je vais galérer, il faudrais que j'en parle à quelqu'un qui a déjà mis les mains dans le camboui pour qu'il puisse me conseiller/diriger.

edit :

Citation :
je me demande si ce ne serait pas plus simple de faire des "fausses" logic bricks : tu génères un script Python.

Pas bête, une brique qui genererais du Python permettrais effectivement de ne pas avoir à modifier ni la structure, ni le Bpl.
Je vais y reflechir à ce à quoi pourrait ressembler cette brique.
On aurait par exemple un actuator position avec dedans l'objet à choisir -> copier
l'objet cible -> coller
Déjà ce serait pas mal.
De même pour l'orientation.
Ainsi par exemple, on aurait un empty qui se déplace selon une courbe. On voudrait téléporter un cube sur la courbe mais sans le parenter à l'empty (lui continuerait à bouger).
Enfin... Les exemples sont nombreux.
Un skydome : Ciel : Objet to copy -> player (avec un pulse mode) Et la possibilité de selectionner Xlocal Ylocal Zlocal en desactivant celui qu'on souhaite. Ca peut etre idéal aussi pour aligner un objet avec un autre.

Il existe actuellement deux moyens de téléporter un objet sur un autre :
Remove object and add (mais ça le reinitialise du coup)
Ou un simple motion lancé une seule fois avec les parametres x,y,z entrés manuellement : ce qui veut dire qu'il faut d'abord aller les chercher en Python.
Le top, ce serait de modifier l'actuator motion en fait :
Qu'on puisse mettre en valeur de x par exemple : objet["truc"].position[0] et de meme pour y et z.
Il ressemblerait beaucoup au servo control : On aurait un objet reference mais pas pour sa vélocité : pour sa position. Ensuite 3 boutons x,y et z qu'on peut activer/desactiver.
Ce serait donc un menu deroulant en plus appelé : motion to object. Ou copy motion.

Cette contribution était de : http://blenderclan.tuxfamily.org/html/newbb/viewtopic.php?forum=7&topic_id=40452&post_id=493893