« 1 (2)


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2825
Re, bon j'ai passé un peu de temps sur ton problème :)

Il faut savoir que tu t'attaques un problème épineux, les rotations en 3D c'est toujours complex!
Il y a le système euler, et le système quaternions... donner des valeurs absolue et claire en degré est uniquement possible en euler, mais l'inconvénient c'est que ça amène parfois au problème de "gimbal lock" ("mauvaises" rotations), les quaternions en revanche seront toujours fiables, mais ils sont construits avec 4 valeurs (W,X,Y,Z) difficiles à comprendre, donc il faut passer par une conversion d'angle euler>quaternion si tu souhaites leur assigner une valeur en degré "visuelle".
Dans le script, tu assignes une valeur en X, Y, et Z seulement, ce qui n'a pas trop de sens car les quaternions fonctionnant différemment d'euler, tu n'auras pas le résultat escompté.

Passer par la fonction rotate() peut être effectivement une bonne solution car ça permet de laisser les calculs de rotation, conversion d'angles et axes référentiels à Blender. Le problème c'est que tu ne peux pas assigner une valeur de rotation absolue avec, mais une transformation par rotation, ce qui est différent: tu tournes la bone de tel angle par rapport à sa rotation actuelle.

Je vois deux solution possibles:
1) Tu enregistre la valeur de rotation de la bone au départ (pour simplifier on part du principe que ce sera toujours 0 ici), et tu assignes cette valeur au début de l'update, et puis enchainer avec la fonction rotate()

2) Ou tu passes le mode de rotation en Euler et set directement la valeur d'angle pour l'axe que tu souhaites. Attention les valeurs de rotation sont toujours en coordonnées locales, alors que transform.rotate() peut utiliser des coordonnées globales ou locales. L'axe Z globale devient X (0) donc pour cette bone.

Voilà le blend (j'ai passé le mode de rotation en euler et j'ai ajouté une conversion degré-radians pour plus de clarté si on peut dire).

https://pasteall.org/blend/34c70ca0be7d469bad8dcebf4077d265

Contribution le : 24/05 15:49:01
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
22/03/2010 12:13
De Gard du Nord
Post(s): 2612
Ah Lucky ! C'est moi qui suis lucky...
Je viens de tester et ça fait exactement ce que je voulais !
Comment te remercier ? Je vais me chercher une bière, tu en veux une ?
Bon, maintenant que j'ai cette solution, il va falloir que je la multiplie par tous les bones que je veux pivoter ! Plus les shapekeys, mais ça ça va grâce à toi aussi.

Y'a du taf.
Encore merci grandement du temps que tu as passé !!!!!!
Allez, je me replonge dans mon futur addon !

Contribution le : 24/05 16:39:17
_________________
Des soucis, un SOUCI !
Créer un fichier PDF de la contribution Imprimer


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2825
Eh bien content de t'avoir rendu service :)
Juste par curiosité, quel est le but de l'opération?

Contribution le : 24/05 17:15:15
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
22/03/2010 12:13
De Gard du Nord
Post(s): 2612
Quand j'ai essayé d'appliquer ta recette 2, ça n'a pas marché
Je me suis encore cassé la tête pendant un moment. Jusqu'à ce que j'aie l'idée de remplacer rotation_euler par rotation_quaternion et maintenant c'est ok. Pourquoi ????

Contribution le : 24/05 17:44:19
_________________
Des soucis, un SOUCI !
Créer un fichier PDF de la contribution Imprimer


Comment renommer "Key" ? (le chef des shapekeys)
OverdOzed
Inscrit:
22/03/2010 12:13
De Gard du Nord
Post(s): 2612
Bonsoir.

Mon petit problème du jour, même des derniers jours.
J'ai choisi de transformer ce thread en SIP (Script In Progress) à la 'MacBlyver' ! C'est-à dire que je poserai (si j'en ai, héhé, j'espère peu) mes questions en changeant le titre du thread.
Mon script s'étoffe, tout marche bien, même très bien, je ne pensais pas aller aussi loin.
Il va bientôt pouvoir acquérir sa promotion de 'Addon'.
Tout ça grâce à Lucky qui m'a dépanné à chaque tourment. En voici un nouveau :

