top of page

Surrealist Paintings in Virtual Reality - The Portal

portal0_edited.jpg

A scene from The Portal, a collaborative project I contributed to in Unreal Engine.

Project Overview

Role:

Developer and Project Manager

Year:

May 2022- August 2022

Tools:

Quest 2, Unreal Engine 4.27, Unreal Marketplace, Miro, Canva, Mudbox, Microsoft 360 and Google Workspace, Clipchamp​​​​

Team Size:

4 people

Objective:

Creating a Surrealistic fantasy world, in which users can have a different experience from reality, resulting in dreamlike and bizarre imagery in an immersive way.

Introduction:

In this project, we explored surreal environments inspired by elements from Jaroslaw Janikowski's work, chosen for the striking three-dimensional quality of his objects. By blending visual and audio elements, we aimed to craft a deeply immersive and surreal experience.

Background:

The Portal is a collaborative project for the "New Frontiers: AR/VR" course in the Master of Digital Media program. We gained experience in developing a VR project from inception to completion, including the pitch, prototype, demonstration, and a documented report of the project process.

Key Contributions:

  • Project Management & Development: As the project manager and developer, I oversaw the project’s timeline, coordinated team efforts, and ensured deliverables were completed on time. My role also included hands-on involvement in development, contributing to both technical implementation and UX design decisions.

  • UX Design & Interaction: I designed user-friendly interactions optimized for Meta Quest 2, prioritizing intuitive navigation to prevent confusion in the immersive environment. This included creating clear and responsive interfaces that enhanced user engagement and comfort during the experience.

  • Animation of Moving & Rotating Objects: I handled the animation of various interactive elements, such as moving eyes in Level 3 and rotating objects like the clock nut in Level 1, clock hands in Levels 2 and 3, the key in Level 2, and the windmill blade in Level 3. These animations added depth and interactivity, contributing to the surreal atmosphere.

  • Advanced Animations & Transitions: In this project, I expanded my skills by learning to animate an NPC and implementing tap-to-open interactions for sliding doors. I also designed smooth level transitions, triggered by tapping a button, which provided a seamless progression between the immersive scenes.

Workflow:

1. Concept Development & Storyboarding:

  • Defined project concept, identified core interactions, and created initial storyboards using Canva.

  • Established the main interactions, such as Flying, Selecting, Teleporting, and Grabbing, based on the project’s immersive and surreal themes.

2. Interaction Design:

  • Developed interactions for user navigation, focusing on accessibility and user comfort in VR.

  • Replaced challenging interactions (like flying) with teleporting to reduce motion sickness and improve user control.

11_edited.jpg
14_edited.jpg

​3. Prototyping & Asset Use:

  • Utilized Unreal’s VR template and ‘starter content’ assets to expedite prototyping and test interactions.

  • Focused on simple assets to concentrate on interaction design and experience consistency.

4. Teleportation & Navigation:

  • Implemented teleportation as the main navigation method, considering safety and comfort.

  • Created invisible Unreal floors for teleportation compatibility with the imported 3D model, adjusting settings for precision.

5. Portal & Level Transition Design:

  • Designed portals as key interactive features, with options like collision triggers, buttons, or keys to control stage transitions.

  • Established three distinct scenes for different stages, using a button for smooth transitions between levels.

6. Object Animation & Spline Movement:

  • Animated interactive elements such as rotating clock hands, wandering eyes, and windmill blades to enhance the surreal setting.

  • Used splines to guide specific object paths, ensuring distinct blueprints for unique object movements.

7. 3D Model Import & Pivot Point Setup:

  • Ensured accurate placement of 3D objects by aligning pivot points at (0,0,0) for smooth transformations in Unreal.

  • Paid special attention to animated objects’ pivot points, which influence rotation and movement accuracy.

8. Particle System Design:

  • Developed particle effects for interactive elements like portals, using Unreal’s emitter and sprite components.

  • Locked particle axis and enabled local space transformations for stable visual effects in VR.

9. NPC Animation & Behavior:

  • Created animations for NPCs, using idle and push motions based on speed and collision triggers to mimic surreal scenes.

  • Implemented Mixamo animations and set NPC states to create dynamic interactions within the environment.

10. Sound & Audio Integration:

  • Integrated spatial sound with distance-based cues for environmental immersion and background ambiance.

  • Customized sound parameters like looping and attenuation for each level’s unique theme.

11. User Interactions with Specific Objects:

  • Designed object interactions, like grabbing and moving rocks, to encourage user engagement.

  • Applied sound effects to interactions and optimized collision volumes for realistic feedback without excessive CPU load.

12.png
13.png

Challenges & Solutions:

1. Software Performance (Unreal Engine 5):

  • Problem: Unreal Engine 5 was too heavy for complex models.

  • Solution: Switched to Unreal Engine 4.27 for better performance.

2. Teleportation Issues:

  • Problem: Teleportation didn’t work on floors due to floor mobility settings.

  • Solution: Set floor mobility to ‘static’ and adjusted NavMesh settings for height precision.

3. 3D Model Import & Pivot Point Misalignment:

  • Problem: Imported assets had incorrect pivot points, affecting animation accuracy.

  • Solution: Adjusted pivot points in Rhino before importing to Unreal.

4. Texturing and Material Application:

  • Problem: Difficulty assigning materials due to .FBX model format and Actor type.

  • Solution: Converted models to Static Mesh and assigned materials directly in Rhino.

5. Dropping Objects (Rocks):

  • Problem: Rocks fell through floors in VR preview due to physics settings.

  • Solution: Disabled gravity and simulated physics, used Unreal template floors to stabilize them.

Future Work:

For future work, we plan to enhance the surreal VR experience and showcase it at VR festivals, allowing us to connect with other developers and the XR community. Additionally, we aim to participate in Toronto's summer festivals, offering an immersive experience for adults, and explore opportunities to collaborate with art galleries interested in hosting surreal VR exhibitions.

Contact Information:

Please contact me at samira.soltani@torontomu.ca

bottom of page