Обзор классов и компонентов
When you open your project based on the VR Sample for the first time and see a lot of different classes, you might get confused a bit. But let's take a quick look at each of them to see what they actually do and how they are connected.Когда вы впервые открываете проект, созданный на основе VR Sample, и видите множество разных классов, вы можете немного запутаться. Но давайте кратко рассмотрим каждый из них, чтобы понять, что они на самом деле делают и как они связаны.
VRInteractable ClassИнтерактивный класс VR#
This is a base class for all objects that you can interact with. It defines a basic set of interactions, in other words: here you define what can a user do with your object. You can add your own type of interaction here.Это базовый класс для всех объектов, с которыми вы можете взаимодействовать. Он определяет базовый набор взаимодействий, другими словами: здесь вы определяете, что пользователь может делать с вашим объектом. Здесь вы можете добавить свой собственный тип взаимодействия.
The following component classes are inherited from the VRInteractable:Следующие классы компонентов унаследованы от VRInteractable:
VRPlayer ClassКласс VRPlayer#
This is a base class for all players. It contains declaration of baseline controls, common basic player operations, callback management etc.Это базовый класс для всех игроков. Он содержит описание базовых элементов управления, общих базовых операций игрока, управления обратным вызовом и т.д.
The following component classes are inherited from the VRPlayer:Следующие классы компонентов унаследованы от VRPlayer:
VRPlayerPC | This component implements a player with standard PC input devices (keyboard + mouse or Xbox360 controller) for VR emulation and contains all related settings and methods.Этот компонент реализует плеер со стандартными устройствами ввода для ПК (клавиатура + мышь или контроллер Xbox360) для эмуляции виртуальной реальности и содержит все соответствующие настройки и методы. |
---|---|
VRPlayerVR | This is a base class implementing common functionality for supported VR devices and contains their common parameters. The UltraleapHandController class is inherited from VRPlayerVR and available when the Ultraleap plugin is loaded.Это базовый класс, реализующий общие функциональные возможности для поддерживаемых устройств виртуальной реальности и содержащий их общие параметры. Класс UltraleapHandController унаследован от VRPlayerVR и доступен при загрузке плагина Ultraleap. |
VRPlayerSpawner ClassКласс VRPlayerSpawner#
This class registers all VRPlayer components in the Component System. It checks that VR is initialized and spawns the VRPlayerVR.Этот класс регистрирует все компоненты VRPlayer в системе компонентов. Он проверяет, что VR инициализирован, и генерирует VRPlayerVR.
MenuBaseGUI ClassКласс MenuBaseGUI#
This is a base class for all graphic user interfaces (GUI).Это базовый класс для всех графических пользовательских интерфейсов (GUI).
The following component classes are inherited from the MenuBaseGUI:Следующие классы компонентов унаследованы от MenuBaseGUI:
FrameworkФреймворк#
Framework includes the Component System which implements the core functionality of components and a set of utility classes and functions used for playing sounds, auxiliary math and 3d math functions, callback system implementation.Фреймворк включает в себя Систему компонентов, которая реализует основные функциональные возможности компонентов, а также набор служебных классов и функций, используемых для воспроизведения звуков, вспомогательных математических и трехмерных математических функций, реализации системы обратного вызова.
Triggers ClassКласс Triggers#
Triggers is a framework class used to mark room obstacles for the VR Player (e.g. room walls, objects, etc.) and give a warning if there is an obstacle on the way (as the player gets closer to an obstacle, controllers' vibration becomes more intense).Triggers - это класс фреймворка, используемый для обозначения препятствий в помещении для игрока виртуальной реальности (например, стен комнаты, объектов и т.д.) и вывода предупреждения, если на пути есть препятствие (по мере приближения игрока к препятствию вибрация контроллера становится более интенсивной).
You can simply create primitives for walls and objects in your room and add them as children to the node dummy named Obstacles, which is a child of the VR dummy node (see the hierarchy in the Editor below).Вы можете просто создать примитивы для стен и объектов в своей комнате и добавить их в качестве дочерних элементов к node dummy с именем Obstacles, которая является дочерним элементом VR dummy node (смотрите иерархию в редакторе ниже).
All children of the Obstacles node will be automatically switched to invisible mode and will be used only to inform the player and prevent collisions with objects in the real room.Все дочерние элементы ноды Obstacles будут автоматически переведены в невидимый режим и будут использоваться только для информирования игрока и предотвращения столкновений с объектами в реальной комнате.