• 3D
  • Vertex colors return incorrect value

I am not sure if blender is not exporting vertex colors correctly, or if Godot isn't importing them correctly. I can see my vertex colors, and they do look correct, but their values are wrong.

I made a character in blender, and assigned it 9 vertex colors. RGB values. Skin 1, .8, .7 Nails 1, 1, 1 Pupil 0.1, 0.1, 0.1 Lash 0, 0, 0 Sclera .9 *3 Eye Color .1, .4, 1 Lips 1, .6, .7 Teeth .7, .8, 1 Mouth .5, .1, .1

When I loop through the vertexes in Godot, and retrieve their color I get:

1, 0.8, 0.701961,1, = Skin 1,1,1,1, = Nails 0.101961,0.101961,0.101961,1 = Pupil 0,0,0,1, = Lash 0.901961,0.901961,0.901961,1, = Sclera 0.101961,0.4,0.901961,1, = Eye Color 1,0.6,0.701961,1, = Lips 0.701961,0.8,1,1, = Teeth 0.501961,0.101961,0.101961,1 = Mouth

Only black, and white are correct. All other colors are just slightly off. I have tried deleting the color map, and making a new one. I also tried importing with / without materials. I tried with, and without materials in Godot, different material options. Just looking for suggestions, or ideas on what would cause this. I am guessing maybe some sort of Gamma correction in the export / import pipe.

Update: I exported the model to Modo Indie as an obj, and added the vertex colors. I exported as glTf into Godot, and check vertex colors and here is what I get: I only added 2 colors, but I get 3 back. (1, 1, 1,) = nails (1,0.6,0.447059,0) = skin, (0,0,0,1) = I didn't add this color

Using Blender 2.78c, Better Collada exporter, Godot v3.05.stable.official.6a88e22 on steam.

These look like precision errors to me. For the examples imported from blender looks like truncation could help, maybe. Not sure how to really go about doing that.

I think your right. I know for sure Blender has a bug when you use the eyedropper tool in Vertex Color mode. It won't give you the exact value. I am going to keep trying different things, and if I can't fix it on my end I might have to try something like omitting anything past 2nd digit.

I did some more tests in Blender. As I wrote above you can see from the screen shot that I selected the color from my Palette 1, .8, .7. but when I use eyedropper I get 1, .8, 0.701961. The exact value that Godot gave me! So, Godot was giving me the correct value. I think this is an internal blender problem. I think I am going to have get all the vertex colors, and just reassign them a new Color() in Godot.