I have a short question: I prepare imported .fbx object for painting in Substance Painter, is there any difference, on what I put "Vertex paint modifier" - on "Editable Poly" or on "Editable Mesh"?
To be complete, there's a difference if you paint by face : In edit mesh you have access to all triangles (faces) while in edit poly you only have access to "polygons". If you apply a vertexpaint modifier to an editable mesh, and go to face mode, the mesh is diplayed triangulated, which isnt the case with edit poly. I would avoid to paint only a triangle in edit mesh tho.
If you paint on vertex level, there's no difference. Beware, I'm pretty sure fbx doesnt support vertex color by face anyway, unless you split the mesh.
Ah, I do know FBX supports per-face vertex color. It duplicates the color vertices, but not the mesh vertices. Kind of like splitting UVs.
There should be no export difference using Editable Mesh vs. Editable Poly as your base, except the triangulation. Which is important for normal mapping, if you've baked one from another mesh. http://wiki.polycount.com/wiki/Texture_Baking#Triangulation
IMHO it's better to keep it as Editable Poly in 3ds Max (more tools, easier modeling), and use a Turn to Mesh modifier to triangulate for export. Or use a Turn to Poly modifier with Limit Polygon Size set to 3, same result though.
Ah, I do know FBX supports per-face vertex color. It duplicates the color vertices, but not the mesh vertices. Kind of like splitting UVs.
I too have heard of these ancient forlorn myths - when going from FBX to unity though, it never splits the vertex-colored faces, and I get a runny ol' mess.
^ Haha.. very fitting, smash those multiple sharp-and-nicely-split hues!
I've had soul-crushing bouts of work where I had to split fairly complex meshes into hundreds of elements in order to transfer Vcolors correctly, even automated it's a pain. I guess one could prep an FBX export script with a routine that automatically split per-face vcolors before piping the mesh to the exporter, but I don't really have the leisure to root around maxscript for days
The script breaks at various junctions, but at least I'm not the first person to contemplate this. To work for all cases, it'd probably need to also copy pre-existing smoothing groups even after vertices are split, but that's a different story I guess.
Eh, I tried it earlier with results as I'd have expected (using Max 14 and the 2014 FBX). But prompted by your reply I just tried it with Max'17 and their newer FBX exporter and yup - it transfers colors-by-face alright. Awesome!
Yeah Clanker is me on cgtalk ^^ Polytools is my hero. Cool that fbx supports it now. I do think poly and mesh trinagulate the same way, not 100% sure tho.
So many purposes! Anything you want to mask on a per-vertex or per-model basis.
I'm using it in Unity to blend textures on terrains, to control wind bending on foliage, to bend water, etc.
That's actually a really good idea, I've never considered using vertex colours as a mask, as you would a pixel mask to blend textures etc.
As per your other examples, obviously some 0-1 vertex colours would be used to scale the amount of wind applied right? But what about the water, what exact is bending water?
One way to think about vertex color is it's just data per vertex, and makes automatic gradients from vert to vert, so it can be used for lots of things.
You can even free up memory by skipping on light bakes and baking shadows etc. to your vertices (sufficient mesh density given).. vertex colors and alpha rock.
Replies
In edit mesh you have access to all triangles (faces) while in edit poly you only have access to "polygons".
If you apply a vertexpaint modifier to an editable mesh, and go to face mode, the mesh is diplayed triangulated, which isnt the case with edit poly.
I would avoid to paint only a triangle in edit mesh tho.
If you paint on vertex level, there's no difference.
Beware, I'm pretty sure fbx doesnt support vertex color by face anyway, unless you split the mesh.
There should be no export difference using Editable Mesh vs. Editable Poly as your base, except the triangulation. Which is important for normal mapping, if you've baked one from another mesh. http://wiki.polycount.com/wiki/Texture_Baking#Triangulation
IMHO it's better to keep it as Editable Poly in 3ds Max (more tools, easier modeling), and use a Turn to Mesh modifier to triangulate for export. Or use a Turn to Poly modifier with Limit Polygon Size set to 3, same result though.
I too have heard of these ancient forlorn myths - when going from FBX to unity though, it never splits the vertex-colored faces, and I get a runny ol' mess.
I've had soul-crushing bouts of work where I had to split fairly complex meshes into hundreds of elements in order to transfer Vcolors correctly, even automated it's a pain. I guess one could prep an FBX export script with a routine that automatically split per-face vcolors before piping the mesh to the exporter, but I don't really have the leisure to root around maxscript for days
(via http://forums.cgsociety.org/showthread.php?t=1185723 )
The script breaks at various junctions, but at least I'm not the first person to contemplate this. To work for all cases, it'd probably need to also copy pre-existing smoothing groups even after vertices are split, but that's a different story I guess.
Polytools is my hero.
Cool that fbx supports it now.
I do think poly and mesh trinagulate the same way, not 100% sure tho.
I'm using it in Unity to blend textures on terrains, to control wind bending on foliage, to bend water, etc.
As per your other examples, obviously some 0-1 vertex colours would be used to scale the amount of wind applied right? But what about the water, what exact is bending water?
One way to think about vertex color is it's just data per vertex, and makes automatic gradients from vert to vert, so it can be used for lots of things.