DISP_PAINT : August, 21, 2005, updated

#----------------------------------------------

Official page :

http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_displacementpainting_en.htm
#----------------------------------------------

Communicate problems and errors on: http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender

#---------------------------------------------

this script is released under GPL licence

for the Blender 2.33 scripts distribution

#----------------------------------------------

Just select a mesh, do some vertex paints and use the script.

You can choise between “normal”: all vertex, “selected”, to
displace only the selected vertices, and material ( this last
option does not work for the moment )

New design, new functions :

http://cobalt3d.free.fr/didacticiel/blender/tutor/images/python/dispaint/nnewdesign00.jpg

[Tex colors] to get the textures’ colors
[UV colors] to get the UV colors
[Save colors] to hold back the vertex colors in a buffer
[Rest colors ] to restaure the buffered vertex colors

New in the Mode Menu :
[Find color ] to select vertices and faces with a specific color

http://cobalt3d.free.fr/didacticiel/blender/tutor/images/python/dispaint/nnewoption_colorselect3.jpg

  • 2 Butons
    [Faces ] select Faces
    [Vertex ] select Vertex

That looks great! Thanks man, I can’t wait to try this out on a UV sphere.
<edit> just tried it out. Very nice.

Very nice! :slight_smile:
http://users.pandora.be/tuinbels/images/disp_test.png

What about a slider to control the difference in displacement between pure white and pure black?

Greetings,

Wim

Official page.
http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_displacementpainting_en.htm
.

sounds great, thanks! :slight_smile:

new version, now it works with any indexed material of the mesh:
http://jmsoler.free.fr/util/blenderfile/py/disp_paint232c.zip

Added few buttons: “create”, “repeat”
menu “ORIENTATION” to displace along local axes and not only along normal.
and a warning error text
http://www.zoo-logique.org/newsportal/attachment.php/3D.Blender/64780/1/disp_paint11.jpg

JMS you make the nicest stuff. But it would be nice if the tutorial was in english. I will translate it with altavista latter today then do some editing so the english makes sense and send it back to you just let me know where to send it.

is there hope that it could subdivide the mesh while painting.
No wait it is still just vertex painting, so it must have alot of mesh to draw a smooth line. Still very neat script.

this is going to come really handy for normal maps for games …and high res in general. :slight_smile:

Personally, I think this should be implemented as an actual feature. This sort of thing is in maya and is very useful.

It just occured to me, this script could be used very effectively in conjunction with the UVpaint script.

#----------------------------------------------

Official page :

http://jmsoler.free.fr/didacticiel/blender/tutor/cpl_displacementpainting.htm
#----------------------------------------------

Communicate problems and errors on: http://www.zoo-logique.org/3D.Blender/newsportal/thread.php?group=3D.Blender

#---------------------------------------------

this script is released under GPL licence

for the Blender 2.33 scripts distribution

#----------------------------------------------

Now , jms, can you make it live update the painting ?

I do not know if it is possible… if we want to preserve a certain stability of script and blender

I do not know if it is possible… if we want to preserve a certain stability of script and blender[/quote]

But more power and instant feed back the the power of art…or at least this feature :smiley:

Noise/Terrain Paint option ?

def traite_face(f):
      global vindexm
      if ORIENTMenu.val==1:
         for z in range(len(f.v)):
            c=0.0
            if vindex[f.v[z].index]!=0:


# Noise/Terrain Paint function
#-------------------------------------------------------------------
               nx=f.v[z].co[0]/4
               ny=f.v[z].co[1]/4
               nz=f.v[z].co[2]/4

               ng = 0.5 + heteroTerrain((nx,ny,nz),1.0,2.0,5.0,1.0,3)

               c=float(f.col[z].r+f.col[z].b+f.col[z].g)/maxcol*ng/vindex[f.v[z].index]
            else:
              c=0

            f.v[z].co[0]=f.v[z].co[0]+f.v[z].no[0]*c
            f.v[z].co[1]=f.v[z].co[1]+f.v[z].no[1]*c 
            f.v[z].co[2]=f.v[z].co[2]+f.v[z].no[2]*c

ok, i test it.

Correct me if I am wrong. Was this not integrated in the 2.32 update of blender or the 2.33 update?

The script is in the .blender/scripts bunddle now.