Blender (jusqu'à 2.49)
Couleurs Image transformées 
en couleurs de sommet 
(vertex colors)
(english version)
 
    Début   Index
précédentScript Python
Script Python Suivant

 
Un script court mais beaucoup de préparation 
Créer un mesh colorié à partir d'une image

Un script court mais beaucoup de préparation
 

import Blender
# ======================
# au moins un objet mesh selectionne dont on recupere les donnees
# ======================
MESH=Blender.Object.GetSelected()[0].getData()
# ======================
# On force  blender à capter les couleurs qui se trouvent
# dans les textures et éclairages en indiquant 1 dans la 
# 3ieme variable de la fonction update.
# ======================
MESH.update(0,0,1) 
Manipulations

1/ créer un matérial et passer dans l'interface de texture

2/ lui ajouter une texture image

3/ Charger une image en cliquand sur Load image et en utilisant le navigateur de répertoire pour aller le chercher.

3/ Repasser dans la fenêtre de matériaux . Activer l'option Shadeless dans le bloc Material

4/ Sélectionner le type de développement  dans Map input (pour un developpment uvmappé utiliser plutôt le script disp_paint ). 

5/ Trouver le nombre de faces suffisant pour obtenir un rendu acceptable .

Créer un mesh colorié à partir d'une image 
télécharger/ download le/the  script
 

import Blender
from Blender import *

im=Image.Load('f:/alphatest.jpg') #   rename the file
newmat = Material.New('newmat')
newmat.mode |= Material.Modes.SHADELESS

tex = Texture.New() 
tex.setType('Image')
tex.image = im 
newmat.setTexture(0, tex) 
mtex = newmat.getTextures()
mtex[0].texco=Texture.TexCo.ORCO

MAXV=100 # Vertices on xy axes 100x100 vertices

imagedim = im.getMaxXY()  #get xy value of the image loaded in im
n01=imagedim[0]/MAXV    # xfactor for the mesh
n02=imagedim[1]/MAXV    # yfactor for the mesh 
nx=ny=MAXV                    # 

me=NMesh.GetRaw() 
for y in range(0,ny+1,1):
 for x in range(0,nx+1,1):
   v=NMesh.Vert(x*n01,y*n02,0.0)
   me.verts.append(v) 
for x in range(0,nx):
  for y in range(0,ny):
   f=NMesh.Face()
   f.v.append(me.verts[x+y*(nx+1)])
   f.v.append(me.verts[x+1+y*(nx+1)])
   f.v.append(me.verts[x+1+(y+1)*(nx+1)])
   f.v.append(me.verts[x+(y+1)*(nx+1)])
   f.mat=0
   me.faces.append(f) 
me.materials.append(newmat) 
OB=NMesh.PutRaw(me)
me=OB.getData()
me.update(0,0,1)

Blender.Redraw()
 


 
précédentScript Python
 Script Python 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