An Immersive Interactive Environment that Represents my Dreamland.
Using Unity 6 and the Meta Quest 3S, I spent three weeks meticulously building an immersive virtual reality world.
This world is my personal vision of an ideal landscape, characterized by a charming low-poly aesthetic that lends a distinct, cartoony feel to every object. The intentional use of vibrant and colorful scenery enhances its fantastical quality.
It is a dreamland designed to be explored: players are encouraged not only to enjoy roaming the floating islands and viewing the beautiful scenes but also to actively discover hidden surprises tucked away within the environment.
This VR environment is built around a vibrant fantasy world where the very lands float in the sky.
In this realm, the familiar concepts of "ocean" or "earth" are nonexistent, as the residents—the local animals—inhabit these floating islands. The scenes are intentionally bright and colorful, and the focus is exclusively on outdoor landscapes.
The distinct, separate islands are linked together by land bridges, allowing the player to traverse this ethereal, sky-bound setting.
The world embraces a low-poly aesthetic, but the size of each floating island is intentionally varied based on its function.
For instance, Land 1 (the Starting Point) is designed as the Player's home base. It is purposefully kept small, allowing the player to easily perceive the boundaries of the land from any location. This encourages the player to leave and begin their exploration.
In contrast, Land 2 is significantly larger and houses a maze. This difference in scale is deliberate, inviting players to get lost and immerse themselves in the environment as they seek out hidden surprises. The scale ensures that the experience shifts seamlessly from a confined starting area to a grand, explorable landscape.
Object Scaling and Player Height:
While the standard for Unity is 1 unit = 1 meter, the scale in the Quest VR environment was inaccurate. The SDK Camera Rig does not automatically adjust for the player's actual height. I had to iteratively adjust the scale of all scene objects to ensure the correct sense of proportion and player presence.
Land Tiling and Grid Alignment:
Achieving the desired look for the floating lands required precise tiling of the 3D assets. This necessitated using an external package, and a key challenge was carefully adjusting the tiling ratio to align correctly with the underlying Unity grid system.
Water Physics (Lake and Boat):
Since I chose the Built-in Render Pipeline for efficiency, most pre-made assets for water effects (like realistic pond ripples and waves) were unusable as they rely on URP compatibility. This forced me to source new materials and manually write the physics code for the boat and the lake itself, essential for accurately simulating real-world wave and float dynamics.
Bakery on Land1, this is the starting point when entering the scene
Player moves with the controller.
Maze in player's view.
The boat floating on the lake.
Player can see the lake in the maze.
This development phase focused on optimizing user experience through locomotion choices, increasing engagement, and ensuring player safety and performance.
Low Motion Sickness: To prioritize player comfort and eliminate motion sickness, Teleportation is the only virtual locomotion method available in the current application.
Engagement: Engagement is driven by interaction with Non-Player Characters (NPCs). Players approach NPCs in the scene to toggle missions and receive necessary pathfinding hints.
Accuracy: To facilitate safe physical movement, players are given a 50-cm tolerance distance from obstacles, ensuring they can move around without bumping into objects in their physical space.
NPC Interaction: When a player approaches an NPC, a dialog box appears, and the NPC provides a hint for finding the next NPC in the sequence.
When Approaching: NPC Looks for Player
After Approach: Dialogue Box Shows Up
Wayfinding: The visual wayfinding hint is only triggered after the relevant dialogue with the NPC is complete.
Guidance System: The correct path to the next NPC is clearly marked by a sequence of floating gems that visually guide the player.
Gems guiding the player to the next NPC
This phase implemented features designed to drive player engagement and provide clear, rewarding feedback within the VR environment.
Engagement: Interaction is initiated when the user approaches the NPC (a Monkey) in the scene, which triggers a dialogue. The Monkey assigns a mission to the user. Upon successful completion of the mission, the NPC's state changes to visibly happy, and the user is rewarded with a noticeable change in the environment. This closed loop of action, feedback, and environmental reward drives engagement.
A Bridge Came Out of Water upon Mission Completion
Accuracy: The design allows for two methods of grabbing the apple, ensuring accessibility and precision:
Physical Grab: The player can physically walk up to the apple and grab it using the VR controller when within reach.
Distance Grab: For apples out of reach, a distance grab function is available. This function includes a visual curve hint that shows the player the exact trajectory, ensuring they can accurately acquire the object without needing to teleport closer.
A significant challenge arose when setting up the collider for the plane object designed to catch the apples.
If the collision detection mode was not set to Continuous, there was a very high probability that a collision would occur between frames. Because the detection was discontinuous, this rapid, inter-frame collision would be completely missed (ignored) by the physics system, causing the apples to pass straight through the intended catcher. Setting the detection to Continuous was essential to accurately register all impacts.
Interaction with Non-Player Characters (NPCs) is central to the experience. When a player approaches an NPC and completes a task, a relevant dialogue box immediately appears. Crucially, the NPC's state is dynamic: they display different visual expressions corresponding to the various stages of the mission, providing clear, non-verbal feedback on player progress.
Approaching: Looking (O_O)
Mission Assigned: Dialogue + (☆_☆)
Mission Completed: (^_^)
The "mission" assigned by the NPC is structured as an engaging mini-game.
Players are tasked with collecting a specific number of apples requested by the NPC. This collection process is designed to maximize engagement through direct interaction with both the apples (grabbing mechanics) and the NPC (progress dialogue). A clear progress hint is displayed on a box near the NPC to help the player track their current status within the mission.
A core rewarding mechanic is the dynamic change in the scene. Players initially enter the environment with no means to cross the river. Upon successfully completing the mission, a bridge emerges from the water, accompanied by a corresponding sound effect and animation. This direct, visible, and audible change, triggered immediately after interacting with the NPC, serves as a powerful reward, giving players a strong sense of accomplishment for their efforts.