Car livery creator plugin (LiveryHelper)


LiveryHelper is a simple plugin that aids the creation and customization of specifically car liveries, although it can be used for anything! (Won’t let me post enough images or links so: more images and the download is available on the Blender extensions page here. It is currently awaiting approval so this link may change or disappear).

Select a source image, in addition to metallic + roughness maps (if you want them), choose a base color tint, then apply the livery to the selected mesh. The livery can be moved, rotated, scaled, and even mirrored on the other side of the car automatically. Liveries can be applied “Planar”, ie; projected onto the car like a sticker, or using “Box” projection (otherwise known as “Triplanar” projection), for large tiling textures.

All of the above uses Blender’s built-in functionality, and is generated and added to the Material’s shader nodes in the form of a Node Group and an Empty to move/rotate/scale your livery. This, in addition to keeping projects simple and portable, means:

  • Liveries can be simply baked to a texture, as everything resolves down to simple albedo/metallic/roughness node outputs into a Principled BDSF shader.
  • Liveries can be “transferred” to other vehicles easily! As the Material/Empty setup is UV Map agnostic, you can simply apply the Material to another object! (You will need to move the new car to the same position as the old one and reposition the Empty projectors, but as explained, it is still easier than if you were to make the same one again from scratch!)
  • Because the livery images are projected based on the Empty’s transforms, you can export these into Unity/Unreal/Godot (or whatever) and use them as decal projectors, if you wanted to have more crisp decals for whatever reason.
  • LiveryHelper isn’t necessarily limited to just car liveries! As explained above, you can use LiveryHelper for anything that simply requires images projected onto meshes, such as decals!

To use:

  1. Choose a source image for the “Source Image” input field.
  2. Change color tint and/or blend mode (add, multiply or mix).
  3. Choose spawn orientation (the rotation of the livery) and/or projection type.
  4. Click “Apply Base Livery Material” whilst the target mesh is selected to apply LiveryHelper’s base material.
  5. Click “Spawn Livery at 3D Cursor” to spawn the livery at the 3D Cursor position with the orientation selected previously.
  6. Simply do the above again to add more and more liveries!
6 Likes

Nice work. Is this like decals? Does it work on curved surfaces too like a sphere or cylinder?

Nice tool!
what happens if the base material has bump/normal map? Is it possible to blend (or not) the decal material with the base mesh material?
Something like VrayDecal does?

EDIT: Watching your Extension page, I can’t understand if you provide also a way to make the baking of the decals.

@melvi: It does indeed work on curved surfaces, it works on any surface! Also yes they are BASICALLY decals, although everything is done in the Material/shader rather than projecting flat geometry (like Blender’s Shrinkwrap modifier) onto the mesh like you would perhaps in Unity or Unreal or something. This means, as i just mentioned, the livery projection works on any surface, of any polycount.

@marcatore: Each livery you add is added to a chain of livery node groups in the Material, which is eventually linked to the albedo/diffuse, roughness and metallic inputs of a Principled BDSF shader. The livery node groups don’t take normal maps as i couldn’t get them to work properly, but as i said everything resolves to a normal Prin. BDSF shader, so you could just do whatever you need to do with your own node setup and/or an Image Texture node and hook all of that into the Normal input of the shader. In regards to baking textures, again, since everything resolves to the shader i mentioned, you can simply bake those inputs to a texture as you normally would, ie; Render tab > Bake > Albedo/Roughness/Metallic whatever (of course the mesh you are projecting liveries onto needs a UVMap for this to work). You could also have the livery setup “applied” to a high poly mesh and then bake that to a low poly mesh as you would normally bake high poly details such as normals, curvature etc…

I’d like to do a video explaining it at some point because some people seem to be a bit confused about how the plugin works.

2 Likes

That’s awesome.

:+1: