Данный плагин позволяет управлять креслом FutuRift из приложений, написанных на Unity.
Необходимо скачать одну из публичных версий плагина, которые можно найти тут
Скачанную dll необходимо поместить куда-то в папку Assets вашего Unity проекта
Для удобства, рекомендуется помещать ее в папку Assets/Plugins
После добавления Unity сама подтянет данный плагин, и позволит вам его использовать
После клонирования репозитория необходимо скопировать содержимое папки ChairControl/ChairWork в любую папку в Assets вашего проекта
Например, в папку Assets/ChairControl
При таком добавлении вы сможете ипользовать главный класс, и сможете менять его.
Базовый элемент управления креслом - класс FutuRiftController
class FutuRiftController
{
float Pitch { get; set; }
float Roll { get; set; }
bool IsConnected { get; }
void Start();
void Stop();
}
Для удобного использования и тестирования можно использовать специальное ПО, выполняющее роль эмулятора кресла и контроллера.
Данный контроллер принимает команды по UDP, для его использования необходимо использовать конструктор, принимающий UdpOptions
.
// ...
private FutuRiftController controller;
void OnEnable()
{
controller = new FutuRiftController(new UdpOptions
{
ip = "127.0.0.1", // ip компьютера, на котором запущен контроллер
port = 6065 // порт, на который настроен контроллер
});
controller.Start();
}
// ...
При необходимости можно не использовать промежуточное ПО, используя конструктор, принимающий ComPortOptions
.
использовать конструктор, принимающий UdpOptions
.
// ...
private FutuRiftController controller;
void OnEnable()
{
controller = new FutuRiftController(new ComPortOptions
{
ComPort = 3 // Номер порта, по которому подключено кресло
});
controller.Start();
}
// ...
Свойство, меняющее или возвращающее наклон кресла вперед/назад, может принимать значения от -15 до 21.
Свойство, меняющее или возвращающее наклон кресла влево/вправо, может принимать значения от -18 до 18.
Если передали значения, которые не укладываются в данный промежуток, они будут упакованы в допустимые, например при записи
sample.Roll = 120f;
sample.Pitch = -16f
свойству Roll будет присвоено значение 18, а Pitch -15
Метод, который начинает посылать команды управления на кресло. Если порт удалось открыть, и данные идут, свойство IsConnected будет true
Метод, который останавливает управление креслом. После выполнения этого метода порт не используется программой
При окончании программы необходимо останавливать работу контроллера, как это делать показано в примере работы с контроллером