Website powered by

Level 6 BA Final Project - Black Hole Generator with accompanying Niagara Asteroid System

Level 6 BA Final Project.
Runtime Black Hole Shader, with Gravitational Lensing, Raymarched Volumetric Accretion Disk with secondary Raymarched Shadows
Rotating Niagara system utilizing Houdini Procedurally Generated Asteroids & Editable EUW for editing MPC Parameters at runtime.

This shader runs entirely on the inside of an Inverted Sphere, No Geometry, No Volume vdbs or SVT's, Highly Optimized to run at 120fps on mid-range computers at 2k Resolution.

Final Year BA Technical Art Submission at University.

Static Black Hole render, Captured in Unreal Engine 5.7.4
120 FPS at 2K resolution

This project has no volume actors, no geometry (Other than the Asteroid 
Niagara System), And 1 singular light (For the asteroid shading)

Static Black Hole render, Captured in Unreal Engine 5.7.4
120 FPS at 2K resolution

This project has no volume actors, no geometry (Other than the Asteroid
Niagara System), And 1 singular light (For the asteroid shading)

Demonstration of EUW and runtime performance, editing MPC Values using an Editor Utility Widget, saved locally.

Asteroid Belt Niagara system built in UE 5.7. 
Using Mesh Renderer with 4 instances of Houdini Generated Asteroid meshes, with 4 LOD's each, packed and exported for use in Unreal Engine

Asteroid Material occluded using a Translucency mask, from the BH

Asteroid Belt Niagara system built in UE 5.7.
Using Mesh Renderer with 4 instances of Houdini Generated Asteroid meshes, with 4 LOD's each, packed and exported for use in Unreal Engine

Asteroid Material occluded using a Translucency mask, from the BH

Simplified Asteroid VOP, using a Sphere mesh, applying subdivisions, applying noise, Scattering smaller spheres onto the noisey sphere, booling them out & remeshing with additional noise.

Simplified Asteroid VOP, using a Sphere mesh, applying subdivisions, applying noise, Scattering smaller spheres onto the noisey sphere, booling them out & remeshing with additional noise.

Separate Black Hole Shader Translucency Mask, Driving the Asteroid Materials Opacity (to get around the Rendering order of the Inverted Sphere approach (Everything was rendering INFRONT of the black hole).

Calculated at runtime to follow MPC values.

Separate Black Hole Shader Translucency Mask, Driving the Asteroid Materials Opacity (to get around the Rendering order of the Inverted Sphere approach (Everything was rendering INFRONT of the black hole).

Calculated at runtime to follow MPC values.

Editor Utility Widget Custom UI, with slider input & additional float value inputs, all driving MPC values, for the Black Hole Shader & Background Shader.

Editor Utility Widget Custom UI, with slider input & additional float value inputs, all driving MPC values, for the Black Hole Shader & Background Shader.

One example of the Slider & float Input BP, in the Editor Utility Widgets Event Graph

Reused for the entire EUW.

One example of the Slider & float Input BP, in the Editor Utility Widgets Event Graph

Reused for the entire EUW.

Black Hole Shader Graph (Driven using an External .usf Shader file)

Black Hole Shader Graph (Driven using an External .usf Shader file)

Black Hole Render @ 2k Resolution.

Black Hole Render @ 2k Resolution.
Volumetric Fog