osc_avec_blender
Différences
Ci-dessous, les différences entre deux révisions de la page.
| Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
| osc_avec_blender [2021/01/25 08:14] – [Les sources d'un exemple] serge | osc_avec_blender [2021/03/04 16:19] (Version actuelle) – [Initialisation dans Blender] serge | ||
|---|---|---|---|
| Ligne 2: | Ligne 2: | ||
| <WRAP center round box 60% centeralign> | <WRAP center round box 60% centeralign> | ||
| - | **[[http:// | + | **[[http:// |
| </ | </ | ||
| + | |||
| + | Ce tuto a été réalise sur Debian 10, avec Blender 2.79b | ||
| =====oscpy===== | =====oscpy===== | ||
| Ligne 12: | Ligne 14: | ||
| Pour envoyer et recevoir sur une même machine, il y aura 2 serveurs, le serveur dans Blender et un serveur dans l' | Pour envoyer et recevoir sur une même machine, il y aura 2 serveurs, le serveur dans Blender et un serveur dans l' | ||
| + | ====Un exemple==== | ||
| + | |||
| + | * **[[https:// | ||
| + | ===Lancement du BGE et du script externe=== | ||
| + | Dans le dossier du projet, ouvrir un terminal: | ||
| + | python3 external_script.py | ||
| + | |||
| + | Dans un autre terminal: | ||
| + | blender blender_osc.blend | ||
| + | puis [P]\\ | ||
| + | ou | ||
| + | blenderplayer blender_osc.blend | ||
| + | |||
| + | Si un script plante, les threads OSC peuvent continuer à tourner, et vous avez un message qui dit que le port est utilisé! Vous êtes obligés de vous déconnecter et reconnecter. Killer le processus qui continue à tourner oblige à trouver le bon processus et là, ce n'est pas évident. | ||
| + | |||
| + | ===Logic Editor in BGE=== | ||
| + | |||
| + | {{ : | ||
| + | |||
| + | {{ : | ||
| =====Initialisation dans Blender===== | =====Initialisation dans Blender===== | ||
| + | * [[https:// | ||
| <code python> | <code python> | ||
| from bge import logic as gl | from bge import logic as gl | ||
| Ligne 51: | Ligne 74: | ||
| =====Le script en cours dans Blender===== | =====Le script en cours dans Blender===== | ||
| + | * [[https:// | ||
| <code python> | <code python> | ||
| def main(): | def main(): | ||
| Ligne 63: | Ligne 86: | ||
| </ | </ | ||
| - | =====Les sources d'un exemple===== | + | =====Un script externe pour communiquer avec le BGE===== |
| - | | + | * [[https:// |
| + | |||
| + | <code python> | ||
| + | from oscpy.client import OSCClient | ||
| + | from oscpy.server import OSCThreadServer | ||
| + | |||
| + | |||
| + | def on_result(arg): | ||
| + | print(" | ||
| + | |||
| + | server = OSCThreadServer() | ||
| + | server.listen(' | ||
| + | server.bind(b'/ | ||
| + | |||
| + | client = OSCClient(b' | ||
| + | |||
| + | toto = 0 | ||
| + | while 1: | ||
| + | if toto % 2 == 0: | ||
| + | client.send_message(b'/ | ||
| + | else: | ||
| + | client.send_message(b'/ | ||
| + | toto += 1 | ||
| + | </ | ||
| - | {{tag> | + | {{tag> blender |
osc_avec_blender.1611562480.txt.gz · Dernière modification : de serge
