Blender(jusqu'à 2.49)
;
Python 
Fonctions non documentées 
de Blender 2.23 (2)
"GetRawFromObjet"
    Début   Index
précédent  Python: Fonction New
Python:Object clone Suivant

Description: Utiliser la fonction GetRawFromObject,  ajoutée à B2.23, pour dupliquer/figer un objet modifié par  une armature.
Une légère adaptation est nécessaire pour un rvk ou un lattice ou un effet spécial d'animation. Ce sera l'objet d'une prochaine page
 

               import Blender 
               from Blender import * 

               #on suppose que l'animation 
               # est au moins de 11 frames 
               # pour passer à la 11ieme: 

               Set('curframe',11) 
               me=NMesh.GetRawFromObject('Plane') 
               NMesh.PutRaw(me,'test',1) 

               # dans l'etat actuel, c'est au point 0,0,0 
               # du monde 3d, il faut recuperer quelques infos 
               # a droite et a gauche: 

               O=Object.GetSelected() 
               P=Object.Get('Plane') 
               A=Object.Get('Armature') 

               O[0].loc[0]=A.loc[0] 
               O[0].loc[1]=A.loc[1] 
               O[0].loc[2]=A.loc[2] 

               O[0].rot[0]=P.rot[0] 
               O[0].rot[1]=P.rot[1] 
               O[0].rot[2]=P.rot[2] 

               #reste plus qu'a reafficher: 
               Redraw() 

              # ATTENTION a Redraw()
              # Dans blender 2.25 utilisez plutot:
               # Window.RedrawAll()
               #
               #
               #
               #
               #bingo!!

Dans blender 2.25 utilisez plutot:
 

import Blender
from Blender import * 

# pas ce qui suit car buggé et inactif
# from Blender import Scene
# S=Scene.getCurrent()
# S.currentFrame(frame=11)
# mais:

Blender._Blender.Set('curframe',11)

# on suppose que l'animation 
# est au moins de 11 frames 
# pour passer à la 11ieme: 
 
# constaté sur les denières modifications
# du script Povanim pour blender2.25/26
# les coordonnées d'armatures ne sont pas
# mises à jour il faut forcer la réactuallisation
# du tampo qui gère les Meshes déformés
# en redessinant toutes les fenêtres:

Blender.Window.RedrawAll()

me=NMesh.GetRawFromObject('Plane') 
NMesh.PutRaw(me,'test',1) 

# dans l'etat actuel, c'est au point 0,0,0 
# du monde 3d, il faut recuperer quelques infos 
# a droite et a gauche: 

O=Object.GetSelected() 
P=Object.Get('Plane') 
A=Object.Get('Armature') 

O[0].loc[0]=A.loc[0] 
O[0].loc[1]=A.loc[1] 
O[0].loc[2]=A.loc[2] 

O[0].rot[0]=P.rot[0] 
O[0].rot[1]=P.rot[1] 
O[0].rot[2]=P.rot[2] 

#reste plus qu'a reafficher: 
Blender.Window.RedrawAll()
 

précédent  Python: Fonction New
 Python:Object clone Suivant
Vers le  Haut de page

Les questions concernant cette page  peuvent être posées sur  :
 news://news.zoo-logique.org/3D.Blender


 

 

Livre en français
Blender : apprenez, pratiquez, Créez, livre, Ed. Campus Press, coll. Starter Kit
Blender Starter Kit

Forum
FAQ
Lexique
Didacticiels
Compilations
Blender2KT
Débuter
Modelage
Blender python
Materiaux
Lumière
Animation
API python (eng)
Archives nzn
Statistiques
Doc flash Sculptris
Galerie Sculptris

mon site de démos sur youtube