Entre Max et Blender

Comment connecter Max et Blender ?

Il est bon de rappeler dans un premier temps que Max n'a pas d'objet permettant de connecter directement Blender et celui-ci. Blender non plus ne dispose pas de ce genre de fonctionnalité de base. Il va donc falloir passer par l'installation d'un addon tierce sur Blender, appelé "NodeOSC". L'environnement de développement Python sur lequel est développé Blender va lui permettre une grande variété de possibilité, autant au niveau connectique possible qu'avec sa grande possibilité de modularisation. node osc fonctionne sur un server Python qui va communiquer en protocole OSC avec Max.

Si le server Py OSC ne reçois pas les informations de Max essayez d'éteindre et de rallumer le server.

Premièrement, où trouver Node OSC ? et comment l'installer :

Rendez-vous sur : cf Auteur Github afin de pouvoir télécharger l'extension Blender

  • Si vous rencontrez des difficultés, vous trouverez ici un tuto qui détail la démarche à suivre afin de l'installer cf Tutoriel explicatif

Transmission de Max vers Blender

1 - Présentation de la fenêtre Node OSC

Sur Blender cet addon va se manifester sous la forme d’une fenêtre.
1,75
Cette fenêtre va être divisé en 3 partie, une partie NodeOSC Server, une partie custom message et Node messages. Cet fenêtre s'apparente l'onglet Objet ou Caméra qui sont similaire et affiches des données générale utile pour manipuler la scéne de votre modélisation 3D.

2 - NodeOSC Server

La fenêtre « NodeOSC server » est une fenêtre qui contient diverses informations, dont certaines sont capitales pour le bon fonctionnement de l’addon. Premièrement start et ensuite In et Out. 2
Start est comme sous-entendu le bouton pour lancer le server sur lequel Max et Blender vont communiquer, ensuite In et l’adresse à laquelle Blender va écouté et va donc recevoir des informations. Dans Out l’adresse à laquelle Blender va envoyer des information.

3 - Adresse Locale et Renseignement du Port de Communication Blender.

127.0.0.1 est l’adresse locale de chaque ordinateur et va donc permettre à des logiciels de communiquer en local dans la machine.
5
Il faut aussi chosir un port.
Assurez vous que le port du logiciel avec lequel vous voulez communiquer et que Blender communique bien sur le même port d’entrée ainsi que de sortie selon ce que vous désirez faire.

Nous avons ensuite « Input Rate» et « Output Rate » ils sont tous deux des observateurs de données et régulent le temps auquel Blender doit rafraîchir sa réception de données et sa production de données.

Si les filtres sont activés, Blender fera en sorte soit de ne pas répéter le même message soit de ne pas réceptionner le même message.

« Start at Launch » lance le server python au démarrage de Blender. 3
Parfois cette fonctionnalité peut entraîner le dysfonctionnement du server Python, si c'est le cas redémarrer celui-ci.

4 - Custom Messages.

  • Custom Messages fonctionne en deux temps :
    • Premièrement choisissez une valeur de Blender que vous souhaitez rattacher à un nœud. Cette valeur peut être : Une position, le nombre de frames, la rotation, la valeur d’une shape key.4
    • Dans un second temps voyez le nouveau message que vous venez de créer dans « custom message ». l’adresses représente la dénomination de la chose que vous voulez modifier avec le pont OSC.

Vous pouvez aussi voir que l’export et l’import en fichier JSON est possible si vous voulez sauvegardez la customisation que vous avez effectuée sur message OSC que vous avez créé, ainsi vous pourrez les exporter sur d’autres machines.

Node Messages est plus spécial et optionnel.6
Effectivement cet élément n’est utilisable à son plein potentiel uniquement quand il est additionné à animation nodes, une autre extension disponible sur Blender 4.1 et qui crée des nœud d’animation.

Communication de Max vers Blender coté Max

Max communique avec Blender via l'intermédiaire de l'objet udpreceiveµ. Cet objet racroché à une adresse ip locale sera la clé de voûte de la communication entre les deux logiciels. Les informations qui peuvent transiter par ces communications peuvent tout autant être d'ordre du slider que du bouton que de l'information complexe comme avec Scale par exemple. Cependant le protocole OSC est assez modulaire et permet de faire passer bien d'autres informations telles que des textures ou des positions.
La communication se fait généralement sans latence, veillez cependant à utilisez des modèles simple au niveaux des textures ainsi que des polygones si votre ordinateur ne dispose pas de la puissance nécessaire pour de l'animation Blender.

Capture%20d%E2%80%99%C3%A9cran%202024-06-27%20162558
Capture d'écran du Patch Max tutoriel présentant le message objet qui concerne donc un objet Blender, suivi de scale qui va faire réagir la taille du cube. j'ai rajouté X à la fin de l'adresse de l'objet Blender afin de préciser qu'il devait bouger dans la position attribuée à l'axe X de Blender. Il y a 2 autres messages Max/MSP qui contrôlent les axes Y et Z.

Capture%20d'%C3%A9cran%202024-06-27%20162524
Capture d'écran du Patch Max tutoriel présentant l'objet udpsend suivi de l'adresse Ip Locale 127.0.0.1 suivi du port 9001

Tout objet dans Blender ayant une valeur numérique peut théoriquement être contrôlé par Max ou tout autre logiciel de programmation ayant accès à des ponts réseaux.

Exemple de projets utilisant la relation Max et Blender

Mise en application du couple Blender/Max via un projet développé par Bryan Madi de la licence Evman montrant l'application au niveau d'une extension de reconnaissance vocale de powershell permettant à Max via un server Websocket de comprendre une liste de mots prédéfini : cf Projet Text To Speech

Mise en application du couple Blender/Max via un projet du même auteur mettant en place un objet se mouvant dans l'espace grâçe à des capteur de volume sonore, anémomètre, capteur de pression au toucher, ainsi qu'un micro : cf Projet Donuts