Virtual & Really.Ru - Реально о Виртуальном

Виртуальная реальность и 3D Стерео Технологии

Вы здесь: Новости VR и 3D Устройства Valve официально представила контроллеры Knuckles

Valve официально представила контроллеры Knuckles

Печать PDF

Компания Valve, автор платформы виртуальной реальности SteamVR, опубликовала в корпоративном блогеинформацию о контроллерах Knuckles, которые предоставят пользователям ВР-шлемов новый уровень свободы во взаимодействии с виртуальным миром. В результате нам известны характеристики и карта органов управления, главными из которых стали несколько ёмкостных датчиков для отслеживания всех пяти пальцев руки.

 

 

 

Как и стандартные контроллеры HTC Vive, Knuckles позиционируется в трёхмерном пространстве с помощью лазерных трекеров системы SteamVR Tracking, но даёт большее ощущение присутствия, благодаря более совершенной оцифровке руки. Новинка позволяет управлять предметами и интерфейсами при помощи одного пальца или пальцевых жестов, при этом крепится к руке так, что её не нужно держать. Кнопки тоже есть, но теперь главное — это сами руки. Valve обращает особое внимание на социальные возможности, которые открываются пользователям через жесты.

 

Пальцы не соединяются между собой; под большим пальцем есть сенсорная панель с кнопками. Для точного и плавного повторения движений пользователя разработчикам рекомендуется калибровать трекинг и сглаживать движения виртуальных рук, чтобы они выглядели естественно. В серийной версии калибровка не понадобится. Версия Knuckles для разработчиков работает от аккумулятора на 500 мА*ч до трёх часов и заряжается через microUSB.

Источник: http://space/news/valve-knuckles/

SteamVR Knuckles Driver

Cap Sense Capabilities
In addition to the capacitive trackpad, Knuckles controllers have capacitive sensors in different areas to help detect the state of the user's hands. Button Surfaces
There are capacitive sensors under each physical button on the Knuckles controller. These can be used to determine where the user is resting their thumb or, in the case of the trigger, their index finger. Capacitive sensors are placed under the following button surfaces:
  1. Trigger surface
  2. Outer Face button surface
  3. Inner Face button surface
  4. System button surface (not accessible by applications)

_Grip Zones
There are also separate arrays of capacitive sensors in the grip which enable two new user inputs :
  1. A capacitive grip axis for grasp/ungrasp actions (Joystick Axis 2.x)
  2. Independent index, middle, ring, and pinky finger axes (Joystick Axes 3, 4)

 
 
Accessing Finger Curl Values
Each finger axis returns a curl value between zero and one, where zero indicates that the finger is pointing straight out and one indicates that the finger is fully curled around the controller. The cap sense grip returns finger curl values. These can be accessed through SteamVR as joystick axes:
  • 3.x – Index curl
  • 3.y – Middle curl
  • 4.x – Ring curl
  • 4.y – Pinky curl

As an example, in Unity these values can be read as:
// Update raw finger curl values index_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis3).x; middle_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis3).y; ring_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis4).x; pinky_curl = vrcontroller.GetAxis(Valve.VR.EVRButtonId.k_EButton_Axis4).y;

For rendering finger motions to the user, it is recommended to perform some smoothing to keep the finger motions from looking too mechanical. For example: 
// Update filtered curl values index_curl_filt = Mathf.Lerp(index_curl_filt, index_curl, 30.0f * Time.deltaTime); middle_curl_filt = Mathf.Lerp(middle_curl_filt, middle_curl, 30.0f * Time.deltaTime); ring_curl_filt = Mathf.Lerp(ring_curl_filt, ring_curl, 30.0f * Time.deltaTime); pinky_curl_filt = Mathf.Lerp(pinky_curl_filt, pinky_curl, 15.0f * Time.deltaTime);
_The controller’s finger tracking algorithm will automatically calibrate to each user. This process will continue to improve over time, but if you are seeing finger tracking errors you can usually resolve them by fully closing then fully opening your hand, including your index finger, several times.
 
 
Cap Sense Grip
Cap sense grip (mapped as axis 2.x) combines the middle, ring, and pinky fingers into a single grip amount, ranging from gripping the handle (1) to fully released (0).When the grip transitions between held and released, k_EButton_Axis2 button events are generated.
 
 
Finger Tracking Calibration
When the controller is powered on, finger tracking initializes to an uncalibrated state and will be very poor. You must perform a finger tracking calibration before finger tracking will behave correctly. Note: The need for an explicit calibration procedure should be considered a temporary measure that will only be required for these dev-units. To perform a calibration:
  1. Make sure your controller is cinched comfortably
  2. Close your hand around the controller for one second–don’t squeeze! Make sure your index finger is resting on the Trigger. 
  3. Quickly open your hand and hold it open for one second. 
  4. The last three calibration events are stored in the controller’s memory, and the median result is used for finger tracking. So, from a cold start, two good calibrations will fill the buffer and finger tracking should begin working.
_
A few other things to note:
  • You can trigger a recalibration at any time while the controller is on.
  • You can perform a calibration on a single controller by itself—you do not need to calibrate both controllers simultaneously.
  • If calibrating both controllers at once, one may calibrate before the other—this is normal. Keep trying with the remaining controller. 
  • A recalibration may be necessary if you significantly change your grip or if a new user picks up the controllers.
  • Recalibrations will occur automatically over the course of a play session as you reach out to grab items, throw things, etc. This is both expected and necessary, as your skin capacitance will change over time. The intent is for the controller to adjust to these changes automatically after the initial calibration has been performed.

Source: http://steamcommunity.com/sharedfiles/filedetails/

AddThis Social Bookmark Button