Comme je disais, tout marche bien , tous mes sliders sont opérationnels et puis je fais des essais et soudainement,
mes curseurs n'ont plus d'effet. Après avoir cherché un certain temps, j'ai localisé le problème.

Mais la doc est bien discrète de ce côté là : Comment avoir accès à ce fameux "Key" (que je n'ai d'ailleurs pas demandé,
c'est Monsieur Blender lui-même qui l'a attribué à mon objet, ou peut-être même à la scène, tout cela est encore un peu mystérieux pour moi)

Voilà donc la cause : Le patron des shapekeys, ce fameux "Key" est renommé chaque fois que je relance mon script en Key.001, Key.002, etc....
et quand mon script l'appelle ('Key'), il n'existe plus...
Je voudrais donc pouvoir l'atteindre par exemple en cherchant un genre de "Key.0*" et s'il existe, le renommer en "Key" (pour être sûr que ça ne merde pas dans le futur Addon).



Encore mille grâces d'avance !

Contribution le : 26/05 17:58:54
Créer un fichier PDF de la contribution Imprimer


Re: Comment renommer "Key" ? (le chef des shapekeys)
OverdOzed
Inscrit:
22/03/2010 12:13
De Gard du Nord
Post(s): 2612
Après quatre jours, j'ai trouvé. Je suis patient et obstiné !
Faut juste tomber sur la bonne page dans les recherches.

Au cas où ça intéresserait un pythonneux :
for kee in bpy.data.shape_keys :
    if kee.name.startswith("Key.0") :
        kee.name = "Key"


Contribution le : 28/05 22:08:47
Créer un fichier PDF de la contribution Imprimer


Re: Comment renommer "Key" ? (le chef des shapekeys)
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2825
Un petit tip qui pourrait t'intéresser, dans la console (shift-F4) de Blender, on peut afficher tous les attributs d'une classe grâce à l'auto-complete. Par exemple si tu tapes "bpy.data.", il affiche tous les attributs de la classe data:



De manière similaire, en python:
for i in dir(bpy.data):
    print(i)

Contribution le : 29/05 11:20:37
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer


Re: Comment renommer "Key" ? (le chef des shapekeys)
OverdOzed
Inscrit:
22/03/2010 12:13
De Gard du Nord
Post(s): 2612
Salut, cky !

Oui, merci beaucoup, j'ai découvert ça... Mais comme je débute de façon empirique, bien que je commence à potasser les cours de python, je patauge encore et je pataugerai un bon bout de temps. Ça me rappelle mes débuts avec Blender Interface 2.49 et juste après quand je commençais à m'y retrouver, paf version 2.50. Génial, mais que d'apprentissage !

Avec ce problème de renommage automatique de Blender, ça m'a retardé pour une connerie. Bon, j'ai progressé sur d'autres fronts. Pas mal me posent encore problème, mais j'aime résoudre.

Oui, le renommage automatique de Blender reste un peu mystérieux. Je charge en Append un modèle objet avec tous ses attributs, shapekeys, bones etc... et Blender me renomme mon "Key", un peu aléatoirement, (parfois pas, parfois .001, parfois .002 ou 3 ou 4, même 7. Alors j'ai déduit que jusqu'à .004, pas la peine de vouloir renommer "Key". Il incrémente jusqu'à .004. ENsuite, à .005, il permet ! Fallait le savoir ! Donc la solution que j'ai montrée dans une réponse précédente n'est pas forcément viable. J'ai bidouillé un truc bâtard qui marche pour être sûr...

Les scripts lancés perdurent tant qu'on ne redémarre pas Blender. Y a-t-il un moyen d'"éteindre"
les scripts qu'on a lancés ?

Contribution le : 29/05 18:43:45
Créer un fichier PDF de la contribution Imprimer


Re: Comment renommer "Key" ? (le chef des shapekeys)
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2825
Ben bonne question, à ma connaissance non pas dans le cas d'un script intégré au blend file. Par contre pour un addon, oui, la fonction unregister() est appelée au moment où on désactive l'addon dans la liste en décochant la case, ce qui a pour effet "d'éteindre" le script comme tu dis :)

