You will find this example already executed in the Project panel under Assets > SpatialStories > Example Scenes > DemosGettingStartedVR > DemoGrab.
Setting up your scene
- Set up a scene with a floor and an Interactive Camera. Follow this tutorial if needed.
- Place Cube (IO) at a comfortable distance and height. This will help your users to interact with it.
Adding the Grab Condition
- Select 'Cube (IO)'. In the Inspector panel, look for 'Manipulation Modes' under 'Interactive Object Setup'. In the dropdown menu, select GRAB.
You will notice that two variables - 'Grab Distance' and 'Attraction Grab' - will appear under 'Manipulation Mode'. This determines if you want your Interactive Object, in our case Cube (IO), to be grabbed from a distance or not. If you don’t want the user to be able to grab from a distance, change the value of 'Grab Distance' to 0.
For this tutorial, keep the values as is, i.e. we will be able to grab the Cube (IO) from a distance.
Play Audio when Grabbed
- In the Hierarchy panel, expand 'Cube (IO)', expand 'Interactions', and duplicate the first Interaction.
It is advised to always keep one original interaction and duplicate it whenever you want to create a new one.
- Rename the duplicated 'Interaction (1)' into Play when grabbed.
Using descriptive names for your interactions will make things easier, especially in case of complex experiences.
- Select 'Play when grabbed'. In the Inspector panel, under CONDITIONS, check Grab. In the first dropdown menu, select BOTH. You will notice that GRAB is already selected in the second dropdown menu, and Cube (IO) is the target object.
This means that the condition will be met when either or both hand(s) touch the cube's Hand Hover collider, which you can find if you expand Cube (IO) in the Hierarchy panel.
- In the Inspector panel, go to the RELOAD section. Check Reload and change its value from MANUAL_ONLY to INFINITE.
Now let’s create actions so that audio will be activated when this condition is met.
- With 'Play when grabbed' selected, scroll down the Inspector panel until you reach ACTIONS. Look for Audio in the 'Animation & Audio' section. In the dropdown menu select ACTIVATE.
- Under 'Audio Source', drag the audio Gong_2 to the target audio.
You just learnt how to use Grab in SpatialStories. Congratulations!