Hopfully this should solve some issues people have with vertex painting in Unity. We're still adding features but it's pretty fast already and we've used it in production for a game where everything is vertex painted.
Sound up on the unity forum if you have any ideas for features
I would be interested in testing this and making suggestions.
Our game is full bright and relies heavily on vertex colors. I don't like any of the existing options and I need to be able to assign vertex colors in engine, not Max due to the way our levels are laid out.
long answer: it stores vertex colors independent of the meshes, duplicating an object will require you to add the new object to the paint group, but otherwise it will retain the original instances
to give an even longer answer about the instances, the vertex colors are only applied during runtime and while you're editing them, but it's all cleaned up back to the original mesh reference in all other situations. this means you can still modify the original mesh / prefab and the vert colors will remain on the object!
that said, changing the vert count of a mesh will break vert colors on an object currently. in a future update we'll have functionality for storing transfer info so that you can retain vertex colors across a vert-count change. however, you can currently copy vertex colors from one mesh to another using the Radial Blending function.
It depends on the specific shaders in question (I don't have experience with either of those packages) but if the shader already supports vertex colors than it should work right out of the box.
If the shader doesn't support vcolors it is relatively simple to include vertex color support. The simplest way is to multiply the vertex colors by the end result of the shader you're modifying. Here's how you do it:
In the Input structure of a surface shader, make sure you have "float4 color : COLOR". Here's an exmaple of an Input structure with vertex colors included:
I'm a bit late to the party, but beside the AO youtube tutorial, are their any plans for future tutorials? I've been playing around with the tool and I know it's capable of doing exactly what I want it to, but I can't quiiite get there. Certain aspects of vPaint are great/intuitive, but others are a little less natural feeling.
Replies
Our game is full bright and relies heavily on vertex colors. I don't like any of the existing options and I need to be able to assign vertex colors in engine, not Max due to the way our levels are laid out.
( if i copy one object and want to paint different vertex for each object from the same instances)
That's what i would want to do too.
long answer: it stores vertex colors independent of the meshes, duplicating an object will require you to add the new object to the paint group, but otherwise it will retain the original instances
that said, changing the vert count of a mesh will break vert colors on an object currently. in a future update we'll have functionality for storing transfer info so that you can retain vertex colors across a vert-count change. however, you can currently copy vertex colors from one mesh to another using the Radial Blending function.
Clean, User-friendly interface
Forgive my ignorance, but how difficult would it be to use this with custom shaders, like Skyshop, Chickenlord's Shader Bundle, etc.?
If the shader doesn't support vcolors it is relatively simple to include vertex color support. The simplest way is to multiply the vertex colors by the end result of the shader you're modifying. Here's how you do it:
In the Input structure of a surface shader, make sure you have "float4 color : COLOR". Here's an exmaple of an Input structure with vertex colors included:
Then, to multiply your vertex color by the result, multiply IN.color by the Albedo. Here's an example:
Each shader is different, but this is the general makeup of Unity's surface shaders so in most cases that should be applicable. Hope that helps!
http://forum.unity3d.com/threads/192711-VPaint-Advanced-Vertex-Painting-Released/page2
We've got an update with some bug fixes and perf improvements but I'm not sure what new features are making it in now.