Inspiration: We were inspired by the meaning, significance and beauty of the different sunsets we experienced in our own lives. Each sunset paints moments and memories in a way that is similar to a gift, one you have no control over and have nothing to do but surrender to the experience and receive its beauty.

How We Built It: We used Unreal Engine’s landscaping, foliage painting, sky atmosphere and visual scripting tool, Blueprint to create the visual, interactive and generative components of the experience. We also downloaded assets from Sketchfab and Quixel, which we edited in Blender to fine tune and prepare them for our scene. Colin used Artiphon Orba, Mixgraph and sound recordings from his phone for sound design and soundtrack composition.

Challenges: Downloading Unreal Engine took longer than we expected, especially for those who were using Mac iOS. Unreal Engine on the Mac had the prerequisite of Xcode and even if we did have Xcode, we had to update. We also ran into a few version problems within Unreal Engine. We were required to manually override certain instances and change them from “True” into “False” after finding similar problems from people online.

Building the APK file and getting on to the headset was too difficult, so we had to build it with the desktop view. We had problems syncing up our version control with changes made on Unreal Engine, especially when the UMap file would go missing, we manually had to isolate the file and locate it with the previous commit to sync up to the new version.

We felt that the hot air balloon from Sketchfab had too many moving parts, so we joined the layers in Blender before exporting it to Unreal Engine.

The directional light and the sun sphere light were not aligned in terms of the movement of the sun, so we deleted it and built our own light sources through the Environment Light Mixer provided by Unreal Engine which allowed us to add and experiment with the different light components.

Animating the hot air balloon consistently to move through the landscape while learning the coordinate space of Unreal Engine. Which X positive moves the balloon forward. We had to continuously update that in a tick loop.

Getting a reference to the player pawn alongside the looping function to update the balloon’s function while updating the position of the player to reflect riding on the balloon. Which acts as a seat for the balloon so we could adjust the seat of the player so that the player was comfortably positioned on the balloon.

Once we had the view centered on the basket, we realized that the basket of the balloon was transparent from the inside, because the material was single sided and only rendering from the outside therefore, not double-sided. The solution was to click through all of the materials within the balloon and toggle the double sided checkbox to render both sides.

There was a discrepancy with the directional light rotation instead of rotating the sky atmosphere - while having them synced. It was the directional light that needed to be rotated. It was a permutation of the moving basket problem, and we had to modify the rotation nodes for the sunset effect instead of the position nodes for the flying hot air balloon effect.

Unreal was very different from Anh’s experience in Unity, and their visual scripting language Blueprint was very different. She learned how to visualize breaking down the tasks and functions into smaller problems to solve. Like the touch function, and the trigger function and such.

What we are proud of: None of us were native to Unreal Engine, or visual scripting and we are proud of learning how to use, navigate, design, build and script with it.

Anh learned how to build in VR for the first time, and Monica and Angie learned how to use a game engine for the first time.

We are proud of our MVP being the same as the initial idea and the wireframe we came in with.

We are proud of how beautiful the entire experience ended up being and how well our team worked together. It was a fairly smooth and pleasant process working with each other.

We are also proud of having a fully finished product experience that stayed true to our original vision.

What We Learned :

  • We learned how to navigate and troubleshoot the setup and version control of Unreal Engine, specifically on Mac iOS.
  • We learned how to optimize and edit 3D models for use in Unreal Engine.
  • We learned how to create and manipulate lighting in Unreal Engine.
  • We learned how to animate and control the movement of objects in Unreal Engine's coordinate space.
  • We learned how to adjust and manipulate materials in Unreal Engine.
  • We learned how to synchronize and align different elements in the scene.
  • We learned how to use and adapt to Unreal Engine's visual scripting language, Blueprint, which is different from our previous experience with Unity.

What’s Next For Digital Dusk:

  • Generative randomized sunsets
  • Recorded sunsets
  • Send saved sunsets
  • Networked version for multiplayer
  • API integration for photo to sunset
  • Dynamic landscape options

Built With

Share this project:

Updates