This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

Обзор классов и компонентов

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:

ObjMovableThis component type can be used for all objects, that can be grabbed, held and thrown (it can be a ball, a pistol, whatever you can take, carry and drop).Этот тип компонентов можно использовать для всех предметов, которые можно хватать, удерживать и бросать (это может быть мяч, пистолет, все, что вы можете взять, унести и уронить).
ObjHandleThis component type can be used for all objects, that can be turned or moved while being held (various handles, levers, valves, etc.).Этот тип компонентов можно использовать для всех предметов, которые можно поворачивать или перемещать, удерживая их в руках (различные ручки, рычаги, клапаны и т.д.).
ObjSwitchThis component type can be used for all objects, that can be switched by grabbing (all sorts of buttons and on-off switches, including rotary ones).Этот тип компонентов можно использовать для всех объектов, которые можно переключать с помощью захвата (всевозможные кнопки и переключатели, в том числе поворотные).
ObjLaserPointerThis component enables casting a laser ray by the object.
Примечание
The laser pointer object in the VR Sample world has ObjMovable and ObjLaserPointer components attached.The laser pointer object in the VR Sample world has ObjMovable and ObjLaserPointer components attached.
The laser pointer object in the VR Sample world has ObjMovable and ObjLaserPointer components attached.
Этот компонент позволяет направлять лазерный луч на объект.
Примечание
The laser pointer object in the VR Sample world has ObjMovable and ObjLaserPointer components attached.К объекту лазерной указки в мире примеров виртуальной реальности прикреплены компоненты ObjMovable и ObjLaserPointer.

VRPlayer Class
Класс VRPlayer#

This is a base class for all players. It contains declaration of baseline controls, common basic player operations, callback management etc.Это базовый класс для всех игроков. Он содержит описание базовых элементов управления, общих базовых операций игрока, управления обратным вызовом и т.д.

Примечание
You can check out baseline controls for VR Controllers here.Вы можете ознакомиться с базовыми элементами управления для VR-контроллеров здесь.

The following component classes are inherited from the VRPlayer:Следующие классы компонентов унаследованы от VRPlayer:

VRPlayerPCThis 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.

Примечание
In case if VR was not initialized, a VRPlayerPC is spawned.В случае, если VR не был инициализирован, генерируется VRPlayerPC.

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:

Примечание
These components can be attached to GUI objects only.Эти компоненты могут быть назначены только объектам графического интерфейса пользователя.
HandSampleMenuGui This component implements initialization of widgets for the menu that is attached to a controller.Этот компонент реализует инициализацию виджетов для меню, привязанного к контроллеру.
WorldMenuSampleGui This component implements initialization of widgets for the world menu.Этот компонент реализует инициализацию виджетов для глобального меню.
MixedRealityMenuGui This component implements initialization of widgets for the menu that is attached to an HMD.Этот компонент реализует инициализацию виджетов для меню, которое привязано к HMD.

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 - это класс фреймворка, используемый для обозначения препятствий в помещении для игрока виртуальной реальности (например, стен комнаты, объектов и т.д.) и вывода предупреждения, если на пути есть препятствие (по мере приближения игрока к препятствию вибрация контроллера становится более интенсивной).

Примечание
Obstacles are not available for VRPlayerPC.Препятствия недоступны для VRPlayerPC.

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 будут автоматически переведены в невидимый режим и будут использоваться только для информирования игрока и предотвращения столкновений с объектами в реальной комнате.

Примечание
Primitives used to mark obstacles must have their first surface (the one with the 0 index) named as "box", "sphere", "capsule" or "cylinder" in order to be properly converted into corresponding trigger volumes.У примитивов, используемых для обозначения препятствий, первая поверхность (с индексом 0) должна быть с именем "box", "sphere", "capsule" или "cylinder", чтобы их можно было правильно преобразовать в соответствующие триггерные объемы.
Последнее обновление: 16.08.2024
Build: ()