« 1 (2)


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 2819
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): 2375
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): 2819
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): 2375
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): 2375
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): 2375
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): 2819
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): 2375
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): 2819
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
Le coin des geeks pc bas prix    [1][2] 12 91 Aujourd'hui 01:18:38
Sphere3d 
[WIP] et travaux terminés [terminé] court métrage 2020 8 154 Hier 18:44:19
flahaut 
Questions & Réponses épaisseur sur une texture 6 57 Hier 15:28:27
moonboots 
Questions & Réponses [résolu] Affichage de la grille du plan et des axes 2 46 Hier 14:27:44
gedru 
Questions & Réponses [résolu] Blender 2.80 ne démarre pas 7 1057 Hier 09:42:16
geo160 
Moteur de jeu GameBlender et alternatives [WIP] DeadSigns FPS horreur - Première version disponible !    [1][2][3]...[56] 559 93197 06/07 17:08:42
Bibi09 
Moteur de jeu GameBlender et alternatives hARMful engine    [1][2][3]...[9] 80 9007 06/07 16:58:20
Bibi09 
Questions & Réponses Knife tool a arrêté de fonctionner 1 54 06/07 16:29:51
Rimpotche 
Hors Sujet !! Système solaire open source 5 1534 26/12/2019 12:46
Bibi09 
Questions & Réponses [non résolu] Ecran bleu 2 90 05/07 18:35:32
alexmge 
Questions & Réponses [non résolu] va et vient entre sculpt et layout impossible    [1][2] 11 212 05/07 09:56:50
manondup 
Le coin des geeks carte graphique Intel(R) HD Graphics et OpenGL    [1][2][3] 24 925 04/07 22:47:15
Bibi09 
Questions & Réponses shader 5 177 04/07 20:23:23
Rimpotche 
[WIP] et travaux terminés Le Tigre 4 261 04/07 11:19:09
lastrodamo 
Questions & Réponses [non résolu] le Rendu de preview et le rendu final ne sonts pas pareils 2 139 03/07 23:18:27
Pinguinax 
Questions & Réponses [non résolu] Particules system dynamique 0 83 03/07 13:27:09
Ramar 
[WIP] et travaux terminés bas sculpture corps    [1][2] 18 405 01/07 18:57:21
prometheusx 
[WIP] et travaux terminés Générateur d'oreille - Beta testeurs bienvenus 8 525 30/06 10:28:08
Rimpotche 
Le coin des geeks Vieilles cartes graphiques : Quadro FX5800 ou Quadro 4000 ? 3 246 30/06 07:48:42
Poutrator 
Questions & Réponses Changement de caméra 2 237 28/06 19:10:40
prometheusx 

Qui est en ligne
147 utilisateur(s) en ligne (dont 123 sur Forums)

Membre(s): 0
Invité(s): 147


plus...
Nouveaux membres
AntoineDea 8/7/2020
Elisa52B08 8/7/2020
JeffreyBai 8/7/2020
DwainPope 8/7/2020
StaciaCair 7/7/2020
FredrickCa 7/7/2020
singinzerin 6/7/2020
Dartank 5/7/2020
manondup 3/7/2020
Ramar 3/7/2020
Dernier Ajout
mirages-preview~0.jpg

Evènements à venir
Jui 11
BUG de Lyon
Jui 23
Anniv du BlenderClan !
Aou 7
anniversaire Cem47
plus 269 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