beffio - Game Assets Development
Game Assets Development

Car Paint 3.0 - Documentation


Car Paint - Documentation


1. Car Paint - Lite

Car Paint Lite is package which will help you to create photo-realistic visualisations of Cars, Motors, Planes and any kind of metal related objects using our three basic shaders. Supporting mobile and high-end workstations.

2. What's Inside Lite Version

▲ 3 Car Paint Lite Shaders ▲ 1 Car Model ▲ 24 Example Scenes ▲ Camera Rotate Script ▲ Explode Part Script ▲ 3 Environment Scenes ▲ 4 Light Flares ▲ HDRI Outdoor & Indoor Studio Maps 


3. Features:

▲ allows to quickly create your own car setups ▲ different scenariors examples for mobile and pc's ▲ different scenariors examples for mobile and pc's ▲ constant updates and new features ▲ active development & support ▲ easy to use for beginners and professionals ▲ clean & unique modern style

4. Technical aspects:

▲ optimised and polished prefabed models ▲ 8k & 4k Environment Textures ▲ Correct proportions ▲ Car Triangle Count 300k~ ▲ Separated vehicles parts for Car Configurators ▲ [IMPORTANT] Shaders are optimised for mobile, but example scenes are using Image Effects which may not work on mobile devices


3. Shaders ( LITE )
 

▲ Car Paint Opaque Baked Shader

This shader is not affected by light. Light is created using pre-rendered textures to give more realistic effect and better optimization. Recommended for all platforms with fast & efficient realistic effects without FPS drop-off. It’s using only 1 draw call per whole material shader. Recommendation: Games & Apps for Mobile & PC’s.

Parameters Specification:

Base Color - Overall Color of body paint (in Car Paint Transparent Shader you can define opacity of object using Alpha Channel)

Flake Parameters
Detail Color- Change Color of the Flakes Layer    
Detail Map - Flake Noise Detail Texture Map
----- Tiling - Size in XY of flakes if bigger then smaller flakes
Detail Map Depth Bias - distance - when you will start see any flakes if smaller then longer

Texture Map (Decals) Parameters
Diffuse Color - Control your texture - if alpha is set on 0 it’s turned off. Also if you are using decal with alpha channel this color with start to control your whole material color on alpha channel.
Diffuse Map - Slot for your Map/Texture (works with alpha so it can be used for dirt and other stuff that use alpha channel). Also Tiling included.

MatCap Parameters
MatCap Lookup - Special MatCap Texture rendered in 3d software. We provide you with them.

CubeMap Reflection Parameters
Reflection Color - Color of reflection and strength of it
Reflection Map - CubeMap Texture
Reflection Strength - Blending between two techniques of MatCap and CubeMap Reflection


Car Paint Opaque Physical

Alternative for Car Paint Opaque Baked Shader with affection by light that also can produce shadows. Fully physical shader so it also have normal map slot. Recommendation: Games & Apps for Mobile & PC’s

Parameters Specification:

Normal Map Slot - slot for “Normal Map” like textures for details on shapes.

All other parameters are the same like in Car Paint Opaque Baked Shade but there is not MatCap solution.


Car Paint Basic PBR Shader

Physical Based Rendering Shading Materials - in update 2.0 we made PBR shaders based on build-in Standard Shader. You can use fully potential of that shaders with all slots.

Recommendation: Games & Apps for Visualizations on High-End PC’s.

Since there is not a lot of changes that we've made comparing to original one, you can still read about all parameters on Unity3D Documentation site: https://docs.unity3d.com/Manual/shader-StandardShader.html

In Update 3.0 we've added a normal map flake texture made using our Flake Generator Tool to give a basic flake support.

4. Models

The package comes with One High-End Model. Each carefully crafted from scratch with game in-mind optimization. However this models are fitted mostly for high-end stations. Each mesh model has something around 300k triangles. 

5. Plugins
 

▲ Smooth Orbit Camera Zoom and Rotate Script

One easy script for smooth and easy to use camera rotation.

Target Object - your target point
Target Offset - offset your target
Average Distance - distance between min and max
Max Distance - how long is your scroll
Min Distance - how near is your scroll


XSpeed - rotate speed in X
YSpeed - rotate speed in Y
YMin Limit - your target rotate lock
XMax Limit - your target rotate lock
Zoom Speed - scroll speed
Zoom Dampening - smoothness of zooming


 Explode GameObject Part Script

