GE Lua Documentation

Press F to search!

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)