ݺߣ

ݺߣShare a Scribd company logo
Создание приложений
виртуальной и расширенной реальности
Принципы создания VR с
примерами на UNITY
Дмитрий Сошников
dmitryso@microsoft.com | twitter.com/shwars | blog.soshnikov.com
Microsoft
Устройства для виртуальной реальности
Стереоскопическое зрение
Экран смартфона разделяется
на две части для формирования
стереоизображения
Отслеживание головы
Встроенные сенсоры смартфона
способны отслеживать повороты
головы достаточно быстро
Создание
стереоскопического
изображения
ФАКТ
У человека два глаза
Принципы создания приложений виртуальной и расширенной реальности с примерами на Unity
Принципы формирования стереоизображения
Вывод:
Для формирования стереоизображения
необходимо два источника изображения,
расположенных на некотором расстоянии
друг от друга.
В виртуальном 3D-мире за это
отвечают две камеры, расположенные со
сдвигом.
DEMO
Создание
стереоизображения
в UNITY
http://aka.ms/UnityVRSample
Контроль
положения
головы
Класс Motion
Motion 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 + Unity
VR в пару кликов
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)
1
2
Мораль:
Скорее всего придется думать про то, как
встроить в VR-приложение естественное
управление.
3
Контакты
Дмитрий Сошников
Microsoft
dmitryso@microsoft.com & @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.

More Related Content

Принципы создания приложений виртуальной и расширенной реальности с примерами на Unity

  • 1. Создание приложений виртуальной и расширенной реальности Принципы создания VR с примерами на UNITY Дмитрий Сошников dmitryso@microsoft.com | twitter.com/shwars | blog.soshnikov.com Microsoft
  • 2. Устройства для виртуальной реальности Стереоскопическое зрение Экран смартфона разделяется на две части для формирования стереоизображения Отслеживание головы Встроенные сенсоры смартфона способны отслеживать повороты головы достаточно быстро
  • 6. Принципы формирования стереоизображения Вывод: Для формирования стереоизображения необходимо два источника изображения, расположенных на некотором расстоянии друг от друга. В виртуальном 3D-мире за это отвечают две камеры, расположенные со сдвигом.
  • 9. Класс Motion Motion 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); }
  • 10. Недостатки получившегося решения • Платформенная зависимость • Рефакторинг: от двух камер + VRController к одному компоненту • Управление игрой • В идеале надо учитывать искажения от линз в Cardboard • Расчет расстояния между камерами (параллакса) в зависимости от устройства
  • 11. Готовые инструменты для создания 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
  • 12. http://www.alpsvr.com/ - оригинальная версия http://aka.ms/alpsvr - порт для Windows Phone
  • 13. DEMO ALPS-VR + Unity VR в пару кликов http://aka.ms/UnityVRSample
  • 14. Возможности ALPS-VR Компенсация искажений (barrel distortion) Более качественное отслеживание головы Простейшая навигация наклонами головы Цветокоррекция (от хроматической аберрации)
  • 15. Fibrum VR SDK - http://fibrum.com/sdk/ Один Prefab Поддержка GamePad Визуальное управление и GUI Компенсация дрифта
  • 16. Для создания кросс-платф. VR-приложений в Unity есть прекрасные инструменты Используйте Fibrum SDK или ALPS VR (open source) 1 2 Мораль: Скорее всего придется думать про то, как встроить в VR-приложение естественное управление. 3
  • 18. © 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.