Script to easy animate your object in scene and after begin playmode active them on keyboard key with smooth tween. It remembers position, rotation and scale.

Explode Part Editor - here you define your animation

  • Set initial transform - set you start object postion, scale and rotation
  • Set final transform - set you final object position, scale and rotation
  • Explode preview - move scroll bar to see your animation in editor

Explode Part Manager Script - put this on parent object

  • Animation Time - speed of your animation
  •  Key - your ketboard shortcut key

Explode Part Script - put this on child object that you want to animate

  • Your object data for position, rotation and scale



5. Car Paint - Pro

Car Paint Pro will help you to simulate next level photo-realistic visualizations of any kind metallic related materials. Reflective Clear Coat, Metallic Flakes with Procedural Flake Tool, Overlay, Fresnel, Base Glossiness & Diffuse. This shader is mostly recommended for high-end workstations.

6. What's Inside Full Version

▲ 4 Pro Clear Coat PBR Shader with 8 subshaders ▲ Procedurally Generated Flakes Tool ▲ 43 Example Scenes ▲ 5 Environment Scenes ▲ 3 Detailed Car Models ▲ 30 Camera Animations ▲ 5 HDR Images.

Features:

▲ This Pro Shader is a complex material with four layers: a base diffuse layer, a base glossy layer, reflective coating layer, overlay layer, fresnel layer, metallic flakes layer, and clear coat layer. The material allows the adjustment of each of these layers separately.
▲ There are four shaders included. The regular car paint shader has a ‘Base Paint’ layer and a ‘Reflective Coating’ layer. There is also a shader with an extra ‘Overlay’ layer available, this could be used for dirt, wear and decals. Both of these layers have a transparent and a opaque variant.
▲ The shaders are built up with different layers, each layer has it’s own lighting and relevant settings.
▲The car paint shaders use maps to render the flakes. In order to ease the creation of these maps the package includes a tool for generating procedurally these maps.

Technical aspects:

▲ Optimized and polished prefabed models
▲ 8k & 4k Environment Textures
▲ Correct proportions
▲ Car Triangle Count 300k~
▲ Separated vehicles parts for Car Configurations
▲ [IMPORTANT] Shaders are optimized for mobile, but example scenes are using Image Effects which may not work on mobile devices.

Each element has been carefully crafted, with in-game use optimization in mind.



7. Shaders ( PRO )

Our Pro version of Car Paint 3.0 is build using a latest PBR techiques. It is a complex material with four layers: a base diffuse layer, a base glossy layer, reflective coating layer, overlay layer, fresnel layer, metallic flakes layer, and clear coat layer, . The material allows the adjustment of each of these layers separately.

▲ PBR Car Paint Shader

There are four shaders included. The regular car paint shader has a ‘Base Paint’ layer and a ‘Reflective Coating’ layer. There is also a shader with an extra ‘Overlay’ layer available, this could be used for dirt, wear and decals. Both of these layers have a transparent and a opaque variant.


Accessible through the shader slots: [‘Beffio/Car Paint 2 - Opaque’, ‘Beffio/Car Paint 2 - Transparent’, ‘Beffio/Car Paint 2 Overlay - Opaque’, ‘Beffio/Car Paint 2 Overlay - Transparent’]


Features

The shaders are built up with different layers, each layer has it’s own lighting and relevant settings.

#### Base Paint Layer
This is a metallic workflow based shader layer, with basic maps and sliders for properties such as ‘Albedo’, ‘Metallic’, ‘Smoothness’, ‘Normal’ and ‘Occlusion’. On top of those properties, it is possible to add the three different effects shown at the bottom of the inspector: ‘Flake Bumped’, ‘Flakes Color’ and ‘Fresnel’

#### Reflective Coating Layer
This is a specular workflow based shader layer. Only ‘Specular’ and ‘Smoothness’ properties can be changed by slider or map. This gives a transparent varnish effect on top of the ‘Base Paint’ layer.

#### Overlay Layer
This is a specular workflow based shader layer drawn on top of both previous layers. It allows to specify an ‘Overlay Albedo’ color or map with ‘Overlay Specular’ and ‘Overlay Smoothness’ values or map. This layer can be used for applying various effects like dirt, decals, wear and tear.


