Fantastical Delights

November ‘19 — November ’21 || Unreal Engine C++ Maya Mudbox Substance Painter

Matthew L. Komar
3 min readJan 3, 2023

A surreal VR experience based on the art of Hieronymus Bosch.

I created a surreal Virtual Reality experience with an explorable open word populated by animal herds. It was built using Unreal Engine, Maya, and Mudbox for PC VR & Mobile Oculus Headsets. I programmed it in C++ and Blueprints.

Experience Inspiration

Experiences should not be static, especially those that take place in nature.

From an experience design perspective, The Garden of Earthly Delights painting is perfect for adaption into a VR experience: There is plenty of opportunity for the immersant to explore the world and interact with the animals in it.

Fantastical Delights was inspired by The Garden of Earthly Delights, Heaven by Hieronymus Bosch

VR Experiences are usually very static and low quality which is oxymoronic to building a virtual world (i.e. Bosch VR). Experiences should not be static, especially those that take place in nature.

Bosch VR (left) vs Fantastical Delights (right)

For Fantastical Delights, I wanted to create a world with animals that would move around on their own and react to the immersant’s presence. Furthermore, I wanted the guests of this world to feel humbled by the world’s beauty.

Cementing my understanding in Unreal C++

Using a combined C++/Blueprint approach, I was able to rapidly iterate.

When taking up this project, I wanted to learn more C++ and explore the feasibility of Unreal C++ programming during a given school semester with other people.

I wanted to do AI (Artificial Intelligence) logic and Character logic entirely in C++.

When programming AI, I noticed that every time I created new AI functionality, I had to expose them into blueprints when adding them to AI Behavior Trees.

This new approach using both C++ and Blueprints allowed for rapid iteration of my code where I would create C++ functions, expose them to blueprints, and then expand them through blueprints and finally rewrite the new blueprint into C++.

A giraffe herd (left) with a Deer herd (center)

Learning how to Optimize Trees

Performance is a constant issue when creating VR. While I made LODs (Level of Detail meshes) before, creating them for trees was a more in-depth process. Trees are notorious for being high poly and many are need in a scene.

I learned that by creating three — four LODs with the last one being just a picture of a tree, I was able to improve performance significantly.

Gallery exhibition lessons

The inclusion of unusual creatures and environments can make the VR experience more memorable.

People were really drawn to exotic or surreal creatures, like the three-headed bird or the giraffe. So much so, they ended up forgetting more normal parts of the experience. The inclusion of unusual creatures and environments can make some aspects of VR experience more memorable.

To entertain spectators, I had a projection of a fly-by video of the experience on the wall next to the VR headset. While it helped spectators with no interest in using the VR headset it sometimes gave the wrong impression of the experience to people interested in taking part in the experience.

An Immersant experiencing Fantastical Delights