Manages interactive object selection and highlighting in 3D scenes with multi-layer visual feedback systems. More...
Public Member Functions | |
| void | RefreshActives () |
| Refreshes the active state of all child SceneSelectable components. | |
| void | CloseWindow () |
| Closes the selection window and clears the current selection. | |
| SceneSelectable | AddSelectable () |
| Creates a new SceneSelectable child GameObject and adds the SceneSelectable component. | |
| void | Activate () |
| Activates all child SceneSelectable components, adding colliders and scripts as needed. | |
| void | Deactivate () |
| Deactivates all child SceneSelectable components and closes any open selection windows. | |
Public Attributes | |
| AbstractSelectionManager | active |
| Manager for active object highlighting during interaction. | |
| AbstractSelectionManager | hover |
| Manager for hover highlighting when mouse is over an object. | |
| AbstractSelectionManager | selected |
| Manager for persistent selection highlighting. | |
| AbstractSelectionManager | changed |
| Manager for highlighting objects that have changed state. | |
| Sprite | icon |
| Icon displayed in the toolbar button for this selection manager. | |
| GameObject | window |
| Window displayed when an object is selected. | |
| TMPro.TextMeshProUGUI | title |
| Text component for displaying the selected object's title. | |
| GameObject | description |
| GameObject containing the description panel. | |
| GameObject | tooltip |
| Tooltip GameObject shown on hover. | |
| GameObject | valuePrefab |
| Prefab used for displaying property values in the selection window. | |
| GameObject | buttonPrefab |
| Prefab used for creating interactive buttons in the selection window. | |
| Object | selectedSelectable |
| Currently selected selectable object. | |
Detailed Description
Manages interactive object selection and highlighting in 3D scenes with multi-layer visual feedback systems.
The SceneSelectionManager is a professional component that orchestrates runtime object selection with hover effects, active highlights, and change indicators. It provides intuitive interaction for operators and engineers to inspect components, view properties, and interact with simulation elements during virtual commissioning and training scenarios.
Key Features:
- Multi-layer visual feedback with separate hover, selection, and change highlights
- Raycast-based object detection with automatic hover effects
- Interactive property windows for selected objects
- Support for multiple selection states with customizable visual feedback
- Integration with AbstractSelectionManager for flexible highlighting strategies
Common Applications:
- Interactive training simulations where operators can inspect equipment
- Virtual commissioning environments for debugging and testing
- 3D HMI systems with component property inspection
- Maintenance training scenarios with detailed part information
Integration Points:
- Works with SceneSelectable components to define selectable objects
- Uses SelectablePart for individual part highlighting
- Integrates with AbstractSelectionManager for visual feedback
- Compatible with rvUIToolbarButton for UI integration
Performance Considerations:
- Uses RaycastAll for accurate multi-layer object detection
- Caches Camera.main reference for performance optimization
- Efficient hover state management to minimize visual updates
For detailed documentation see: https://doc.realvirtual.io/components-and-scripts/professional/scene-selection
Member Function Documentation
◆ Activate()
| void realvirtual.SceneSelectionManager.Activate | ( | ) |
Activates all child SceneSelectable components, adding colliders and scripts as needed.
Puts every child selectable into active state for interaction.
◆ AddSelectable()
| SceneSelectable realvirtual.SceneSelectionManager.AddSelectable | ( | ) |
Creates a new SceneSelectable child GameObject and adds the SceneSelectable component.
Used in Editor to quickly add new selectable objects to the scene.
◆ CloseWindow()
| void realvirtual.SceneSelectionManager.CloseWindow | ( | ) |
Closes the selection window and clears the current selection.
◆ Deactivate()
| void realvirtual.SceneSelectionManager.Deactivate | ( | ) |
Deactivates all child SceneSelectable components and closes any open selection windows.
◆ RefreshActives()
| void realvirtual.SceneSelectionManager.RefreshActives | ( | ) |
Refreshes the active state of all child SceneSelectable components.
Member Data Documentation
◆ active
| AbstractSelectionManager realvirtual.SceneSelectionManager.active |
Manager for active object highlighting during interaction.
◆ buttonPrefab
| GameObject realvirtual.SceneSelectionManager.buttonPrefab |
Prefab used for creating interactive buttons in the selection window.
◆ changed
| AbstractSelectionManager realvirtual.SceneSelectionManager.changed |
Manager for highlighting objects that have changed state.
◆ description
| GameObject realvirtual.SceneSelectionManager.description |
GameObject containing the description panel.
◆ hover
| AbstractSelectionManager realvirtual.SceneSelectionManager.hover |
Manager for hover highlighting when mouse is over an object.
◆ icon
| Sprite realvirtual.SceneSelectionManager.icon |
Icon displayed in the toolbar button for this selection manager.
◆ selected
| AbstractSelectionManager realvirtual.SceneSelectionManager.selected |
Manager for persistent selection highlighting.
◆ selectedSelectable
| Object realvirtual.SceneSelectionManager.selectedSelectable |
Currently selected selectable object.
◆ title
| TMPro.TextMeshProUGUI realvirtual.SceneSelectionManager.title |
Text component for displaying the selected object's title.
◆ tooltip
| GameObject realvirtual.SceneSelectionManager.tooltip |
Tooltip GameObject shown on hover.
◆ valuePrefab
| GameObject realvirtual.SceneSelectionManager.valuePrefab |
Prefab used for displaying property values in the selection window.
◆ window
| GameObject realvirtual.SceneSelectionManager.window |
Window displayed when an object is selected.