All Projects → Anatta336 → Driven Decals

Anatta336 / Driven Decals

Licence: mit
A mesh-based PBR decal system for Unity's universal render pipeline.

Projects that are alternatives of or similar to Driven Decals

Unity Assetpipeline Presentation
Unity project for "A Technical Deep-Dive into Unity's Asset Pipeline" presented at Develop: 2018
Stars: ✭ 31 (-88.35%)
Mutual labels:  unity3d, unity-editor
Awesome Unity Open Source On Github
A categorized collection of awesome Unity open source on GitHub (800+)
Stars: ✭ 1,124 (+322.56%)
Mutual labels:  unity3d, unity-editor
Scene View Bookmarks
Unity editor extension to bookmark scene views.
Stars: ✭ 40 (-84.96%)
Mutual labels:  unity3d, unity-editor
Unity Quicksheet
Unity-QuickSheet enables you to use spreadsheet file data within Unity editor.
Stars: ✭ 742 (+178.95%)
Mutual labels:  unity3d, unity-editor
Unigit
An open source GIT Unity3D editor plugin.
Stars: ✭ 111 (-58.27%)
Mutual labels:  unity3d, unity-editor
Tracerysharp
C#/Unity port of Tracery (heavily WIP)
Stars: ✭ 19 (-92.86%)
Mutual labels:  unity3d, unity-editor
Revealshader
Unity Shader experiment
Stars: ✭ 47 (-82.33%)
Mutual labels:  unity3d, unity-editor
Unity Script Collection
A maintained collection of useful & free unity scripts / library's / plugins and extensions
Stars: ✭ 3,640 (+1268.42%)
Mutual labels:  unity3d, unity-editor
Pb stl
STL import/export for Unity, supporting both ASCII and Binary.
Stars: ✭ 108 (-59.4%)
Mutual labels:  unity3d, unity-editor
Rex Diagnostics
Unity extension that enables expression evaluation at runtime to facilitate testing and debugging.
Stars: ✭ 78 (-70.68%)
Mutual labels:  unity3d, unity-editor
Actors.unity
🚀Actors is a framework empowering developers to make better games faster on Unity.
Stars: ✭ 437 (+64.29%)
Mutual labels:  unity3d, unity-editor
Missingreferencesunity
A Unity editor extension for finding missing object references
Stars: ✭ 146 (-45.11%)
Mutual labels:  unity3d, unity-editor
Easybuttons
Add buttons to your inspector in Unity super easily with this simple attribute
Stars: ✭ 410 (+54.14%)
Mutual labels:  unity3d, unity-editor
Unitynativescripting
Unity Scripting in C++
Stars: ✭ 844 (+217.29%)
Mutual labels:  unity3d, unity-editor
Texture maker
A texture maker tool for unity.
Stars: ✭ 358 (+34.59%)
Mutual labels:  unity3d, unity-editor
Uniuguitoolbar
【Unity】uGUI のオブジェクトを作成できるツールバーのエディタ拡張
Stars: ✭ 44 (-83.46%)
Mutual labels:  unity3d, unity-editor
Unity Editor Toolbox
Tools, custom attributes, drawers, hierarchy overlay, and other extensions for the Unity Editor.
Stars: ✭ 273 (+2.63%)
Mutual labels:  unity3d, unity-editor
Extosc
extOSC is a tool dedicated to simplify creation of applications in Unity with OSC protocol usage.
Stars: ✭ 69 (-74.06%)
Mutual labels:  unity3d, unity-editor
Ma textureatlasser
Texture atlas creator for Unity
Stars: ✭ 116 (-56.39%)
Mutual labels:  unity3d, unity-editor
Unitypausemenu
This is an open source Unity pause menu created for the game New Horizons, and it's completely free because of how a pause menu is a core component of a game, while the unity asset store was lacking in such an asset (until this was released on the asset store).
Stars: ✭ 160 (-39.85%)
Mutual labels:  unity3d, unity-editor

Driven Decals

A mesh-based PBR decal system for Unity. For use with the Universal Render Pipeline's forward renderer.

There are broadly two approaches to rendering projected decals in real-time graphics:

  • Generate a projected mesh for each decal instance in the scene.
  • Dynamically project the decal in view-space using a fragment shader.

Each approach has its strengths and many projects benefit from using both for different situations. For example Half-Life: Alyx appears to use projected mesh decals for some static scenery details, and view-space projected decals for dynamic effects like bullet holes. I've written a little interactive article about how decals can be rendered if you would like to know more.

This decal system only deals with creating projected meshes, so you shouldn't expect it to be a complete solution to every decal use case.

60 second introduction video.

Decals applied to a cylinder, giving the impression that it is made of cracked concrete. One of the cracks reveals a bright abstract pattern beneath the surface.

Key Features

  • Creates meshes that behave like any other mesh in your scene. Making them easier to work with and use with other features.
  • Easy to customise using Unity's Shader Graph.
  • Low rendering cost and full compatibility with URP's forward renderer makes it ideal for use in XR.
  • Custom inspectors that provide immediate in-editor feedback.
  • Support for multi-object editing and undo.

Key Limitations

  • Decal mesh generation is relatively slow. This system is not recommended as a way to dynamically place bullet holes or other effects during gameplay.
  • Once the decal mesh is generated it remains as it is and will not adapt to the other meshes changing. This system will not work nicely with skinned mesh renderers or other meshes that get distorted at runtime.

Changelog

Human-friendly changelog

Getting Started

Requirements

  • Unity 2019.3.0f6 or later, using the universal render pipeline (URP) version 7.2.1 or later.

In theory it should work in the LWRP and Unity versions as far back as 2018. But it looks like shader graph really doesn't care about cross-version compatibility. If you need this to work in those earlier versions I may be able to put together something compatible with some extra work.

Installation

  1. Within your project open the Package Manager from WindowPackage Manager
  2. Click the + icon at the top-left of the window and select "Add package from git URL..."
  3. Paste in https://github.com/Anatta336/driven-decals.git and click "Add"
  4. Wait a minute. It looks a lot like nothing is happening, but Unity is busy thinking about packages.
  5. When installed you'll see "Driven Decals" listed in the window.

Or you can manually modify your project's manifest.json file in the Packages folder to include:

{
  "dependencies": {
    "com.samdriver.driven-decals": "https://github.com/Anatta336/driven-decals.git",
    ...
  },
}

Documentation

Extensive documentation including step-by-step instructions to get you started.

Authors

Sam Driver - Website, Twitter, PayPal (any support is very gratefully received)

Special Thanks

Kenny5 - Made everything work nicely with the Unity Package Manager.

Licence

The source code of this project and associated documentation is licensed under the MIT licence.

The included example assets are licensed under the Attribution 4.0 International (CC BY 4.0) licence.

These licences mean you already have permission to use this in whatever project you like, including commercial releases. They place no obligation on you to release your source code. If you release something that makes use of this decal system a small acknowledgement in the credits would be appreciated, but is not required.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].