BLENDER TRIBU
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
-38%
Le deal à ne pas rater :
Ecran PC gaming 23,8″ – ACER KG241Y P3bip à 99,99€
99.99 € 159.99 €
Voir le deal

Aller en bas
avatar
DaKoobz

Coordonnées en temps réel d'un objet en mouvement Empty Coordonnées en temps réel d'un objet en mouvement

Mer 6 Nov - 11:54
Bonjour à toutes et tous,

Je recherche à transmettre (à un autre logiciel par nodeosc) en temps réel les coordonnées d'un objet mis en mouvement par un champ de force.
Par exemple un cylindre qui oscille autour d'un champ de force type harmonic.

Pensez-vous que ces données soient accessibles ?
Si oui où/comment ?

Je suis à votre disposition pour affiner ma question si besoin.

D'avance merci
Bien cordialement,
DaKoobz
Blender Moonboots
Blender Moonboots

Coordonnées en temps réel d'un objet en mouvement Empty Re: Coordonnées en temps réel d'un objet en mouvement

Mer 6 Nov - 11:59
Bonjour @DaKoobz, bienvenue sur le forum salut j'espère que quelqu'un saura répondre !

_________________
Ma chaîne de tutos sur Youtube
Redstar
Redstar
Localisation : Belgique

Coordonnées en temps réel d'un objet en mouvement Empty Re: Coordonnées en temps réel d'un objet en mouvement

Mer 6 Nov - 16:28
Bonjour DaKoobz,

Ouh làaa ! transpire

**
copie la question à chat-gpt...
regarde la réponse de chat-gpt...
**

Ouh làaa làaaa ! transpire transpire transpire

Bon... c'est à priori possible... moyennant un peu d'efforts... J'ai fais un copier-coller de ce que chat-gpt me propose. J'espère que tu as des notions de programmation, en espérant que ça te permette d'avancer:


1. Accéder aux coordonnées de l’objet en mouvement

Blender fournit les coordonnées de l'objet en mouvement dans son espace 3D. Les données de position (ainsi que de rotation, de mise à l’échelle, etc.) peuvent être obtenues par le biais du module Python intégré.

Pour un objet animé par un champ de force harmonique (ou tout autre type de champ), Blender calcule sa position à chaque frame. En Python, vous pouvez accéder à ces informations à chaque frame en accédant à l'attribut .location de l'objet :

# Exemple pour accéder à la position de l'objet "MonCylindre"
Code:

import bpy

objet = bpy.data.objects["MonCylindre"]
position = objet.location  # Accès aux coordonnées (x, y, z)

2. Transmettre les coordonnées en temps réel via OSC

Pour transmettre les données, vous pouvez utiliser un script Python qui envoie les informations à chaque frame. Cela est réalisable via un module Python pour OSC, tel que python-osc.
Exemple de code

Installez d'abord le module Python python-osc (si besoin, dans Blender, en utilisant une console Python).

Code:

pip install python-osc

Ensuite, vous pouvez créer un script qui envoie les données de position à chaque frame :

Code:

import bpy
from pythonosc import udp_client

# Configurer le client OSC
osc_ip = "127.0.0.1"  # Adresse IP de destination
osc_port = 8000       # Port de destination
client = udp_client.SimpleUDPClient(osc_ip, osc_port)

# Fonction pour envoyer les coordonnées
def envoyer_coordonnees(scene):
    objet = bpy.data.objects["MonCylindre"]
    position = objet.location
    client.send_message("/position", [position.x, position.y, position.z])

# Lancer l'envoi des coordonnées à chaque frame
bpy.app.handlers.frame_change_post.append(envoyer_coordonnees)

Explications du code

   Client OSC : udp_client.SimpleUDPClient(osc_ip, osc_port) configure le client pour envoyer les messages OSC vers l’IP et le port spécifiés.
   Fonction d’envoi : envoyer_coordonnees() récupère les coordonnées de l'objet et les envoie via OSC.
   Handler de frame : bpy.app.handlers.frame_change_post.append(envoyer_coordonnees) ajoute la fonction d’envoi à chaque changement de frame, permettant l’envoi des coordonnées en temps réel.

Points importants

   Fréquence d'envoi : Assurez-vous que le logiciel destinataire peut traiter les messages à chaque frame sans ralentissement. Vous pouvez ajuster la fréquence si nécessaire en envoyant, par exemple, toutes les 5 frames.
   Optimisation : Si la simulation est complexe, il peut être utile d'optimiser le script pour n'envoyer que les informations nécessaires.

Avec ce système, vous devriez pouvoir transmettre en temps réel les coordonnées du cylindre oscillant autour de votre champ de force à un autre logiciel via OSC.
Contenu sponsorisé

Coordonnées en temps réel d'un objet en mouvement Empty Re: Coordonnées en temps réel d'un objet en mouvement

Revenir en haut
Permission de ce forum:
Vous ne pouvez pas répondre aux sujets dans ce forum