animate VCOL vertex color maps/layers

does anyone know how to animate VCOL - vertex color maps over time? perhaps using a method like shapekey animation that changes over time. This feature might already be in blender and I’m not aware of it yet. thanks for any assistance. :slight_smile:

UPDATE V.1 :
click here to download the BLEND FILE with the first part of the solution solved. a vcol / vertex color layer fades into another over time. Special thanks to Harkyman(reference blend) and naturalpainter(timenode).

LOOKING FOR SOLUTIONS FOR V.2 of this method - PLEASE HELP if you can :slight_smile: !!!
with regard to the above V.1 solution, does anyone know of a method to use IPO input data(like the IPO input node) to trigger the fading of one of the VCOL layers? What I am looking to do is have the given angle of the camera in relation to a target(toon shaded) object trigger a specific vertex color layer given the cameras position in relation to the target object. I hope my explanation makes sense.

anyone? is this something the entire blender community is not sure of? please assist, thanks a bunch. I’ve been moving projects to blender, now that is rocks more than ever, but could really use some help on this issue. Thanks in advance.

AFAIK: You can animate Object color, you can animate material color, you can animate textures, but from what I can see you cannot animate Vertex Colors. At least there is no trace of this option in the wiki or any other normal online source. You can have multiple Vertex Color layers, but there isn’t a way to animate a transition from one to the other. I suppose it would be possible to do with Python, but again I find no trace of Scripts for animating Vertex color.

DichotomyMatt
THANK YOU very much for your reply. Hopefully I a Python coder will see this thread. I really would enjoy having this feature, for many aspects of animation. I would be willing to pay for such a feature.

Does anyone know of any programmer that can handle such a task, I’m willing to pay?

You can animate vertex color using python script.

I don’t that it is not exactly what you were looking but I hope it gives you some directions.

You can create a scriplink that is activated over the frame change and then modify the values of the vertex paint according to your need.

dfelinto: Thank you for your reply!!!
do you know of any online tutorials for this method you describe?

I have searched, and haven’t found anything regarding what you mentioned yet?

From http://en.wikibooks.org/wiki/Blender_3D:_Blending_Into_Python/Cookbook#Desaturate_Meshes_VertCol a script that desaturate the vertexes:

from Blender import Mesh, Object
for ob in Object.GetSelected():
if ob.getType() == ‘Mesh’:
me = ob.getData(mesh=1)
if me.faceUV:
for f in me.faces:
for c in f.col:
# Weighted colour conversion, as used by photoshop.
c.r = c.g = c.b = int(((c.r30) + (c.g59) + (c.b*11)) / 100.0)
And if you want to see how to to create a script that is activated over the frames take a look at :
Dynamic text animator

I’m assuming that you want to animate it in Blender not in Blender Game Engine right?
So, if you put these two scripts together, + creativity + time + Blender Python API = your script :slight_smile:

And finally, you may have some troubles because faces usually share the same vertexes. But you will see.

Good luck and when you get it working post it here :slight_smile:

dfelinto: Thank you for your replies, much help indeed! I will post if I get it to work.

You can certainly do that with a script, but if you’re looking for, say, the ability to vert paint, then set a “paint” key, then vert paint and set another key, there really isn’t anything in Blender like that right now.

I assume this is for the vert paint controllable shading node setup I sent you.

The only way to easily do what you’re asking is to make that node tree a little more complex. You…

Paint several different vert paint channels, giving each a unique name. Add each to the material node network and then use a series of Time nodes to blend between them over time, using the final output of that vertex paint section to control the blending of the different shaders.

It’s going to be really complex when it’s done, though.

[QUOTE=harkyman;1199575]
Paint several different vert paint channels, giving each a unique name. Add each to the material node network and then use a series of Time nodes to blend between them over time, using the final output of that vertex paint section to control the blending of the different shaders./QUOTE]

unless i’m missing something, I cant see any ability to add time nodes in the materials nodes section. I have only seen the ability to add TIME nodes in the compositing section. Please assist if you have any thoughts or knowledge related to time based changes in the materials nodes.

I did just find this link though, in the python cookbook section of the blenderartists forums":
http://blenderartists.org/forum/showthread.php?t=125741&page=7

so, apparently, this MIGHT be doable. though, does anyone know if this only works with the MIX node, or does it also work with other nodes like AlphaOver, etc?

thanks for any and all input. :slight_smile: Thanks again Harkyman

I have finished creating a blend with the animated vertex maps working. If I’m allowed to upload blender to the forums by now, I’ll be doing so shortly.

caveat#1: 1 vertex color maps jsut fades into another, it does not “MORPH” which I would much prefer, though this will at least allow me to achieve much of the result I was seeking for specific toon shading control relating to “locally controllable stylized shading”. See link below for more info:
http://www.olm.co.jp/en/rd/2007/07/siggraph_2007_paper.html

Although at this point the vertex color layer has very SOFT edges until the object is subdivided(subsurfaced) a few “levels”. Once I apply a level 3 subsurf(cat/clark). I can then create “sharp” edged vertex color borders(painted in the vcol layer).

IMO This is such a necessary feature for anyone using toon/cell-shading, that wants control of the shading, so it’s not so “precisely 3D” looking. I digress… I’m working on cleaning up the blend to upload soon. Would anyone be interested in testing out the blend if I upload it?

an animation representing proof of concept V.1
http://www.duarts.com/blender/toon-shading-control-example.gif

screen cap v.1 - Thanks to Harkyman for the initial blend setup i referenced on this test. And thanks to naturalpainter for posting/coding the material based TimeNode /pynode. MUCH APPRECIATED!!!
http://www.duarts.com/blender/toon-shading-control.jpg

I posted some updates and a .BLEND in the first post in this thread, just incase anyone is interested.

Also, looking to solve the next step of this method, for optimal use in it’s target application.
As I mentioned in the update to the first post in this thread:
LOOKING FOR SOLUTIONS FOR V.2 of this method - PLEASE HELP if you can :slight_smile: !!!
with regard to the above V.1 solution, does anyone know of a method to use IPO input data(like the IPO input node) to trigger the fading of one of the VCOL layers? What I am looking to do is have the given angle of the camera in relation to a target(toon shaded) object trigger a specific vertex color layer given the cameras position in relation to the target object. I hope my explanation makes sense.

does anyone know how can I move this thread to the Python section?