Hello, I am yet again asking for an update on the current situation with this. I’d like to roll out an update that is dependent on VertexColors. No pressure of course. Thanks Devrel
I think the only issue with this is that so many tools use vertex colors higher than 1 that it would look weird in-game if they fixed it. I think Roblox would need to do an opt-in to fix this properly.
This likely won’t be fixed anytime soon. It’s not really a ‘bug’ as it’s intended behavior. The VertexColor is transformed to a Color3, and anything outside of [0, 1] is undefined. Using out of range Color3 values to emulate emissive textures has never worked when parented to a rig with a humanoid, despite many reports. We can only hope Roblox adds proper emission textures, but I sincerely doubt they will.
Ignore me if I’m wrong, but with the values the VertexColor are clamped from 0-1, but still represent RGB. This works the same with using .R values to RGB. In the original scenario, it would be cR = c.R * 255, so you should be able to do the same with RGB by doing
function setColor(SpecialMesh: SpecialMesh, Color : Color3)
local R = math.clamp(Color.R / 255, 0, 1)
local G = math.clamp(Color.G / 255, 0, 1)
local B = math.clamp(Color.B / 255, 0, 1)
local VertexColor = Vector3.new(R, G, B)
SpecialMesh.VertexColor = VertexColor
return VertexColor
end
They’re by default at 1,1,1. They are not clamped unless they are in a character, which is why I am filing this bug report. (they shouldn’t be clamped)