Upload
dmitri-soshnikov
View
356
Download
1
Embed Size (px)
Citation preview
Создание приложений виртуальной и расширенной реальностиПринципы создания VR с примерами на UNITY
Дмитрий Сошников[email protected] | twitter.com/shwars | blog.soshnikov.comMicrosoft
Устройства для виртуальной реальности
Стереоскопическое зрениеЭкран смартфона разделяется на две части для формирования стереоизображения
Отслеживание головыВстроенные сенсоры смартфона способны отслеживать повороты головы достаточно быстро
Создание стереоскопического изображения
ФАКТ
У человека два глаза
Эксперимент:
Попробуйте закрыть один глаз кусочком бумаги и ощутить потерю стереоскопи-ческого зрения.
Принципы формирования стереоизображения
Вывод:Для формирования стереоизображения необходимо два источника изображения, расположенных на некотором расстоянии друг от друга.В виртуальном 3D-мире за это отвечают две камеры, расположенные со сдвигом.
DEMO
Создание стереоизображенияв UNITYhttp://aka.ms/UnityVRSample
Контроль положения головы
Класс MotionMotion m = new Motion();m.CurrentValueChanged += m_CurrentValueChanged;m.Start();
…
void m_CurrentValueChanged(object s, SensorReadingEventArgs<MotionReading> e){ DoSomething(e.SensorReading.Attitude.Roll, e.SensorReading.Attitude.Yaw, e.SensorReading.Attitude.Pitch);}
Недостатки получившегося решения• Платформенная зависимость• Рефакторинг: от двух камер +
VRController к одному компоненту• Управление игрой• В идеале надо учитывать искажения от
линз в Cardboard• Расчет расстояния между камерами
(параллакса) в зависимости от устройства
Готовые инструменты для создания VR• ALPS-VR• http://www.alpsvr.com или
http://aka.ms/alpsvr
• Fibrum SDK• http://fibrum.com/sdk/
• Universal VR• https://github.com/demonixis/UniversalVR
• Google Cardboard Toolkit for Unity
• https://developers.google.com/cardboard/unity/
• Официально не поддерживает Windows Phone
http://www.alpsvr.com/ - оригинальная версияhttp://aka.ms/alpsvr - порт для Windows Phone
DEMO
ALPS-VR + UnityVR в пару кликовhttp://aka.ms/UnityVRSample
Возможности ALPS-VRКомпенсация искажений (barrel distortion)
Более качественное отслеживание головы
Простейшая навигация наклонами головы
Цветокоррекция (от хроматической аберрации)
Fibrum VR SDK - http://fibrum.com/sdk/
Один Prefab Поддержка GamePad
Визуальное управление
и GUIКомпенсаци
я дрифта
Для создания кросс-платф. VR-приложений в Unity есть прекрасные инструменты
Используйте Fibrum SDK или ALPS VR (open source)
12
Мораль:
Скорее всего придется думать про то, как встроить в VR-приложение естественное управление.
3
Контакты
Дмитрий Сошников[email protected] & @shwars blogs.msdn.com/sos & blog.soshnikov.com
© 2013 Microsoft Corporation. All rights reserved. Microsoft, Windows, Windows Vista and other product names are or may be registered trademarks and/or trademarks in the U.S. and/or other countries.The information herein is for informational purposes only and represents the current view of Microsoft Corporation as of the date of this presentation. Because Microsoft must respond to changing market conditions, it should not be interpreted to be a commitment on the part of Microsoft, and Microsoft cannot guarantee the accuracy of any information provided after the date of this presentation. MICROSOFT MAKES NO WARRANTIES, EXPRESS, IMPLIED OR STATUTORY, AS TO THE INFORMATION IN THIS PRESENTATION.