Slide System
The Slide System allows presenters in a HoloMIT session to show and control a slide presentation on a virtual screen. This interaction is designed to be fully synchronized across all users in the session out-of-the-box.
Overview
The core logic for the presentation is driven by the SlideController component. It abstracts the networking and input logic, allowing you to easily drop a presentation screen into any scene without having to write custom replication code.
Key Features
- Automatic Network Synchronization: Slide transitions are broadcasted automatically using
NetworkTriggercomponents, ensuring all participants see the exact same slide simultaneously. - Input Ready: It integrates seamlessly with the Unity Input System via the
HoloMITControlsasset. It listens for specific actions to navigate (Next, Back, Start/Finish) without requiring custom input scripts. - Material-Based Rendering: Slides are simply an array of
Texture2Dimages. The controller dynamically swaps the_MainTexproperty of theSlideMaterialapplied to your virtual screen.
Setup Requirements
To configure a working Slide System in your scene, add the SlideController to a GameObject and provide the following in the Unity Inspector:
- Slides Array: An ordered array of
Texture2Dimages representing your presentation. - Screen Object: A GameObject with a
MeshRendererthat will act as the projection screen (e.g., a Quad or Plane).
Material Requirement
The system requires a material named exactly SlideMaterial to be available in a Resources folder. The SlideController will instantiate it at runtime to prevent modifying your base asset, applying it to your Screen Object automatically.
Usage
Once configured, the presentation can be driven by the user using the default bound input actions:
- Start/Finish: Toggles the screen's visibility. Starting the presentation will always reset it to the first slide.
- Next Slide: Advances the slide index (clamps at the last slide).
- Back Slide: Decreases the slide index (clamps at the first slide).