コンテンツにスキップ
出品NANITE NIAGARAのメディア1

説明

NANITE NIAGARA C++ MULTITHREAD PLUGIN and BLUEPRINT NANITE RENDERER - V2.0.1

<<NOTE: Epic Games has added a Nanite Niagara Renderer directly to the engine as of Unreal Engine 5.7+>>
Price for this plugin reduced to free and no updates are planned, single threaded example in the devlog links.

Thank you for your support!

Adding Niagara particles to the Nanite system reduces draw calls, and may reduces shadow caching speeds/calculation times when using Lumen and Virtual Shadow Maps. Blueprint overhead increases with particle count, making C++ multi thread best for moderate to high particle counts.

This Plugin and Content provides: Blueprint, C++ and C++ multithread particle conversion functions, as learning examples of the same work done in more optimized methods.

This plugin demonstrates how to render Niagara particles as Nanite static meshes by:

1. Export particle position each frame from Niagara (GPU or CPU simulation type.)

  1. Que-up exported Niagara data into an array on the CPU (based off Niagara Callback Events.)

  2. Convert exported Niagara data into an array of transform arrays by static mesh.

  3. Update Instance Static Mesh components per static mesh asset, each CPU frame, for Nanite rendering.

  4. Optional : "Sleeping" of dead particle locations to a Instance Static Mesh, generating Mesh Distance Fields for particle collisions and piles.

EXAMPLE LEVELS are provided to demonstrate the differences in speed between Blueprints and C++ multi threaded conversions:

  1. (FASTEST) C++ MultiThread Plugin Code Conversion of exported Niagara data, with a blueprint rendering of the converted transform arrays by Nanite Instance Static Mesh per frame. Optional sleeping of dead particles to ISMs, for building piles of Nanite exported particles.

  2. (Faster than normal at Low Volume) Blueprint Code Conversion of exported Niagara data, with a Blueprint rendering of converted transforms arrays as Nanite ISMs. Optional sleeping of dead particles to ISMs, for building piles of Nanite exported particles

  3. (UE5 NORMAL PARTICLES) Non-Nanite Niagara Static Mesh Renderer for a standard baseline performance to compare against. No sleeping to ISM.

DOCUMENTATION:

-PACKAGED DEMO UE5.3 (Win x64): https://drive.google.com/file/d/1H_0C2umBEKPE_iLa0hmJHM_MU49TQ3_a/view?usp=sharing

-V2 Living Document: docs.google.com/document/d/1H95kF84rTiM6LSZFk1InAvWTDC9V6Sox27JOoTqbJpw

-Commented Blueprint and C++ Code

-DEVLOG of development: https://dev.epicgames.com/community/learning/tutorials/w6wG/unreal-engine-nanite-niagara-gpu-particle-renderer-and-rendering-of-100-000-particles-using-a-single-niagara-system-with-33-different-meshs-blueprint-and-c-code-performance-review

Thank you!

By GameDevMicah Berninghausen Linkedin

Optimization Consultant & Game Director at Aggressive Performance

@GameDevMicah on BlueSky/Twitter/Discord

Terms of Service: For use in Video Games and Virtual Production, not for tool development for public resell.

含まれる形式