Project inspired by and based on Arvtesh/UnityFx.Outline.
- Download latest package from Releases and import in project.
- Add Outline Feature to renderer settings.
- Set Outline Shader to
OutlineFeature/Shaders/outlineShader.shader
. - Set Masking Shader to
OutlineFeature/Shaders/outlineMaskShader.shader
. - Add a default material to render hidden parts with.
For demo scene to work as intended, current render pipeline in project settings/Quality/Render Pipeline Asset
must be changed to OutlineFeature/DemoScene/URP-pipeline
.
- Set layer mask in Outline Feature configuration. All objects in these layers will have outline enabled.
- Configure other outline settings.
Overlapping objects' outlines will be combined when using layer-based mode.
- Add Outline Effect component to an object. It must have any renderer (such as MeshRenderer) attached.
- Configure outline settings for this object.
Setting | |
---|---|
Use global settings | (per-object mode only) Use settings from outline render feature |
Color | HDR Color for the outline |
Outline Size | Change size of the outline to one of 3 available values |
Flags | Enable special features |
Flag : Use Depth | Enable depth tests to draw outline only around the visible part of the object |
Flag : Show Hidden | Render the hiden part of the object using material set in Renderer settings |
- Override Hidden Material | (Only when Show Hidden flag is enabled) Use custom material for hidden parts of the object |
Flag : Precise | (Experimental) Use if object is transformed with vertex shader. This feature will attempt to make the outline match the final shape of the object |
- Shader Passes | (Only when Precise flag is enabled) Set which shader passes to use when determining the shape of the object. By default all passes for all sub-meshes are used. If provided, a list of pass numbers must be provided for every submesh in order. Use pass number -1 to render all passes for that submesh. |