Upload
natalia-efimtseva
View
63
Download
1
Embed Size (px)
Citation preview
Google Cardboard: виртуальная реальность для Android приложенийЕфимцева Наталия!
Павлов Стас,
Дополненная реальность (AR)
Google Ingress
Дополненная виртуальность (AV)
EA Sport Games, Nintendo Сайт; http://www.nintendofuse.com/2009/03/13/ea-sports-active-tiger-woods-10-grand-slam-tennis-wii-motion-plus/
Виртуальная реальность (VR)
500K+ cardboard’ов продано
Как это работает
Давайте заглянем внутрь
NFC тэг
Линзы
Магнит
Глаза
Глаза
Линзы
Экран
Глаза
Линзы
Эффект дисторсии (Pincushion Distortion)
Отрицательная дисторсия Pincushion Distortion
Положительная дисторсия Barrel Distortion
ОТСЛЕЖИВАНИЕ ПОЛОЖЕНИЯ ТЕЛЕФОНА
Источник2 КАМЕРЫ
Режим телефона
NFC
VR режим
NFC
[возврат]
Самое интересно: создание приложений
g.co/cardboard
Все здесь!
➔VR Toolkit ➔ Примеры
class MyGameActivity extends CardboardActivity
class MyGameActivity extends CardboardActivity
- Экран не отключается - Портретная ориентация экрна - Кнопки управления громкостью отключаются - Скрывает все системные контролы (Все может быть переопределено)
class MyGameRenderer implements CardboardView.StereoRenderer
class MyGameRenderer implements CardboardView.StereoRenderer
- onNewFrame - вызывается каждый раз при рендеринге - onDrawEye - вызывается для рендеринга сцены для каждого глаза, - но с разными параметрами - onFinishFrame - вызывается после рендеринга для обоих глаз
@Override public void onNewFrame(HeadTransform head) { mLastHeadTransform = head; mTime += TIME_DELTA; !
UpdateAI( TIME_DELTA ); UpdatePhysics( TIME_DELTA ); }
MyGameRenderer.java
@Override public void onDrawEye(EyeTransform eye) { Matrix.multiplyMM(view, 0, eye.getEyeView(), 0, camera, 0); Matrix.multiplyMM(mvp, 0, view, 0, model, 0); Matrix.multiplyMM(mvp, 0, eye.getPerspective(), 0, mvp, 0); drawScene(); }
MyGameRenderer.java
@Override public void onCardboardTrigger() { if (isLookingAtTreasure()) { pickupTreasure(); } else { showTreasureMap(); } }
MyGameActivity.java
@Override public void onInsertedIntoCardboard() { this.cardboardView.setVRModeEnabled(true); } !
@Override public void onRemovedFromCardboard() { this.cardboardView.setVRModeEnabled(false); }
MyGameActivity.java
cardboard://com.google/cardboard/1.0.0
Рекомендации
Приложения для виртуальной реальности имеют свои особенности
Физическое движение == визуальное движение
Cвобода движений
Скорость обновления 60 кадров в секунду
Need for Speed: Most Wanted, Criterion Games Image by deadendthrills.com
Бесконечный экран
Выиграйте cardboard! !
Конкурс на стенде Google !
Началов в 16:15