#### Flakes Bumped
Car paints have metallic flakes in their ‘Base Paint’. This can be simulated with this effect, by specifying a ‘Flake Normal Map’. This ‘Flake Normal Map’ will be blended with the regular normal map. You can use the included tool for generating random tileable flake normal maps, or you can use your own normal map.

#### Flakes Color
Additionally to the bumped flakes, it is possible to specify a ‘Flake Color’. These flakes will change the albedo color based on a ‘Flake Map’. If no ‘Flake Map’ is specified, the flakes will be based on the specified ‘Flake Normal Map’. You can use the included tool for generating random tileable flake pattern maps, or you can use your own pattern map.

#### Fresnel
A basic ‘Fresnel Color’ can be applied to the ‘Base Paint’ color. Fresnel is an effect where the color of the object changes based on the viewing angle on a surface. A viewing angle perpendicular on the surface will give the regular color, viewing angles tending more to parallel will show the ‘Fresnel Color’.


Properties of each layer

#### Base Paint Layer
- ‘Base Albedo’ [Color and/or Texture(rgba)]: Color of the base paint. For the transparent shaders, the alpha value affects the transparency of the whole layer. The texture is colorized with the color.
- ‘Base Metallic’ [0; 1]: Metallic value of the base paint.
- ‘Base Smoothness’ [0; 1]: Smoothness or glossiness value of the base paint.
- ‘Base Metallic-Smoothness Map’ [Texture (red & alpha)]: ‘Base Metallic’ value in Red channel, ‘Base Smoothness’ value in Alpha channel. Replaces sliders for the two above properties.
- ‘Normal Map’ [Normal Texture]: Regular normal map, for defining the per pixel lighting directions.
- ‘Normal Strength’ [Multiplier]: Strength of the normals in the above normal map.
- ‘Occlusion Map’ [Texture (blue)]: Certain areas like cavities should be less affected by indirect lighting, these can be specified with the occlusion map.
- ‘Occlusion Strength’ [0; 1]: Strength of the above occlusion map.
- ‘Emission Map’ [Color or Texture (rgb)]: The unlit color of the object.
- ‘Emission Brightness’ [Multiplier]: Strength of the above emissive value or map. Above 1 will be HDR.

#### Reflective Coating Layer
- ‘Reflection Specular’ [0; 1]: Specular value of the reflective coating.
- ‘Reflection Smoothness’ [0; 1]: Smoothness or glossiness value of the reflective coating.
- ‘Reflection Specular-Smoothness Map’ [Texture]: ‘Reflection Specular’ value in RGB channels, ‘Reflection Smoothness’ value in Alpha channel. Replaces sliders for the two above properties.

#### Overlay Layer
- ‘Overlay Albedo’ [Color or Texture (rgba)]: Color of the overlay layer. The alpha value affect which parts of the overlay show over the other layers. The texture is colorized with the color.
- ‘Overlay Specular’ [0; 1]: Specular value of the overlay layer.
- ‘Overlay Smoothness’ [0; 1]: Smoothness or glossiness value of the overlay layer.
- ‘Overlay Specular-Smoothness Map’ [Texture]: ‘Overlay Specular’ value in RGB channels, ‘Overlay Smoothness’ value in Alpha channel. Replaces sliders for the two above properties.

#### Flakes Bumped
- ‘Enabled’ [bool]: Enables or disables the bumped flakes. This will disable all flake normal map processing code.
- ‘Flake Normal Map’ [Normal Texture]: Flake normal map, for defining the per pixel lighting directions. This map can be generated with the included ‘Flake Generation’ tool.
- ‘Flake Scale’ [multiplier]: Scales the flake map.
- ‘Flake Strength’ [0, 8]: Strength of the normals in the above normal map.