Contribution le : 29/05 19:06:29
_________________
lucky
www.lucky3d.fr
Auto-Rig Pro Addon: Blender Market - GumRoad
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant
« 1 (2)




Enregistrer votre réponse
Compte*
Nom   Mot de passe   Authentification
Message:*



[Recherche avancée]



Sujets récemment répondus
Forums Sujets Réponses Lus Dernières contributions
[WIP] et travaux terminés [WIP] Scène de Pti dej à la Française - EVEE a donf - 2.9 Blender    [1][2] 13 129 Aujourd'hui 01:07:59
meltingman 
[WIP] et travaux terminés [terminé] Moderno 404    [1][2] 13 441 Hier 20:26:41
moonboots 
Questions & Réponses Lissage de face 4 53 Hier 19:43:53
Maxence34 
[WIP] et travaux terminés [terminé] Chaussures Très Réalistes (.bend disponible) 4 88 Hier 18:21:58
meltingman 
Questions & Réponses Modifier les attribue de plusieurs objet en même temps (lumière) 2 35 Hier 18:15:18
meltingman 
Mes premières images sous Blender (débutants) Première réalisation    [1][2] 15 8934 Hier 02:13:26
Talason 
The Blender Clan 'tchat Addon convertisseur d'images en courbes 2 52 22/10 20:29:31
Rimpotche 
The Blender Clan 'tchat Pour les arboriculteurs 3D 1 59 22/10 18:05:18
moonboots 
Hors Sujet !! Faire parler son personnage en 5 minutes - tutoriel Francais - Blender 2.9 4 100 22/10 13:03:28
meltingman 
GIMP Faire un drégradé selon la forme sous gimp 9 79 22/10 12:49:57
Thewada 
Questions & Réponses [résolu] Perte des Vertex lors d'un Separate 7 83 21/10 21:45:05
debutant 
[WIP] et travaux terminés [terminé] Pantin articulé    [1][2] 12 6726 21/10 18:53:51
meltingman 
Questions & Réponses hdri en mode ombrage 1 73 20/10 21:14:15
moonboots 
Hors Sujet !! Une citrouille en 13 clics - Tutoriel - Blender 2.9 2 151 19/10 23:40:15
meltingman 
Hors Sujet !! un banc de dauphin - tutoriel - workflow sculpte > bake - 2.9    [1][2] 12 436 19/10 23:36:41
meltingman 
Questions & Réponses [résolu] Particule réaliste pour un sprite    [1][2] 12 659 19/10 13:39:34
Redstar 
Questions & Réponses Eevee : chevauchements en profondeur 4 180 19/10 11:46:51
meltingman 
Questions & Réponses Dans Blender 2.9, rendre une animation avec seulement la réflexion    [1][2] 16 583 19/10 11:08:45
ludo66 
Questions & Réponses Besoin de vos retours ici sur les changements 2.9    [1][2][3] 20 619 18/10 16:02:23
meltingman 
The Blender Clan 'tchat Moniteur endommagé 2 362 18/10 11:59:42
Rimpotche 

Qui est en ligne
122 utilisateur(s) en ligne (dont 45 sur Forums)

Membre(s): 1
Invité(s): 121


ZMYMargari, plus...
Nouveaux membres
Alfonzo810 24/10/2020
ChandraLyt 24/10/2020
Agustin30X 24/10/2020
FlynnSherr 24/10/2020
VickyCarde 24/10/2020
ShielaD053 24/10/2020
SalliePwq4 24/10/2020
KlaraO7084 24/10/2020
TawannaCri 24/10/2020
GermanNewl 24/10/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Nov 18
Anniversaire de RichDeg
Dec 29
Anniversaire d'ebrain
Jan 9
BUG de Lyon
plus 264 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2020 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445