Why does the following code not actually return a proper Color3 value that is the same as the brick color?:
local brickcolor = BrickColor.new("Really red") local color = brickcolor.Color
BrickColors
aren't the exact same as Color3
values. Color3 values range from 0 to 1 in 255 different shades in each R, G, B argument. However, BrickColors have a preset table of what they can be. In fact, you can see what this table looks like and all the BrickColors it stores, here.
Although, this is only a problem when converting a Color3 value, to a BrickColor. Since Color3 holds way more different color combinations than BrickColor, and BrickColor only holds a table of named colors, BrickColor will only choose the closest number it can find to your Color3 value in the table it has. This isn't usually a problem, but if you're looking for brick color tweening or something, it won't look smooth.
BrickColor to Color3 conversions will always be accurate, but Color3 to BrickColor conversions may seem a bit off sometimes. But in the code you provided, it does return the Color3 version of BrickColor "Really red" accurately.