November 27, 2023

XR Designer : Recreation Dali Exhibition's Metaverse Room πŸ¦„πŸ€“

XR Designer : Recreation Dali Exhibition's Metaverse Room πŸ¦„πŸ€“

I visited The Dali Exhibition in Barcelona at IDEAL Barcelona | Digital Arts Center. This exhibition has covers Dali's dreamlike universe through innovative technologies, but what got me interested to visit is their metaverse room. As a designer, i always like to get myself updated with the latest trends of how people use virtual reality for different areas.

What i had expected was, like any other exhibition , they will make us sit down a chair and immerse ourselves in 360 videos of Dali's work or maybe watch some of his installation through virtual reality experience.

But what i found, was completely different and it gives me hope as a designer that more and more people are using this in very creative way , not only i'm inspired but also i'm hopeful for the future of XR Designer.


No alt text provided for this image
Metaverse DaliniΓ  - the metaverse experience in Dali Exibitions

‍

The metaverse experience they offer is like a phygital parallel universe, where you can interact with others interact with other players through voices in real world and avatar representation within virtual environment, all this while having total freedom movement around designed and safe area.

After trying the 15 minutes experience, my designer brain, cannot help but to break it down in my head, how would one create this kind of exibitions ? If i am to create this, can i ? The only way to answer this question is to break down each experience and unfold " How they do it ?"


This article will not be a spoiler to the experience, so i will not cover step by step of what user will experience, but merely a technical article for fellow designers or future clients of mine who are interested in doing this kind of experience for their brand or product. I really would like everyone who had the opportunity to try this experience, especially my fellow XR Designer in the industry.


Specification

The headset thet are being used for this experience are the HTC VIVE Standalone Vive XR Elite, Hands-On headset, this is my very first time testing this particular headset since it was released. One thing that makes the difference with this headset if the weight balance especially for this kind of experience, it is so light .. I was moving around, walking here and there, talking , a complete freedom but not once i felt like the headset was a problem , not in weight nor in isolation feeling ( i will get to this experience a little later ).


Experience Content

When you enter the room with the headset, you will find yourself being guided with a virtual onboarding on the floor to follow a small passage towards the room.

No alt text provided for this image
Sneak peak of the metaverse room

‍

I wasn't allowed to take any photo of the room , so here is the only picture i could get before they told me not to πŸ€“ A little sneak peak for the designed area.

Player can move around this designed area freely with no boundaries. The boundries are made for player within inside the headset, within the experience itself.

The experience content is made in Unity. For those, who is not familiar with Unity, this is a cross-platform game engine that support variety of medium like desktop, mobile, console and virtual reality platforms.



Based on my knowledge and experience i think a couple of concept is used within the content :

  • 3D Models
  • Audio
  • Videos
  • Designed virtual environment
  • Interaction between players and the virtual environments


Since this experience also allow users to feel less isolated by the use fully covered virtual headset, they have used the Avatar SDK that allows players to see other players within a designed area. This experience is what made it so enjoyable . Not only i'm able to share the experince through real world conversation with someone around me, but also i can feel the presence of many around me , being able to see what they are doing, where they are flocking, the interaction they are doing, the movement they are doing . This made the experience a shared ones.


Made with Unity - Let's break it down!

Due to content expereince, i think they have used SteamVR Valve corporation Plugin for inside the unity, this is downloadable plugin from the Unity Asset Store or from the SteamVR website. You can download this and add it into your unity project.

They have created a couple of experience as follows :


  • A Virtual sailing Boat - this is the virtual environment user are given - i call this a fixed environment , this is done for the user experience because user need a fixed space for a security and gravity feeling ( just like earth ), when the remaining of the their surrounding will be moving around. The style was made matching with the theme of the movie user about to see. The virtual boat is acting as the bounding box for user to explore anywhere freely within the boat and when they look down, they will see the sea. I think the concept here is very smart, it is relying on user perception of real world , if they are in fact in a boat.


  • 360 Movie Experience : Imagine the boat is inside a box of 360 degree view screen. Yes, the user get to experience more than 4000 images and videos compilations of Dali's works, including paintings, sculptures, and installations through a movie that is playing surrounding them. This is done through unity by setting up a camera that can display the movie in a 360-degree view. You can use the VR camera rig from the SteamVR plugin . Once you have set up the camera, you can add the movie to your virtual environment. You can use a video player component in Unity to play your movie file and display it on the VR camera. The movie definitely is created separately using what i suppose Adobe Premier Pro due it's effect for this particular exibitions, but truthfully any movie maker platform will do, even something as simple as iMovie.


  • Avatar SDK : Since user can see each other movements and location, each players has been represented by an avatar within the experience. I think they have used the VRChat Inc. Avatar SDK. To use this SDK, make sure to follow the Unity version suggested by VRChat ( currently they are using Unity 2019.4.31f1 )


With the SteamVR, we can add Player prefab to our unity scene, which includes VR camera rig, which will be used to render the virtual reality experience. Each avatar are being represented with diving 3D Model helmet. But to differentiate them, they are numbered. This makes them more than just a helmet, they are unique to each player who are seeing them. To set them up in your unity project, you can follow this steps :


  1. Configure VRChat SDK: Once the SDK is imported, go to the VRChat SDK menu and click "Show Control Panel". From there, you can configure your settings, such as your avatar name, description, number and tags.
  2. Add your custom avatar ( in this case, diving 3D Model helmet ) to the VR camera rig by dragging and dropping it onto the camera object in the Unity editor.
  3. Finally, you can use the SteamVR Input system to map the VR controller inputs to the avatar's movements and actions. The SteamVR Input system allows you to define custom input mappings for the VR controllers, which can be used to control the avatar's movements and interactions in the virtual world.
  4. To add a numbered avatar, create a script to assign a unique number to each avatar. This can be done by adding a public int variable to your avatar script and setting its value to the number you want to assign to each avatar.
  5. Instantiate the avatar prefabs in your scene and assign a unique number to each one by setting the public int variable you created in step 5.
  6. Attach the VR headset and controller scripts to the appropriate GameObjects in your scene.
  7. Create a UI Text object in your scene and position it so that it is displayed on the controller when the player is holding it.
  8. Create a script to detect when a player is holding a controller and to display the corresponding avatar number on the controller. This can be done by using Unity's UI system to create a canvas with a Text component, and then updating the text based on the number assigned to the avatar the player is holding. ( i can help you with the script )
  9. Add your avatar's animations, sounds, and interactions as how you want it.


Now in this experience, due to the standalone headset functionalities, they do not use controller, merely user's hand immediately. User can touch object within virtual world that trigger sound or even effect.

In the future, i wish we can start using our own avatar for this kind of experience, i personally use my avatar from Ready Player Me , so surely someday i wish i can just load my avatar and be present with people through my own avatar!


  • Interactions : In this expererience, to make it more engaging for user, they embedded some interaction within the virtual sailing boat. Apart from watching the reels movie being player, user can also interact with some objects while they are moving around. They can interact with couple of object with different feedback mechanism - piano sound, effect when they enter specific area, 360 experience inside a giant egg.



This what makes this metaverse room my second best of hundred metaverse exhibitions i have been to up until now, apart from the concept are smartly curated but also the execution of it. They managed to create a shared experience between players πŸ’œ


This guide review is done through my knowledge of unity , VRChat social platforms, existing metaverse exhibitions and of course my experience through different immersive project.

Interested to do this kind of experience for your product or services ? Or maybe you are interested into learning how to do this ? I can be your project consultant and mentor. We can collaborate to make this happen!

Reach out to me through linkedin Sonya Seddarasan πŸ¦„

‍