Tasks Undertaken
Disabled Plane in Mirror Blueprint
Deactivated plane in mirror blueprint to address an issue with double rendering.

Repositioned Player and Assets
Adjusted player and asset positions for better alignment.

Added AI Damage System
Implemented a versatile damage system applicable to all objects.

Clean-up of BP_VRCharacter
Conducted a thorough cleanup and organization of the BP_VRCharacter blueprint.

Replaced Old Toilet Model
Substituted the outdated toilet model with a new one.

Added Health System
- Integrated a health system into the Damagable component.
- Implemented a health bar for enemies.

Added & Imported TSR (Temporal Super Resolution)
- Incorporated TSR to resolve pixel noise surrounding objects.
- Provided the NVIDIA Plugin in the project files for easy accessibility.

Added Player Death & Bug Fixes
- Implemented player death functionality.
- Resolved bugs where NPCs would continue attacking a dead target.

Fixed Attack Target Bug
- Rectified a bug causing AI to fail in resetting its attack target after the target's death.

Added Jump and Seeking to Enemy AI
- Introduced jumping behavior for enemy AI with correct jumping animations.
- Implemented seeking behavior for enemy AI.

Researched Pixel Noise (Compared MSAA & TSR)
Conducted research on pixel noise, comparing MSAA and TSR.

Researched VR Optimization Methods
Explored various VR optimization techniques to enhance overall performance.
Double Diamond
During the initial discovery phase, I thoroughly examined the existing project to identify areas that required improvement and enhancement. This involved scrutinizing the codebase, exploring the functionalities, and analyzing user feedback. In this phase, I focused on two main aspects: identifying issues and understanding user requirements. The disabled plane in the mirror blueprint and repositioning of the player and assets were key findings that emerged from this exploration.

Having discovered the key areas for improvement, I moved into the definition phase to clearly articulate the problems and opportunities. The identified issues were categorized and prioritized. The addition of the AI damage system (Figure 1) was defined as a critical improvement to enhance overall gameplay. Additionally, the clean-up of the BP_VRCharacter blueprint and the replacement of the old toilet model were identified as essential for maintaining a clean and efficient codebase and folder structure.

In the development phase, I implemented the defined solutions. This included the integration of the AI damage system, the thorough clean-up of the BP_VRCharacter blueprint, and the replacement of the old toilet model. The introduction of the health system and health bar for enemies (Figure 2) was a significant development aimed at enhancing the overall gaming experience. The incorporation of TSR (Temporal Super Resolution) to address pixel noise further contributed to visual quality, with the NVIDIA Plugin conveniently available in the project files.

Finally, in the delivery phase, the developed solutions were tested and integrated into the project. Player death functionality and bug fixes, including the resolution of the attack target bug, were implemented to ensure a more seamless gaming experience. The addition of jumping and seeking behaviors for enemy AI (Figure 3 & 4) added depth to their actions. Simultaneously, the research conducted on pixel noise (Figure 5) and VR optimization methods laid the groundwork for potential future enhancements.
Throughout this double diamond method, the iterative nature of the process was crucial. The constant feedback loop between discovery, definition, development, and delivery ensured a refined and user-centric outcome. Figures 1 to 5 represent key milestones and visual representations of the enhancements made during each phase of the double diamond process this week.
Last week, I spend a lot of time researching rendering techniques in VR, with a focus on pixel noise with TSR and MSAA. Pixel noise appears around objects that are further away. After a lot of research on NVIDIA's Temporal Super Resolution (TSR) with the NVIDIA download plugin for Unreal, I decided to import it to our project.
TSR would fix the pixel noise problem, but would give lower FPS and, I found out, doesn't work with Unreal's UI system. This forced us to go back to MSAA. This was a setback, since I was very happy when looked like TSR worked.

- Tycho Tuitert: General feedback, discussions, and help throughout this week.

- NVIDIA plugin (and TSR) documentation: ​​​​​​​https://developer.nvidia.com/rtx/dlss/get-started
Reflections and Learning
This week, I spend a lot of time on researching anti-aliasing methods (FXAA, TAA, MSAA, TSR). The reason behind this, was that we wanted to remove the pixel noise you would see when looking at objects further away in VR. This makes large environments where you can see in the distance very ugly. With the help of TSR, I could fix this problem. One issue though, it doesn't work with the UI system of Unreal. This was quite sad, because we were very happy that we finally found a solution.
Apart from that setback, I learned a lot about the different anti-aliasing methods Unreal supports. Not all of them are fit for VR (FXAA & TAA), but getting to know their differences was very informative.
I also finally found out how to apply a correct jumping animation to the enemy AI. It turns out I needed to adjust some values in the blend space to enable jumping within the animation blend that comes with the Unreal mannequin.

Figure 1 - Damage System made for the enemy AI

Figure 2 - Enemy health bar

Figure 3 - Jumping of the enemy AI

Figure 4 - Seeking state of the melee enemy

Figure 5 - TSR vs MSAA (8x)

Other projects