whiteCat et Blender 2.5

ou poser patchs VVVV, documents, bibliothèques, configurations midi, liens vers d'autres logiciels etc...

Modérateur: christoph

whiteCat et Blender 2.5

Messagepar skuax » 11 Sep 2011, 09:45

Travaillant actuellement sur un projet pour LYON LUMIÈRE 2011 (incluant white cat et le logiciel 3D opensource blender 2.5)

le projet:
http://www.groupe-laps.org/spip.php?rub ... d_groupe=2

blender:
http://www.blender.org/

pour le moment Blender est utilisé pour conceptualiser l'installation
et la visualiser.
il est bien sure possible d'envoyer des messages depuis blender vers whitecat.
mais ce n'est pas encore nécessaire.
pour les gens intéressés par la communication entre whiteCat et blender
vous trouverez ci joint le fichier blender incluant le script python de connexion (commenté en anglais par mes soins)
il utilise une librairie python appelée "socket" incluse dans blender pour gérer les communications.
Bien sure il faut connaitre le logiciel pour en faire quelque chose.
ce fichier ne fait que recevoir les programmations de l'outil Grid de white cat et il les range proprement dans
des données accessible à blender.

Amis Lumineux je vous laisse imaginer le genre de possibilités qu'offre la combinaison entre un logiciel 3D et une console lumière.

ps: merci à Christophe qui suit ce projet pour l'explication de la composition du paquet UDP envoyé.

Skuax
Fichiers joints
receiveUDP.zip
le fichier blender 2.5
(59.62 Kio) Téléchargé 105 fois
skuax
 
Messages: 3
Inscription: 11 Sep 2011, 08:34

Re: whiteCat et Blender 2.5

Messagepar admin » 11 Sep 2011, 10:45

merci skuax.
GRID est développé pour les besoins de ce projet. Le serveur UDP recoit une trame art-net, qu'elle soit issue de grid, du séquenciel, etc etc...
Pour l'instant les identifiants art-net ne sont pas filtrés dans le script python, faudra que l'on voit celà avec skuax pour le projet ( le midi va circuler sur le reseau donc il faut filtrer)

Skuax, il faut rajouter cette condition pour que les valeurs soient lues:

la definition d un header art net:

const char ArtNetHead[8] = {65, 114, 116, 45, 78, 101, 116, 0};



if( artnet_message[0]==ArtNetHead[0] && artnet_message[1]==ArtNetHead[1] && artnet_message[2]==ArtNetHead[2] && artnet_message[3]==ArtNetHead[3]
&& artnet_message[4]==ArtNetHead[4] && artnet_message[5]==ArtNetHead[5] && artnet_message[6]==ArtNetHead[6] && artnet_message[7]==ArtNetHead[7] )
{
// ici tu affectes ton data aux variables
}


donc ca va te donner un
if(msg[0]==65 && msg[1]==114 etc etc )
oulalalalalala....
Avatar de l’utilisateur
admin
Site Admin
 
Messages: 1947
Inscription: 21 Aoû 2008, 15:01
Localisation: France (78 / 27)

Re: whiteCat et Blender 2.5

Messagepar skuax » 11 Sep 2011, 13:36

question ou suggestion.

le midi est il obligé de passer par le même port udp.
si la réponse est non.
quel est le besoin de filtrer à partir du header.

skuax
skuax
 
Messages: 3
Inscription: 11 Sep 2011, 08:34

Re: whiteCat et Blender 2.5

Messagepar admin » 11 Sep 2011, 13:43

plus que pertinent. non il ne passera pas par le même port, tu as raison.

Mais il vaut mieux avoir un protocole sain en entrée de Blender et checker que c'est bien une trame artnet, plus sécu.
oulalalalalala....
Avatar de l’utilisateur
admin
Site Admin
 
Messages: 1947
Inscription: 21 Aoû 2008, 15:01
Localisation: France (78 / 27)

Re: whiteCat et Blender 2.5

Messagepar skuax » 11 Sep 2011, 14:45

nous sommes bien d'accord que nous créons ici une fonction qui permet de faire un dictionnaire avec les valeurs de définition du header art_net?

const char ArtNetHead[8] = {65, 114, 116, 45, 78, 101, 116, 0};

la suite du script est du c ? ou bien c'est que tu écris "and"(python)en "&&"(c) ? là ou tu as commenté entre les { } faut que j'affecte quelquechose ou c'etait juste un descriptif de l'identifiant Art-Net?

if( artnet_message[0]==ArtNetHead[0] && artnet_message[1]==ArtNetHead[1] && artnet_message[2]==ArtNetHead[2] && artnet_message[3]==ArtNetHead[3]
&& artnet_message[4]==ArtNetHead[4] && artnet_message[5]==ArtNetHead[5] && artnet_message[6]==ArtNetHead[6] && artnet_message[7]==ArtNetHead[7] )
{
// ici tu affectes ton data aux variables
}

la condition """ if(msg[0]==65 and msg[1]==114 etc etc ) lit les huit premières valeures du paquet Art-Net. Question: qu'est ce qu'il y a dans les dix suivants?

Skuax
skuax
 
Messages: 3
Inscription: 11 Sep 2011, 08:34

Re: whiteCat et Blender 2.5

Messagepar admin » 13 Sep 2011, 08:14

hello skuax.

tu m écrivais:


msg = (GameLogic.socket.recv(530))
ArtNetID = [65, 114, 116, 45, 78, 101, 116, 0]
n = 0
header = []

try:
while n < 8:
header.insert(n, msg)
n = n+1
msg = msg+1

if header = ArtNetID

x = 18
while x < 530:
val = 0.1
y = x-18
val = msg[x] / 255
Channel.insert(y, val)
x = x+1

except socket.error:
pass

dans l idée oui. je te mets ici en zip un fichier c++ + le protocole artnet.

Il y a besoin de filtrer un peu plus, je t ai donc mis le code de decryptage de l opcode ( operator code) qui ermet de définir le type de message dans le protocole.

ca te renseignera sur les autres 10 bytes, dont certains prennent une info qui est répartie sur deux bytes, un LOW un HIGH
Fichiers joints
richard_artnet.zip
(589.78 Kio) Téléchargé 104 fois
oulalalalalala....
Avatar de l’utilisateur
admin
Site Admin
 
Messages: 1947
Inscription: 21 Aoû 2008, 15:01
Localisation: France (78 / 27)


Retourner vers Ressources / Boite à outils

Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité

cron