This plugin adds custom properties to the selected objects which are read by the xyz3d.js library.
https://www.youtube.com/watch?v=3mRjiqz_XWI
Select an object and while it's the active object choose a corresponding option in the models section.
If the object is "clickable" or "hoverable"
- set it as "interactable"
- add a bounding (convex) mesh around it that will work as bounds the user clicks
- set viewport visibility of this bounding mesh to bounds only (optionally)
- click the bounding mesh, then it's interactable mesh counterpart, and select "Set Raycast Mesh". (AKA selected=interactable, active=raycast mesh)
This is how xyz3d groups models and compartmentalizes interactive/background components. Only buttons in the currently viewing scene zone are interactable. Each scene zone requires a Camera Anchor mesh, this is where the camera will move to when you enter the scene zone. The camera will then be moved back if the vertices of your interactable and background meshes are not in the camera's frustum. Note, a camera anchor order is mandatory - this starts at 0.
- Enter a scene zone name at the top of the plugin, ie Home or Demo
- Create a box for the camera anchor (recommended to set viewport visibility to bounds)
- Move this box to where you would like the camera to be for this zone
- Click this box and set it as a camera anchor via the apply button, also click the set scene zone button and set it's camera anchor order.
- Select the meshes corresponding to this zone and also click "Apply" to "Set Zone"
- Repeat for all scene zones.
Looping animations will play continuously, Hover Animations play when the user hovers over the model, as Click animations fire on user clicks, and Camera animations fire on user clicks as well. Note, only interactable meshes are raycasted against, so this means click, hover, and camera animations will only fire on the interactable types.
- Open the dope sheet, then navigate to the action editor
- Copy the name of the animation you would like to add to your model
- Paste this name into the animation text box found via the plugin
- Apply this animation to any animation types as required via the Apply buttons