I’m having trouble getting my Vertex Paint to show up in Godot. Googling is giving me tons of conflicting info from older versions of both Godot and Blender.
If I import my .blend file and create a .tscn from it (as far as I understand that’s how I’m supposed to do it) and “Make Unique (Recursive)” on the mesh (I can’t “Make unique” on the material directly):
I wouldn’t import blend files into godot, it will be intern auto converted to glb first. When you export direct to gltf (glb) you have a lot more control over the export. Most of the time I have other objects as helper in my blend file, more than I want to export.
In the gltf exporter are different vertex color settings.
It’s not a custom attribute, it’s the default one… I even tried creating a new cube, painting it and re-importing it but the Vertex Paint just isn’t there once it goes back to Blender.
Aha! Okay now I can see my vertex colors when adding a custom Shader material. Do I always have to use a custom Shader to mix my texture + Vertex paint or is there a way to do it automatically?
Standard material should modulate the albedo automatically if you enable “use as albedo” checkbox. For anything more complex than that you’ll have to write a custom shader.
That’s literally what’s happening. If you do it in a standard material and then convert the material into a shader, you’ll see the following in the shader code:
vec4 albedo_tex = texture(texture_albedo, base_uv);
// Vertex Color Use as Albedo: Enabled
albedo_tex *= COLOR;
ALBEDO = albedo.rgb * albedo_tex.rgb;