Bloom

 Project Details

Contribution Highlights

Overview of the Nvidia Physx implementation to our engine

Implementation

Setting up the PhysX Actor from Unity

Rigid Dynamic Component as a handle for our PhysX Actor import setup.

Level in our engine

Level in Unity

PhysX Debug Visualization Toggle for the team

Implementation of PhysX draw lines into our engine

Update transform of our game objects from the PhysX actor transform

To handle all the game objects transforms & children transforms:  myGameObject->SetTransform();
Was written by Christoffer Rösäter on my team; A skilled programmer & considerate teamplayer who I can highly recommend.

A solution for a stable physics simulation with decoupled Rendering

This also resulted in smoother rendering

Before

After

Callbacks in PhysX

Handling Triggers using Simulation Event Callbacks

Handling contacts for the player

Treating the message as reciever, this proved an easy way for my team to work against.

All of this above could be handled in a different way, however this proved an easy to use system for my team.
Performance was not an issue due to the smalller scale of the projekt.

On Contact Callbacks

An abstract idea of how to handle it

State/Scene handling

Cached States

*The video is from an early stage of development running in debug mode and without threading loading hence the slower loading times. The scenes that you see in main menu and credits were cut due to a request of our designers wanting the game to look more minimalistic. Functionality remains in the engine.*

Observer Design Pattern

User Interface System

Checkpoints

Level Transition

Scene Selection using ImGui