#### Flakes Color
- ‘Enabled’ [bool]: Enables or disables the colored flakes. This will disable all flake color processing code.
- ‘Flake Color’ [Color or Texture]: Color of the overlay layer. The alpha value affects how strong the ‘Flake Color’ is shown. The texture is colorized with the color.
- ‘Flake Pattern Scale’ [Multiplier]: Scales the ‘Flake Color Map’. Only visible when a map is specified.
- ‘Flake Color Mode’ [Popup]: When no ‘Flake Color Map’ is specified, it is possible to show ‘Flake Color’ based on the ‘Flake Normal Map’. There are two methods for processing that normal map. ‘Flake Alpha Strength’ and ‘Flake Cutoff’.
- ‘Flake Alpha Strength’ [0; 10]: Will colorize all flakes on the normal map, with this value as a multiplier. Results in nearly all flakes being colored, but with a different ‘Flake Color’ strength.
- ‘Flake Cutoff’ [0; 0.95]: Will only colorize flakes with a strength above the cutoff value. Results in not all flakes being colored, but all flakes which are colored full ‘Flake Color’

#### Fresnel
- ‘Enabled’ [bool]: Enables or disables the fresnel. This will disable all fresnel processing code.
- ‘Fresnel Color’ [Color]: Color of the fresnel.
- ‘Fresnel Power’ [0; 10]: Fresnel power affects how much of the color is shown. Smaller value will show more fresnel effect, larger values will show less.


### Code Properties

ContentText [Class]: Contains all UI related text strings. Edit for changing text and tooltips of any text in the inspector window.


8. Plugins

 

▲ Flake Generation Plugin

The car paint shaders use maps to render the flakes. In order to ease the creation of these maps the package includes a tool for generating these maps.
Accessible through the menu: ‘Window/Beffio/Flake Generation’.

### Features

#### Normal Map
The tool can generate a ‘Flake Normal Map’ for the ‘Flake Bump’ effect. Each flake is an ellipse with a random angle, random radius based on the ‘Size’ property and a random normal direction based on the ‘Strength’ property.

#### Mask Map
The tool can generate a grayscale ‘Flake Color Map’ for the ‘Flake Color’ effect. Each flake is an ellipse with a random angle, random radius based on the ‘Size’ property and a random intensity based on the ‘Strength’ property.

### Properties
 

‘Density’ [0; 1]: The amount of flakes in the normal map.

Flake Density 0.1

Flake Density 0.2

Flake Density 0.4

’Strength’ [0; 1]: The strength of the flakes. For a ‘Normal Map’ it will affect the maximum deviation from the perpendicular normal. For the ‘Mask Map’ it will affect the maximum gray value of the flakes.

Flake Strength 0.1

Flake Strength 0.5

Flake Strength 1.0

‘Size’ [Min-Max]: The range in between the flake ellipse radii can be.

Flake Size 0.8 - 1.0

Flake Size 0.4 - 0.6

Flake Size 0.1 - 0.3

‘Smoothness’ [0; 6]: The smoothness of the flake edges. 0 will be aliased, 3 (default) is a good anti-alias value.

Flake Smoothness 1

Flake Smoothness 2.5

Flake Smoothness 5

‘Texture Size’ [4; 12][16; 4096]: The size of the texture in pixels. The slider controls the power of two of the size. Bigger textures can give more precise flakes, but will increase the size of the game and decrease the efficiency.

Texture Size 512x512px

Texture Size 1024x1024px

Texture Size 2048x2048px

‘Generate’: Randomly generates new flake textures, based on the settings.
’Save’: Saves the currently shown map to the set path.

### Code Properties
_textureSavePath [Path]: Save path of the textures. Default path: ‘/CarPaintShaders2/Textures/‘
_normalTextureName [String]: File name of the normal texture. Default name: ‘GeneratedNormalFlakes’
_normalTextureExtension [Extension]: File extension of the normal texture. Default extension: ‘.png’
_maskTextureName [String]: File name of the mask texture. Default name: ‘GeneratedMaskFlakes’
_maskTextureExtension [Extension]: File extension of the mask texture. Default extension: ‘.png’
ContentText [Class]: Contains all UI related text strings. Edit for changing text and tooltips of any text in the editor window.


9. Models

The package comes with 4 High-End Models. Each carefully crafted from scratch with game in-mind optimization. However this models are fitted mostly for PC workstation in mind. Each mesh model has something around 300k triangles. 


10. Media

 

11. Support

Twitter: @beffio
Facebook: fb.com/beffio
Contact Form: beffio.com/contact

12. Old Tutorials & Videos (From Old Asset Version)

This is section dedicated for our old version of Car Paint 2.0 which has been totally update so some of features could not be available in latest version. However some tools are still available and you can learn how to use them using tutorial below.