« 1 (2)


Re: Slider sur une shapekey en python.
OverdOzed
Inscrit:
08/10/2003 09:20
De Annecy
Post(s): 3018
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/2020 15:49
_________________
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): 2826
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/2020 16:39
_________________
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): 3018
Eh bien content de t'avoir rendu service :)
Juste par curiosité, quel est le but de l'opération?

Contribution le : 24/05/2020 17: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): 2826
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/2020 17:44
_________________
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): 2826
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/2020 17:58
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): 2826
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/2020 22:08
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): 3018
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/2020 11:20
_________________
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): 2826
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/2020 18:43
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): 3018
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/2020 19:06
_________________
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
Python & Plugins Vegetation addon - tree, animation et plus ! 7 1627 Hier 23:26:14
ferrari6 
Python & Plugins [terminé] City pack Cars pour Blender 2 304 Hier 23:22:24
ferrari6 
Questions & Réponses [non résolu] armature qui suit une autre armature 3 123 Hier 13:27:17
Many 
Hors Sujet !! les tutos de Moonboots    [1][2][3]...[17] 162 12936 Hier 11:43:02
moonboots 
Graphisme alternatif faire de la bd avec blender    [1][2][3]...[5] 44 2235 Hier 11:04:48
blend74 
Inkscape Créer des fichiers dxf séparé 0 15 Hier 10:01:46
Redstar 
Moteur de jeu GameBlender et alternatives [non résolu] Cs (vaisseau)    [1][2][3]...[54] 539 163571 26/07 20:38:05
sbkodama 
Python & Plugins Mesh Cranium ( base mesh pour la sculpture 3D ) 0 36 26/07 08:52:22
stev 
[WIP] et travaux terminés Visage humain 4 226 26/07 07:08:36
Guilleto 
The Blender Clan 'tchat Les tutos de Stev ( CG Groovy ) 5 615 26/07 06:16:16
stev 
The Blender Clan 'tchat Impact de la compression sur le temps de rendu 0 62 25/07 09:57:17
Bibi09 
Hors Sujet !! un personnage de Blendman :) - Modélisation a partir de cubes 0 97 24/07 20:42:05
meltingman 
Questions & Réponses [résolu] Png et liseré blanc 5 241 23/07 20:56:32
meltingman 
Hors Sujet !! Sinoceratops project - Ateliers suivies de A à l'Animation    [1][2][3] 28 1501 23/07 16:11:40
meltingman 
The Blender Clan 'tchat Avenir du blender clan    [1][2][3]...[26] 256 29998 20/07 20:56:17
Bibi09 
[WIP] et travaux terminés Mission sur Mars - Terminé 5 231 19/07 11:41:42
BlendX 
[WIP] et travaux terminés [WIP] sinocératops    [1][2] 10 482 18/07 21:02:55
meltingman 
Le coin des geeks Colorisation, Krita ou Photoshop ?    [1][2] 14 575 18/07 20:50:51
sapajou 
Questions & Réponses Trace de la trajectoire d'un objet 5 244 17/07 18:33:25
moonboots 
Questions & Réponses Problème intersect boolean 5 254 16/07 15:40:44
Altasien 

Qui est en ligne
121 utilisateur(s) en ligne (dont 84 sur Forums)

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


plus...
Nouveaux membres

Nemo
11/3/2021
qingjie 10/3/2021
Kask909 9/3/2021
marie-antoinette 7/3/2021
Bugs 7/3/2021
lolorogli75 4/3/2021
Flagiel 4/3/2021
thedeathclown 1/3/2021
Littlespoon 28/2/2021
luxperpetua 27/2/2021
Dernier Ajout
2020-09-24.jpg

Evènements à venir
Aou 4
Anniversaire de xemphra
Aou 7
anniversaire Cem47
Aou 13
Anniversaire Siskas
plus 252 plus d'élément(s)
 Par Mickaël Guédon [ebrain] © 2003-2021 The Blender Clan - hébergé par TuxFamily - Site déclaré à la CNIL sous le numéro 1155445