![AdvancedDecalSkeletals02-1920x1080-2753559d6c3de0f4b3d8c2f4961a54fd.png](https://cdn1.epicgames.com/ue/product/Screenshot/AdvancedDecalSkeletals02-1920x1080-2753559d6c3de0f4b3d8c2f4961a54fd.png)
1.Introduction:
Demo Video: YOUTUBE LINK
V2 Update (PBR Decals, Wraps, Material Brushes) Video: YOUTUBE LINK
Advanced Decal Component is a StaticMesh/SkeletalMesh UV independent Mesh Decal Projection tool with multi-layer support (add,edit, move up/down and remove). Usable in editor-time as an Actor, and at runtime as a component attached to desired blueprint. The component projects, packs and bakes all decal texture to the mesh UV for optimal performance.
By attaching this component to an actor with mesh data (Skeletal Mesh, Static Mesh) you can paint skins and decals on said actor. You have total control over where to project the decal (see section '2.Requirements' below), stack multiple decals on top of each other, edit existing decals, or remove baked decals. It also works on translucent surfaces.
An example widget and Actor to manipulate the layers are available. An Actor blueprint with a skeletal mesh component is considered as an example target with added Decal Component to showcase integration of the subsystem with your game.
2.Requirements:
- The mesh should be uniquely UVed (no mirrored UVs) with no overlapping islands and visible seams. (the example mannequin provided is a modified version of UE4 Mannequin that has unique UVs)
- The target Skeletal or Static Mesh should have its material blended with the provided 'DecalBlendFunc' and expose three TextureObjectParameter (automatically set at runtime to CanvasRenderTarget2D objects) values for the component to store its data in.
3.Advantages:
These are the advantages over conventional Decal Components in Unreal Engine 4:
- Doesn't bleed to other actors.
Conventional: Bleeds to other actors that have bReceivesDecals On.
- Projects on a single material index.
Conventional: Can't have control by default over what material to project
- Can be used to layer decals one on top of others using the same component
Conventional: Doesn't blend between decals of multiple DecalActor/DecalComponent instances
- Works on translucent surfaces!
Conventional: Doesn't support projection on translucent surfaces by default because it requires depth information
- Single actor for all decals of the same mesh
Conventional: Number of actors/components keeps going up as u add more decals making it hard to manage all the actors
- Bakes all projections to UV map to optimize performance instead of using active projection on all decals
Conventional: Active projection for all decal components/actors
- Deform (set coverage area, scale, rotate) decal, modify tint color and translucency over one another!
Conventional: Only transforms are available by default, need to explicitly define other params in your decal material
- Works for animated skeletals !
Conventional: Must be socketed to a bone with chances of bleeding if collision cube touches other surfaces of the same/other mesh
3.Project Details:
The provided project has one example map to showcase the component usability. Without the example Skeletal Meshes, the project size is under 12MB.
4.Bonus Content:
A 3D concept car skeletal mesh (300MB)
A fully functional multi-purpose Color Widget Blueprint
Technical Details:
Features:
- Project Decals onto Static Meshes or animated Skeletal Meshes
- Control how the decals are layered on top of each other
- Limit the amount of maximum decals to project, remove baked decals, or edit the position, projection angle, rotation, color, and transparency of existing decal layer in the layer stack.
- Each actor with an Advanced Decal Component allocates space for 3 CanvasRenderTarget2D in memory
Number of Blueprints: 10
Input: (Keyboard, Mouse)
Network Replicated: (Yes)
Supported Development Platforms:
Windows: (Yes)
Mac: (Yes)
Documentation: GDRIVE LINK
Important/Additional Notes: Please feel free to read through blueprints' descriptions.