createVehiclePaint
Definition
-- @/lua/ge/ge_utils.lua:907
function createVehiclePaint(color, metallicData)
if not color or not color.x then
color = {x = 1, y = 1, z = 1, w = 1}
end
metallicData = type(metallicData) == 'table' and metallicData or {}
local metallic = metallicData.metallic or tonumber(metallicData[1]) or 0.2
local roughness = metallicData.roughness or tonumber(metallicData[2]) or 0.5
local clearcoat = metallicData.clearcoat or tonumber(metallicData[3]) or 0.8
local clearcoatRoughness = metallicData.clearcoatRoughness or tonumber(metallicData[4]) or 0.0
local paint = {
baseColor = {color.x, color.y, color.z, color.w},
metallic = metallic, roughness = roughness, clearcoat = clearcoat, clearcoatRoughness = clearcoatRoughness
}
return paint
end
Callers
@/lua/ge/extensions/core/settings/settings.lua
local color = stringToTable(colorString)
local paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]}, emptyMetallicData)
table.insert(paints, paint)
@/lua/ge/extensions/editor/veMain.lua
color[4] = color[4]*2
local paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]}, {color[5], color[6], color[7], color[8]})
core_vehicle_partmgmt.setConfigPaints(paint, false)
@/lua/ge/spawn.lua
color[4] = color[4] or 1
options.paint = createVehiclePaint({x = color[1], y = color[2], z = color[3], w = color[4]}, paintData)
options.paint2 = options.paint
@/lua/ge/extensions/flowgraph/nodes/vehicle/colors.lua
local color = self.pinIn.color1.value
local paint = createVehiclePaint({x = color[1], y = color[2], z = color[3], w = color[4]}, {color[5], color[6], color[7], color[8]})
obj.color = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
local color = self.pinIn.color2.value
local paint = createVehiclePaint({x = color[1], y = color[2], z = color[3], w = color[4]}, {color[5], color[6], color[7], color[8]})
obj.colorPalette0 = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
local color = self.pinIn.color3.value
local paint = createVehiclePaint({x = color[1], y = color[2], z = color[3], w = color[4]}, {color[5], color[6], color[7], color[8]})
obj.colorPalette1 = ColorF(paint.baseColor[1], paint.baseColor[2], paint.baseColor[3], paint.baseColor[4]):asLinear4F()
@/lua/ge/ge_utils.lua
for i = 1, colorTableSize do
local paint = createVehiclePaint({x = colorTable[i][1], y = colorTable[i][2], z = colorTable[i][3], w = colorTable[i][4]}, {})
validateVehiclePaint(paint)
if not vehicle then return nil end
return createVehiclePaint(vehicle.color, vehicle.metallicPaintData)
end
paint = modelDataPaints[paintName] or createVehiclePaint()
return paintName, paint
local components = stringToTable(colorStr)
local paint = createVehiclePaint({x = tonumber(components[1]), y = tonumber(components[2]), z = tonumber(components[3]), w = tonumber(components[4])})
return paint
color = stringToTable(colorStr)
spawningData.options.paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]})
end
@/lua/ge/extensions/core/funstuff.lua
local paintData = {
createVehiclePaint({x=paint1.baseColor[1], y=paint1.baseColor[2], z=paint1.baseColor[3], w=paint1.baseColor[4]}, {paint1.metallic, paint1.roughness, paint1.clearcoat, paint1.clearcoatRoughness}),
createVehiclePaint({x=paint2.baseColor[1], y=paint2.baseColor[2], z=paint2.baseColor[3], w=paint2.baseColor[4]}, {paint2.metallic, paint2.roughness, paint2.clearcoat, paint2.clearcoatRoughness}),
createVehiclePaint({x=paint1.baseColor[1], y=paint1.baseColor[2], z=paint1.baseColor[3], w=paint1.baseColor[4]}, {paint1.metallic, paint1.roughness, paint1.clearcoat, paint1.clearcoatRoughness}),
createVehiclePaint({x=paint2.baseColor[1], y=paint2.baseColor[2], z=paint2.baseColor[3], w=paint2.baseColor[4]}, {paint2.metallic, paint2.roughness, paint2.clearcoat, paint2.clearcoatRoughness}),
createVehiclePaint({x=paint3.baseColor[1], y=paint3.baseColor[2], z=paint3.baseColor[3], w=paint3.baseColor[4]}, {paint3.metallic, paint3.roughness, paint3.clearcoat, paint3.clearcoatRoughness})}
createVehiclePaint({x=paint2.baseColor[1], y=paint2.baseColor[2], z=paint2.baseColor[3], w=paint2.baseColor[4]}, {paint2.metallic, paint2.roughness, paint2.clearcoat, paint2.clearcoatRoughness}),
createVehiclePaint({x=paint3.baseColor[1], y=paint3.baseColor[2], z=paint3.baseColor[3], w=paint3.baseColor[4]}, {paint3.metallic, paint3.roughness, paint3.clearcoat, paint3.clearcoatRoughness})}
veh.color = ColorF(paintData[1].baseColor[1], paintData[1].baseColor[2], paintData[1].baseColor[3], paintData[1].baseColor[4]):asLinear4F()
@/lua/ge/extensions/editor/trafficManager.lua
config = currVeh.partConfig,
paint = createVehiclePaint(currVeh.color, metallicPaintData[1]),
paint2 = createVehiclePaint(currVeh.colorPalette0, metallicPaintData[2]),
paint = createVehiclePaint(currVeh.color, metallicPaintData[1]),
paint2 = createVehiclePaint(currVeh.colorPalette0, metallicPaintData[2]),
paint3 = createVehiclePaint(currVeh.colorPalette1, metallicPaintData[3]),
paint2 = createVehiclePaint(currVeh.colorPalette0, metallicPaintData[2]),
paint3 = createVehiclePaint(currVeh.colorPalette1, metallicPaintData[3]),
autoEnterVehicle = false,
@/lua/ge/extensions/core/multiSpawn.lua
if values[4] then
options[paintKeys[j]] = createVehiclePaint({x = values[1], y = values[2], z = values[3], w = values[4]})
end
@/lua/ge/extensions/core/vehicle/colors.lua
color[4] = color[4]*2
local paint = createVehiclePaint({x=color[1], y=color[2], z=color[3], w=color[4]}, {color[5], color[6], color[7], color[8]})
vd.config.paints[index] = paint
local metallicPaintData = veh:getMetallicPaintData()
vd.config.paints[1] = createVehiclePaint(veh.color, metallicPaintData[1])
vd.config.paints[2] = createVehiclePaint(veh.colorPalette0, metallicPaintData[2])
vd.config.paints[1] = createVehiclePaint(veh.color, metallicPaintData[1])
vd.config.paints[2] = createVehiclePaint(veh.colorPalette0, metallicPaintData[2])
vd.config.paints[3] = createVehiclePaint(veh.colorPalette1, metallicPaintData[3])
vd.config.paints[2] = createVehiclePaint(veh.colorPalette0, metallicPaintData[2])
vd.config.paints[3] = createVehiclePaint(veh.colorPalette1, metallicPaintData[3])
@/lua/ge/extensions/core/vehicles.lua
-- log('I','convert', name..' colorTable: '..dumps(colorTable)..' color: '..dumps(color)..' metallicData: '..dumps(metallicData))
local paint = createVehiclePaint(color, metallicData)
paints[name] = paint
log("W","", "Outdated default color format in "..dumps(infoFilename)..". Converting to paint: "..dumps(info[key]))
info[key] = createVehiclePaint({x = info[key][1], y = info[key][2], z = info[key][3], w = info[key][4]})
info[key].name = (info.Name or "") .. " " .. key
log("E","","Invalid paint setup in "..dumps(infoFilename)..". Paint "..dumps(name).." is not a valid paint: "..dumps(data))
validatedPaints[name] = createVehiclePaint({x = 1, y = 1, z = 1, w = 1})
else
log("E","","Invalid paint setup in "..dumps(infoFilename)..". Paint "..dumps(name).." is not a valid paint: "..dumps(data))
validatedPaints[name] = createVehiclePaint({x = 1, y = 1, z = 1, w = 1})
else
config = veh.partConfig,
paint = createVehiclePaint(veh.color, metallicPaintData[1]),
paint2 = createVehiclePaint(veh.colorPalette0, metallicPaintData[2]),
paint = createVehiclePaint(veh.color, metallicPaintData[1]),
paint2 = createVehiclePaint(veh.colorPalette0, metallicPaintData[2]),
paint3 = createVehiclePaint(veh.colorPalette1, metallicPaintData[3])
paint2 = createVehiclePaint(veh.colorPalette0, metallicPaintData[2]),
paint3 = createVehiclePaint(veh.colorPalette1, metallicPaintData[3])
}
@/lua/ge/extensions/flowgraph/nodes/vehicle/spawnVehicle.lua
if paint and not paint.baseColor then
paint = createVehiclePaint({x=paint[1], y=paint[2], z=paint[3], w=paint[4]}, {paint[5], paint[6], paint[7], paint[8]})
end
@/lua/ge/extensions/core/vehicle/partmgmt.lua
local metallicPaintData = stringToTable(vehicle:getField('metallicPaintData', i - 1))
local paint = createVehiclePaint({x = colorTable[i].r, y = colorTable[i].g, z = colorTable[i].b, w = colorTable[i].a}, metallicPaintData)
validateVehiclePaint(paint)
local metallicPaintData = stringToTable(playerVehicle:getField('metallicPaintData', i - 1))
local paint = createVehiclePaint({x = colorTable[i].r, y = colorTable[i].g, z = colorTable[i].b, w = colorTable[i].a}, metallicPaintData)
validateVehiclePaint(paint)