Table des matières
Communication entre Pure-data et Blender en OSC
Cet exemple réalise le déplacement du Cube sur l'axe X, à l'aide des sliders dans Pure Data, avec un retour dans Pure Data de la position dans un slider.
Download
- python 2.6 et blender 2.49b OSC py2.6 Blender2.49 pd XY.zip
- python 3 et blender 2.5 OSC py3 Blender2.5 pd XY.zip
Sur ce fichier, Blender pulse à 60 Hz, il y a de la latence si vous faites bouger les curseurs vite et longtemps (3 s).
Description
La structure du dossier
Une vue de Blender 2.57
OSC.py
Choisissez la version python 2.6 ou python 3.x: pyosc sur gitorious.org
- La méthode decodeOSC() sert à décoder le message à la réception dans Blender.
- Les méthodes OSCClient() OSCMessage() setAddress() append() sendto() servent à envoyer un message depuis Blender.
Pure Data
Problème de latence
Des fichiers pour tester
Mise en évidence de la latence due au Buffer UDP
Le script de reception utilise toutes les données reçues ce qui crée une latence très longue, le cube bouge encore longtemps dans Blender alors que pd n'envoie plus rien:
Remisse à 0 du Buffer à chaque frame de Blender
Le script de reception vide le buffer et imprime dans le terminal les valeurs du “trash” inutilisées et détruites:
Pour f = 0 (60 Hz), il y a peu de trash, pour f = 1 (30hz) il y a beaucoup de trash, l'action est un peu hachée mais ne se décale pas dans le temps.
Résoudre cette latence
Des explications et des solutions en détails.