18
Создание приложений виртуальной и расширенной реальности Принципы создания VR с примерами на UNITY Дмитрий Сошников [email protected] | twitter.com/shwars | blog.soshnikov.com Microsoft

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

Embed Size (px)

Citation preview

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

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

Дмитрий Сошников[email protected] | twitter.com/shwars | blog.soshnikov.comMicrosoft

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

Устройства для виртуальной реальности

Стереоскопическое зрениеЭкран смартфона разделяется на две части для формирования стереоизображения

Отслеживание головыВстроенные сенсоры смартфона способны отслеживать повороты головы достаточно быстро

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

Создание стереоскопического изображения

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

ФАКТ

У человека два глаза

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

Эксперимент:

Попробуйте закрыть один глаз кусочком бумаги и ощутить потерю стереоскопи-ческого зрения.

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

Принципы формирования стереоизображения

Вывод:Для формирования стереоизображения необходимо два источника изображения, расположенных на некотором расстоянии друг от друга.В виртуальном 3D-мире за это отвечают две камеры, расположенные со сдвигом.

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

DEMO

Создание стереоизображенияв UNITYhttp://aka.ms/UnityVRSample

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

Контроль положения головы

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

Класс 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);}

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

Недостатки получившегося решения• Платформенная зависимость• Рефакторинг: от двух камер +

VRController к одному компоненту• Управление игрой• В идеале надо учитывать искажения от

линз в Cardboard• Расчет расстояния между камерами

(параллакса) в зависимости от устройства

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

Готовые инструменты для создания 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

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

http://www.alpsvr.com/ - оригинальная версияhttp://aka.ms/alpsvr - порт для Windows Phone

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

DEMO

ALPS-VR + UnityVR в пару кликовhttp://aka.ms/UnityVRSample

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

Возможности ALPS-VRКомпенсация искажений (barrel distortion)

Более качественное отслеживание головы

Простейшая навигация наклонами головы

Цветокоррекция (от хроматической аберрации)

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

Fibrum VR SDK - http://fibrum.com/sdk/

Один Prefab Поддержка GamePad

Визуальное управление

и GUIКомпенсаци

я дрифта

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

Для создания кросс-платф. VR-приложений в Unity есть прекрасные инструменты

Используйте Fibrum SDK или ALPS VR (open source)

12

Мораль:

Скорее всего придется думать про то, как встроить в VR-приложение естественное управление.

3

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

Контакты

Дмитрий Сошников[email protected] & @shwars blogs.msdn.com/sos & blog.soshnikov.com

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

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