Огляд застосунків майбутнього крізь призму окулярів Apple Vision Pro

Підписуйтеся на Telegram-канал «DOU #tech», щоб не пропустити нові технічні статті

Вітаю всіх шанувальників продукції Apple! Мене звати Олександр, я iOS Developer в ІТ-компанії Customertimes з досвідом роботи більше як 4 років.

Уперше за каденції Тіма Кука компанія презентувала справді новий девайс. 6 червня на WWDC 2023 ми побачили окуляри з технологією доповненої реальності Vision Pro. А вже в серпні розробники почали власноруч тестувати свої застосунки в спеціальних «яблучних» лабораторіях (під суворим наглядом компанії, звісно).

Для мене це стало гарним приводом написати статтю та трохи нагадало романтику перших iOS-пристроїв від Apple, яка свого часу й надихнула мене стати розробником.

Авжеж, після цієї статті ти, любий читачу, не станеш тим міфічним програмістом на visionOS з 10-річним стажем, яких уже сьогодні шукають деякі ІТ-стартапи, але вона буде гарним початком розвитку у світі технологій доповненої реальності. Сьогодні ми розглянемо одну з імплементацій того, який вигляд може мати ваш застосунок на новій системі.

Способи тестування

Що робити тим, у кого немає доступу до девайсу? І як саме розробники можуть адаптувати старі застосунки та скористатися новими функціями доповненої реальності? 25 липня Apple випустила SDK, що дозволяє розробникам імітувати роботу visionOS на своїх Mac. Розгляньмо нові інструменти та їхні можливості.

Цікаво, що за чутками нова операційна система мала назву xrOS, що згодом отримало підтвердження, адже майже всі гайди на WWDC покликаються саме на таку назву.

Якщо говорити загально, то Vision Pro є доволі універсальним пристроєм, на якому можна запустити програми як з Mac, так і з iOS-пристроїв без додаткових налаштувань. За замовчуванням вони будуть запускатись як iPad-застосунок. Але якщо ви плануєте поліпшити досвід користувача, то в проєкт потрібно внести деякі зміни.

По-перше, треба додати visionOS до списку підтримуваних систем.

У деяких випадках цього буде достатньо — за умови, що ви не використовуєте якісь специфічні hardware-технології (наприклад, NFC) або застаріле API. Тому «простий перехід» забезпечений лише свіжим застосункам, що були написані на SwiftUI (з тими, що випущені 2-3 роки тому, точно будуть проблеми). І хоча visionOS підтримує UIKit, але Apple все ж таки наполегливо рекомендує новіший SwiftUI, під який, власне, нова система і була спроєктована.

Але якщо все минуло добре, і ви змогли збілдити застосунок, то перше, що можна побачити: тло стало скляним, а для кнопок додались анімації при наведенні. У visionOS немає світлої або темної теми, натомість лише матове скло з окантуванням, що адаптується до зовнішнього середовища.

Віконні застосунки у просторі

На WWDC були наведені приклади того, що, найімовірніше, може зламатися, мати неприродний вигляд, та того, на що варто звернути увагу під час портування або під час розробки нового застосунку.

І перше, що зазвичай впадає в око, — це зображення, які потенційно можуть мати або низьку роздільну здатність, або непрозоре тло. Не знаю, чи буде хтось дивитися на картинки впритул або робити в кімнаті 200-дюймовий кінотеатр, але вихід з таких ситуацій доволі логічний — замінити растр на вектор. Це почали робити ще за часів переходу на retina-дисплеї, тому нічого нового в цьому немає. Але що більш цікаво, відтепер можна піти далі й замінити плоскі зображення на об’ємні фігури:

У коді це робиться доволі просто та схоже на роботу з AsyncImage:

ZStack {

    Capsule(style: .continuous)

        .fill(.white)

    Model3D(named: "CT-Logo", bundle: realityKitContentBundle) { model in

        model

            .resizable()

            .aspectRatio(contentMode: .fit)

            .padding([.bottom], 20)

            .padding([.leading], 30)

            .padding([.top], 40)

            .padding([.trailing], 40)

    } placeholder: {

        ProgressView()

    }

}

Навіть є вбудована можливість використання плейсхолдеру для важких Model3D або тих, що завантажуються з мережі.

На відміну від зображень, на об’єкти діє освітлення середовища, що буде змінювати їхній колір:

Тут можна побачити, що в темній кімнаті (можна обирати в симуляторі) об’єкти будуть мати темніший вигляд, а зображення (або капсула на тлі, як у прикладі) залишаться світлими, як є. Щоб фон не так палив очі, можна замінити суцільні однотонні кольори на так звані Vibrant materials («Яскраві матеріали»). Вони створюють додатковий контраст і яскравість, завдяки чому вміст на скляній поверхні залишається розбірливим, незалежно від того, що просвічується навколо. Усі вбудовані елементи керування та контейнери використовують ці матеріали за замовчуванням. Семантичні стилі SwiftUI автоматично набувають відповідний вигляд на кожній платформі.

Ось такий вигляд має тло капсули, якщо ми спробуємо використати ці Vibrant materials:

Взаємодія з інтерфейсом

Тепер обговоримо інтерактивні елементи. Загалом є 4 види взаємодії з інтерфейсом: за допомогою очей, рук, курсору та через спеціальні можливості.

Перший — це очі. Якщо управління виконується за допомогою зору, то умовний курсор розташовується в місці, куди дивиться користувач.

Особисто мене, як власника PSVR2, у якій є схожа фіча, це трохи бісить. Якщо коротко, то уявіть, що у вашому застосунку спрацьовує hover-ефект усюди, куди ви дивитеся. З одного боку — прикольно, але з іншого — наче хтось приліпив гумку до очей, яку не можеш відліпити та подивитись в інший бік. Наче за тобою хтось стежить... Тож дуже цікаво почути вашу думку в коментарях із цього приводу.

Варто зауважити, що ці способи працюють разом, а не окремо. Тобто якщо ви подивилися на кнопку і хочете її «клацнути», то для цього треба звести разом вказівний і великий пальці, а не кліпнути очима, як могло б здатися на перший погляд. Так, розділення рухів очима та руками на «перший» та «другий» спосіб буде досить умовним.

Я не знайшов функції, аби в симуляторі можна було додавати руки (тобто бачити їх безпосередньо, щоб тестувати взаємодію з 3D-об’єктами), але в симуляторі ми можемо імітувати деякі жести за допомогою миші.

У реальності з боку це виглядає, як у фантастичних фільмах, можливо, звідти дизайнери й отримали натхнення. Хоча здебільшого ці жести схожі на ті, що були представлені на iPhoneOS ще 15 років тому, тільки адаптовані під керування «у повітрі».

Контент також можна буде просто «тицьнути» пальцем, якщо він розташовується достатньо близько, або змінити на 3-й спосіб введення — так званий Pointer (або «Вказівник»).

Водночас на старті Vision Pro не буде підтримувати керування з миші. Але нещодавно був оновлений гайд Pointing devices, де продемонстровано керування з трекпаду. Там можна побачити, що курсор матиме вигляд кружечка-блискавки, що, на мій погляд, є гарним рішенням, завдяки якому він не загубиться.

Замість трекпаду можна використовувати введення на основі положення голови, зап’ястя або вказівного пальця. Користувачі можуть регулювати чутливість руху відповідно до своїх індивідуальних потреб.

Своєю чергою, Pointer дуже сильно пов’язаний з Accessibility, тож розділяти їх на окремі види також не бачу особливого сенсу.

Узагалі, режим доступності нагадує той, що є зараз на iOS. Тобто одним із варіантів є виведення жестів у окремому вікні.

Нові елементи інтерфейсу

Бонусом з додаткових рекомендацій можна виділити використання TabView. Apple рекомендує послуговуватися ним замість NavigationSplitView. Це матиме такий вигляд:

Тобто доступні для вибору табки будуть перебувати наче зовні, що додасть інтерфейсу об’єму.

Ще у visionOS є нова концепція: орнаменти. Вони дозволяють додавати різні види аксесуарів внизу вікна програми.

.ornament(attachmentAnchor: .scene(alignment: .bottom)) {

    ProgressView("Fast Sync, Stage 3/5", value: 50, total: 100)

        .padding()

        .progressViewStyle(LinearProgressViewStyle())

        .tint(.mint)

        .glassBackgroundEffect(in: .capsule)

}

Наприклад, там можна виводити статус завантаження або виводити повідомлення. Також .toolbar є окремим різновидом орнаменту.

Наведені вище стандартні елементи мають ефекти наведення за замовчуванням. Тобто якщо ви подивитесь очима або наведете курсор на TabView, він автоматично розкриється, але якщо потрібно додати їх для кастомного view, то можна використати модифікатор .hoverEffect().

Є ще багато дрібниць, про які Apple зробила окремий гайд, з яким я рекомендую ознайомитись на порталі WWDC.

Відображення контенту

Як пише сама Apple: «Vision Pro пропонує нескінченне просторове полотно для дослідження, експериментів й ігор, що дає вам свободу повністю переосмислити свій досвід у 3D». Тому класичні вікна — далеко не єдиний варіант того, як можна будувати застосунок.

Для Vision існує три види примітивів для відображення контенту:

  1. Windows (Вікна) — класичні вікна, тільки в просторі, можливо, з об’ємними та багатошаровими елементами.
  2. Volumes (Об’єми) — дозволяють працювати з 3D-об’єктами, які можна переглядати під будь-яким кутом у спільному просторі разом з іншими спільними просторами (Shared Space) та вікнами або в повному просторі (Full Space).
  3. Spaces (Простори) — за замовчуванням програми запускаються у спільному просторі (Shared Space), де вони існують поруч (подібно до кількох програм на робочому столі Mac). Програми можуть використовувати вікна та об’єми для відображення вмісту, а користувач може змінювати розташування цих елементів у будь-якому місці. Для більшого ефекту занурення програма може відкрити спеціальний повний простір (Full Space), де відображатиметься лише вміст цієї програми. Усередині повного простору програма може використовувати вікна та об’єми, створювати необмежений 3D-контент, відкривати портал в інший світ або навіть повністю занурювати людей у середовище.

Обʼєми

Детальніше розглянемо об’єми та те, що з ними можна робити.

Припустимо, що в нас є сторінка товару, але замість звичайного зображення ми можемо використати імерсивний об’єкт. Є кілька варіантів, як це зробити.

Перший — це Volumetric Window. Вони створені для перегляду 3D-вмісту. На відміну від 2D-вікна, об’ємне вікно призначене для використання під будь-яким кутом, тому воно ідеально підходить для 3D-моделей. Об’ємне вікно також зберігає фіксований розмір, що відповідає величині реальних об’єктів. Можна масштабувати модель в об’ємному вікні до одного метра в діаметрі, і вона завжди відображатиметься саме в такому розмірі.

WindowGroup(id: "can-test") {

    TestVolumetricContent()

}

.windowStyle(.volumetric)

.defaultSize(width: 0.5, height: 0.5, depth: 0.5, in: .meters)

Ми можемо відкривати безліч таких вікон, рухати їх за стрічку, але не взаємодіяти з об’єктом усередині нього.

Але для того, щоб «гратися» з об’єктами за межами їхніх вікон, потрібно вставити їх у другий тип відображення контенту — Immersive Space. Також необхідно зробити деякі налаштування безпосередньо із самою моделлю.

Варто зауважити, що, на відміну від вікон, позиція контенту всередині Immersive Space буде фіксованою, тоді як вікна можна рухати, використовуючи стрічку знизу за замовчуванням. Тому розглянемо, як можна переміщувати 3D-об’єкти в просторі.

Якщо ви створите порожню сутність з моделлю всередині вікна із коду, вона нічого не зробить. Щоб змусити її відтворювати або задавати поведінку, вона повинна мати компоненти. Кожен компонент забезпечує певні дії та екшени для сутності. Для прикладу, об’єкт банки у цій програмі реалізовано за допомогою двох компонентів: компонента моделі, яка надає об’єкту сітку та матеріали, і компонента трансформації, яка розміщує об’єкт у 3D-просторі.

Apple використовує спеціальний формат для своїх моделей — Universal Scene Description (USD). Для iOS-девайсів створена спеціальна версія USDZ ще у 2018 році у партнерстві з Pixar. Окрім того, що його дуже важко загуглити (бо якщо вводити «can usd», на запит видається курс долара, ціна банки алюмінія, що «може» долар, але точно не модель) головною особливістю є те, що він дозволяє містити всередині себе не просто моделі, а цілі сцени, анімації, звуки та ще багато чого.

Отже, модель бажано експортувати в USDZ-файл і завантажити в RealityView.

Окрім моделі, ці сутності мають компонент трансформації, що розміщує об’єкт у тривимірному просторі. Можна керувати її положенням, орієнтацією та масштабом, встановлюючи властивості компонента перетворення, а також батьківську сутність.

Все це можна зробити за допомогою Reality Composer Pro — нового інструмента розробника, який дозволяє створювати, редагувати та переглядати 3D-вміст.

Отож для того, щоб ми могли торкатися та взаємодіяти з нашою моделькою, нам потрібні два компоненти — це Input Target та Collision. Collision задає форму об’єкту, з якою можна взаємодіяти, а Input Target помічає для RealityView, що з об’єктом можна взаємодіяти.

Можливо, це через те, що я використовую бета-версію, але у мене не відображається форма колізії, тому наразі довіримося автоматично згенерованій.

Зберігаємо, білдимо та тиснемо кнопку, щоб відобразити Volume. На перший погляд може здатися, що нічого не змінилось:

Але якщо ми подивимось під ноги, то побачимо, що моделька з’явилась під нами. Це пов’язано з тим, що імерсивний простір бере початок координат з-під ніг користувача, тоді як координати інтерфейсу (тобто SwiftUI) починаються з верхнього лівого кута вікна.

Щоб це вирішити, RealityView має функції конвертації між просторами координат SwiftUI і RealityKit, яка перетворює точки і обмежувальні рамки з простору координат інтерфейсу в локальний простір об’єкта або навпаки.

RealityView { content in

    guard let can = try? await Entity(named: "CT-Can", in: realityKitContentBundle) else {

        fatalError("Unable to load Can model.")

    }

    self.can = can

    content.add(self.can)

    can.position = [0.2, 1.4, -1]

    configure()

} update: { content in

    configure()

}

.gesture(DragGesture()

    .targetedToEntity(can)

    .onChanged { value in

        can.position = value.convert(value.location3D,

                                     from: .local,

                                     to: can.parent!)

})

Уявімо, що у нас є сторінка товару. І натиснувши на кнопку «Переглянути», клієнт може подивитись, який вигляд має товар в реальному житті. Перед ним з’явиться моделька, з якою можна взаємодіяти. Потенційно, до жесту дотику можна додати, наприклад, анімації відкривання та звуки. Але так чи інакше, це дає новий безмежний простір для відображення та взаємодії з контентом.

І якщо звичайна баночка у повітрі не виглядає так цікаво та епічно, то Apple у своїх курсах на WWDC зробила низку окремих гайдів на прикладі створення цілих діорам у Reality Composer Pro. До об’єктів можна додавати точки інтересу, які будуть активуватись під час наведення. Також можливо використовувати різні шейдери, тобто впливати на матеріали, їх металевість, блиск, шорсткість тощо. А також додавати звуки пташок, що пролітають повз, анімації для хмарок та ще багато чого.

Кому цікаво, ознайомтесь із цим інструментом більш детально на сайті Apple.

Простори

Вікна і об’єми «живуть» у просторі. І коли ми його відкриваємо, він може «ділитися» місцем з іншими вікнами застосунків або повністю зайняти навколишнє середовище. Для цього були введені концепції Full Space і Shared Space.

У режимі повного простору всі інші застосунки ховаються, активною залишиться лише наша програма.

Також ми можемо впливати на рівень імерсивності через Digital Crown. Ця система називається Passthrough і дозволяє керувати навколишнім середовищем. Є 3 види глибини: Mixed, Progressive та Full. Змішаний (Mixed) стиль налаштовує простір для відображення наскрізного перегляду, але можна застосувати прогресивний або повний стиль, щоб збільшити занурення та мінімізувати відволікання користувача.

Варто зауважити, що поринаючи в повністю імерсивний світ, можна вимикати руки користувача за допомогою модифікатора .upperLimbVisibility(...), тому в таких випадках бажано створювати віртуальні рукавиці.

Цікаво, що в модифікаторі зазначені саме верхні кінцівки. Тоді який вигляд матимуть інші частини тіла?

Замість тла реального світу ми можемо зробити космос або якесь мальовниче місце.

Також у Full Space ми маємо можливість використати ARKit та додати трекінг рук і фізику до об’єктів. Теоретично, у нашому випадку ми можемо піти ще далі й використати ці фічі для банки, але без реальних окулярів симулювати руки та нормально взаємодіяти з гравітацією поки що неможливо.

Точніше кажучи, я не знайшов, чи можна це зробити в симуляторі, але вже можна уявити, як хтось будує з цих банок пірамідки, коли купує якийсь продукт.

Варто нагадати, що Apple піклується про приватність, тож, якщо ви хочете трекати пальці користувача або входити в імерсивний простір, то в Info.plist потрібно прописувати на це дозвіл.

Але як і для рук, зараз немає інструментів для створення та симулювання Immersive Space. У симуляторі навіть відсутній Digital Crown, який регулює глибину занурення. Тож поки повіримо Apple, що воно так і працює, але було б цікаво спробувати Use Case, коли можна повністю замінити фон, наприклад, на шоурум, де можна потренувати презентацію товару перед клієнтами. Або кейс, де ви відсканували товар, занесли його в базу, а потім обрали із бази та можете приміряти або дивитися, який вигляд він матиме в руках.

Якщо подумати, то Vision може замінити водночас усі пристрої від Apple. Навіть iPhone, якщо в нього буде вбудований стільниковий зв’язок.

І на відміну від окулярів Meta, Vision показує обличчя користува. Apple назвала цю технологію EyeSight. Тож на вулиці або ж у розмові з іншими людьми не буде виникати ефекту моторошної долини. Або буде, хто знає...

Дуже цікаво, як у майбутньому буде використовуватись Vision. Групові презентації складних моделей, машинобудування, навчання молодих хірургів, віртуальні магазини?

З іншого боку, згадується сцена із повернення «Назад у майбутнє», де Док називає iPhone неймовірним кишеньковим суперкомп’ютером, де кожна людина може власноруч робити складні математичні розрахунки... Та-а-ак, ми ж це в тіктоці кожен день і робимо, чи ні?

Ще одним прикрим розчаруванням є те, що навіть у 2024 році планується випуск лише 150 000 пристроїв Vision Pro. Це дуже мала цифра, особливо, якщо згадати, що для iPhone це число становить приблизно 200 мільйонів!

Коли я шукав інформацію до статті, то натрапив на цікаву думку, що стратегія запуску та доля перших ревізій буде дуже схожою на Apple Lisa. Для відома, це був перший комп’ютер, який мав UI операційної системи, схожий на сучасний (а не просто командний рядок). Проблема була в тому, що на старті його ціна становила $10 000, і так само, як зараз із Vision, цей девайс був недоступний звичайному користувачу. Але за рік виходить легендарний Macintosh 1984, дешевший у чотири рази, і просто підриває ринок. Тож можливо, після невеликої обкатки, Apple випустить більш доступну версію за розумні (навіть за їхніми мірками) гроші.

До того ж, коли Стів Джобс презентував перший iPhone, він сказав, що його готували 2,5 роки. На той момент компанія зробила більше 200 патентів, а за кулісами напоготові було ще 5 резервних смартфонів на випадок, якщо основний дасть збій.

Висновки

Важко уявити, скільки інженерних та дизайнерських викликів треба подолати перед випуском повноцінного продукту. Тому не дивно, що набір інструментів зараз досить обмежений та надається порційно та поступово. Нещодавно вийшла третя бета операційної системи, куди інтегрували інструменти роботи з Optic ID та віртуальними сценаріями для оточень, а на презентації iPhone торкалися теми просторових відео, які можна буде переглядати лише на Vision Pro.

Тож особисто я з нетерпінням чекаю на новий продукт та доволі оптимістично налаштований з приводу його кінцевої реалізації. Щонайменше, за ним буде дуже цікаво стежити найближчі півтора року. А може, нові окуляри взагалі замінять iPhone в інфопросторі.

А як вважаєте ви? Поділіться в коментарях.

👍ПодобаєтьсяСподобалось8
До обраногоВ обраному2
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Коментар порушує правила спільноти і видалений модераторами.

Дякую за цікаву статтю
Як ви думаєте чи будуть додатки для гарнітури коштувати дорожче за мобільні?
Фактор дорогого пристрою + можливо складніша розробка.

Не думаю, бо по факту всі додатки типу ToDo-лістів або фітнес-програми це ті ж самі iOS аппки. Інша справа, якщо розглянути додавання специфічної для гарнітури фічі. Якось бачив концепт додатку для бігу на вулиці, де в AR можна збирати монетки, по дорозі «наступаючи» на них. В такому випадку можливо. Але я б орієнтувався на ціни в Meta Quest Store, бо це вже трохи інший рівень. Дякую за коментар

От цікаво, чи дозволить Apple доступ розробнику до камери? Це може додати зовсім інший тип застосування. Крім «віртуальної реальності» (коли вся реальність замінена на нову) та «доповненої реальності» (коли замінена частини, але на 100% віртуальною) є ще «видозмінена реальність», яка використовує картинку реального світу з камер, але перетворює її якимось чином. Таке у реальності робить «мікроскоп» або «кольорове скло». А девайс може замінити реальність на чорно-білу, або, навпаки, насиченість кольорів підвищити. Виділяти чи розмивати якісь об’єкти. Збільшувати чи зменшувати (можливо додатковими засобами). Або намалювати реальність у вигляді/манері відомої картини чи перетворити на скульптури з бронзи :))
Замість продавати дорого «витвір відомого скульптора» можна буде продати дорого софт який «з усього навколо робить скульптуру» його унікальним стилем :)))

а як в гарнітурі бігати, це здається найбільша проблема зараз

Це заборонено з точки зору безпеки, бо є затримка в зображенні від камери, обробці та відображенні. До того ж окуляри позіціонуються в просторі за допомогою інших камер (є особливості). Ще є обмеження поля зору з боків.

Але в інеті можете знайти багато відео де люди пройшли декілька кілометрів в них (поруч був той, хто оберігав), бігали по парку, їздили на самокатах у великому приміщенні, керували автомобілем в вр, ходили на руках догори ногами, каталися на скейті, танцювали брейк данс (дуже популярна тема, багато клубів є в вр, навчання та спільноти).
Все це якщо ви берете на себе відповідальність, бо... випадки різні бувають. Виробник не радить і не обіцяє такої функціональності (не чув про такі обіцянки).

Тому... біг на одному місці у кімнаті! :)))

Є пристрій до якого ви прив’язані і «біжете» ногами по слизькій поверхні. Вже можна купити.
Або ще варіант з великою сферою і ви всередині. Чи поверхня, яка прокручується в двох напрямках (там не дуже швидко ходити треба).
Та навіть роботи-квадрати, які їздять по підлозі та встигають доїхати до вашого наступного кроку :))

Хто у такому був кажуть що зовсім інше сприйняття вр ніж переміщення джойстіком.

це авжеж дуже круто

Невідомо, але ціна не буде залежати від складності розробки (перші роки). Можете взяти зарплату декількох людей (команди) за рік та поділити на кількість девайсів з статті. За таку «реальну» ціну не думаю що багато хто купить софт :)

Якщо брати платформу Мета, вони розказали що софт зібрав 2млрд загалом за всі роки (близько 20млн девайсів).
Вони вкладалися в формування ринку (кількості користувачів), а тому спонсорували розробників. Але інші компанії випускали класний софт заради іміджу, а не заробітку (наприклад, Half-Life новий для вр). Імідж то реклама, привід для новин. А тому ціна то вже другорядне. Тільки, мабуть, не менше $1 ;)
Ще є варіант коли софт одночасно під декілька платформ/типів девайсів. Навряд ціна буде інша за iPad версію. Як мені здається.

Питання в тому чи потрібно більше зусиль для розробки на такому пристрої

Залежить від того що саме ви хочете розробити.
Можете хоч тему програми окреслити?

Розрозбка не «під пристрій», а під «програмне середовище/платформу». Якщо та сама платформа, то і зусилля ті самі для того ж самого виду задач. Тобто, якщо ви хочете звичйну веб сторінку розробити 2D, то робите те саме що і зараз під інші пристрої (тільки 2D «монітор» чи «вікно браузера» у вас вже не «майже завжди до 4К», а будь якого розміру та роздільної здатності, тож піксельні зображення можуть виглядати іноді не дуже якісно).

Це як ви перейшли з DOS на Windows, то можете продовжувати розробку в DOS і воно запуститься у Windows, але також у вас з’явилися нові можливості які ви можете вивчити і застосувати (відповідно час, складність, кількість людей, час розробки...). Залежить від того що саме ви хочете.

З розробкою під вр/зр окуляри Quest трохи інша ситуація. У вас фактично «мобілка» з Андроїд (мало обчислювальних ресурсів) та середа створення 3D світів (ігор та не тільки) Unity (переважно). І крім того багато спеціалізованих SDK платформи від Мета. До того ж є особливі рекомендації до функцій продукта (наприклад, стосовно людей з обмеженними можливостями, з однією рукою, мало мобільні, обмеженнями кольорового сприйняття). Також є рекомендації щодо підтримки одночасно Quest 2, 3 та Pro які в рази розрізняються по обчислювальній можливості та якості текстур, моделей та ін (тобто користувач може «придбати» ваш продукт з будь якого і повинен мати можливість нормально використати).

Є випадок, коли на початку взяли звичайну 3D гру і просто «прикрутили» до неї можливості ВР (це про гру халф-лайф). Як результат, частина людей у захваті, але більшість з головними болями які тиждень не проходили, проблеми з травленням та відчуття як на хвилях у морі. Після того років з п’ять розробки зовсім нової гри з іншими механіками та ігровим процесом не таким як був.

Це нова тема «обчислення з відображенням у 3D просторі зображення, звуку, вібрацій та ін і 3D курсором (руки, ноги, тіло)». Можна на роки зануритися в наукові дослідження як краще використати, а можно просто ту саму веб сторінку чи iPad застосунок без змін показанти. І все між цими крайніми варіантами.

Окресліть якісь рамки задач :)

IMHO: доки окуляри доповненої реальності не будуть виглядати більш-менш як прості окуляри, всі ці «реальності» будуть дуже нішевою штукою

Можете пояснити чому так думаєте? Цікаво.
Вам так важливо як ви будете виглядати в окулярах?
У статті мова не про пристрій «доповненої» реальності, вона про пристрій для «просторового обчислення» (об`єкти віртуально закріплені в просторі реального приміщення). Або ще називають «змішана реальність».
Це зовсім різні види інструментів, різні застосування, як порівнювати iPad з iWatch. Цей пристрій не може бути «завжди на вас» як iWatch.

А ви бачили окуляри доповненої реальності Рей-Бан від Мета? Вони
«доповнюють» реальність тільки звуком (без відео зображення) але виглядають майже як звичайні. Такі хотіли б?
За допомогою ШІ з ними можна спілкуватися голосом і отримувати відповідь також голосом. Там не просто «музика», це повноцінний комп’ютер який може записати відео, зробити фото, стрімити або відправляти в чати зняте. Комунікує зі смартфоном. Який функціонал та застосування очікуєте?

Мені важливо щоб було зручно. Вдягав різні «окуляри/шоломи» VR — довше 10 хв неможливо з цим ходити.
В теорії окуляри доповненої реальності можна використовувати для навігації, прослуховування музики, відео дзвінків, стрімів, будь-якого сканування навколишнього середовища. Наприклад, ідете ви по вулиці й подивились на вивіску якогось закладу й одразу бачите оцінки та огляди даного закладу із соц мереж.

Зручність то особисте, у різних людей різне.
Нема сенсу переконувати. Просто сказав що «воно вже є», а там вже самі дивіться :)
Комусь ніяково від самого факту що в тих окулярах РейБан є камера і тому «не зручно на людях», а хтось уже гуляє в вр окулярах Квест 3 по Діснейленду і йому все ок :)))
(є відео з вулиці, кафешек, парків, навіть каталися в них на велосипеді, але то небезпечно, не раджу...)
Для Квест 2 та 3 існує безліч альтернативних «кріплень» для голови. З різним розподіленням ваги та ті що спираються на інші частини голови (не давлять, не тиснуть, не торкаються обличчя).
Варіант про «подивились і отримали інформацію» обіцяли в апдейті софта до тих окулярів. Але зі смартфоном то можливо уже зараз і ... люди награлися.
Стріми вже є, музика. Дзвінки та навігація можлива у голосовому вигляді. Навіть дехто слухає подкасти поки спортом займається (бігає, наприклад).

Але найбільш яскравий кейс то... знімати відео котиків :))) Бо вони не люблять смартфон та відвертаються (деякі), а от ці окуляри поки не вважають чимось дивним і граються :)))

До цього все йде і це майбутнє. Да і уже є такі окуляри, правда не автономні, треба до телефона чи ноута підключати.

Ви вже придбали? Розмов багато, але як витратити гроші то чомусь ... «не йде» :))

От вже є легкий та автономний варіант для задачі «читати книжки». І?

Одне діло «випустити», інше зробити так щоб придбало пів мільярда людей (щоб стало цікаво розробникам програм).

також бачу цінність їх носіння на вулиці.
— доповнена реальність
— блюр реклами))))
— навігація в онлайні
можливо навіть якісь режими типу: мото/авто/екстрим спорт

Вдома — теоретично може стати хорошою дизайнерською фічею (особливо для 3д дизайну), але поки ніякого game-chang’у не відбулось

Ви окреслили застосування подібно до того як колись мріяли про «комп’ютер у кармані» (можна нагуглити). Але тепер у всіх «смартфон» і ті описи стали одним із... але не головним застосуванням :)))
Головне «бути на з’язку» але так щоб «не відволікати» та «паралельне спілкування/отримання інформації» під час реальних івентів (зустрічей, лекцій, поїздок...) будь де. Лайки ставити :))
Зовсім не те про що тоді мріяли (записник у кармані та пошта). Так і з вр. Але то вже будуть інші люди, молодь :)

Цікава стаття, приклади різних застосунків та особливостей розробки для віртуальної та доповненої реальності.

Поділіться в коментарях.

Зразу скажу, що технології об’ємного відображення, позіціонування, та звуку присутні не тільки у Apple. При розробці пристрою фірма сконцентрувалась на деяких фічах можливих для подібних девайсів і зробила іх супер якісними (згідно з відео та презентацій). Натомість більшу частину можливостей «просторового комп’ютингу» вони... не додали до продукту взагалі (так як і було з першим iPhone у порівнянні з іншими пристроями на той час). Тому (якщо ваш вибір це не тільки Apple) можете подивитися на інші пристрої з більшим функціоналом (різні ціни, різна якість фіч, різні комбінації фіч в кожному).

Головне чому все на стільки обмежено, це.. дуже складно! І не тільки з точки зору розробників пристрою, а найбільша складність з віртуальною реальністю для розробників додатків. Apple вибрала те, що розробник зможе використати «майже так само як раніше» з iPad. Забудьте про «повну віртуальну реальність» у вашій програмі. Кожна неякісна деталь там буде помножена на 100. Це роки розробки і сотні людей (для одної програми!). Сучасна версія вр існує 10 років, але дійсно «реальних» (з точки зору якості) програм та ігор десь не більше пари десятків. Але то не важливо :)

Apple випустила SDK, що дозволяє розробникам імітувати роботу visionOS на своїх Mac.

Також можна працювати з емулятором visionOS через стрімінг 3D в окулярах Мета. Або (як робили інженери в Apple) в девайсі за більше як 6000 з екранами більшої роздільної здатності ніж Vision Pro (але він тільки для компаній, а не приватних користувачів).

Не знаю, чи буде хтось дивитися на картинки впритул або робити в кімнаті 200-дюймовий кінотеатр

Точно буде. Екран «закріплений» відносно кімнати і користувач може ходити в ній.

Тут можна побачити, що в темній кімнаті (можна обирати в симуляторі)

Не буде «темної кімнати», буде ваша реальна кімната або офіс. Різне освітлення, нерівномірне, будь яке одночасно (стіни, вікна, дзреркало, екрани телевізора, новорічна ялинка :) та інше...).

З одного боку — прикольно, але з іншого — наче хтось приліпив гумку до очей...

В них не було вибору. Тільки такий варіант (без окремих пристроїв, контроллерів для рук). До того ж, мабуть, в них не дуже точне відстеження рук (то складно) і очей (теж складно), тому не «курсор», а «підсвітка іконки» і розташування як на Apple годиннику у шестикутниках (де також проблеми точності вибору через розмір).

...а не кліпнути очима...

Не реально, позіціонування/відстеження збивається. Око то не твердий об’єкт. На такій відстані від ока до «екрану» це суттєво.

Там можна побачити, що курсор матиме вигляд кружечка-блискавки

Він буде у 3D (мабуть). Тому не зовсім точно...

формат для своїх моделей — Universal Scene Description (USD)

Тепер це відкритий стандарт для всіх. Там дійсно «сцени», а не «моделі». Імовірно може бути навіть «вся гра як єдине ціле» в одному usd.

Collision задає форму об’єкту, з якою можна взаємодіяти

Трохи не так, це термін більш відомий розробникам 3D ігор (Unity, Unreal двіжки та ін). Це відстеження «зіткнення об’єктів/моделей» в 3D просторі гри/програми.

Ця система називається Passthrough і дозволяє керувати навколишнім середовищем.

Теж не зовсім. Це «можливість подивитися на реальну кімнату ніби крізь окуляри» добто pass real world throught device to VR. Це замість того щоб «малювати щось на прозорому склі звичайних окулярів з скла» зображення з камер перетворюють у 3D модель реального світу та підлаштовують під відстань між очами та відповідно до їх положень у просторі (замість положень камер).

Тоді який вигляд матимуть інші частини тіла?

Їх не буде :) ... поки. То складно. Мета тільки но анонсувала «добудову» їх за допомогою ШІ. Та відстеження до ліктів.

..але було б цікаво спробувати Use Case, коли можна повністю замінити фон, наприклад, на шоурум...

Багато вже хто обпалився за 10 років.. то дійсно складно, довго і багато людей. Інакше буде виглядати як світи Горизонт в Мета.
Максимум фотка... пласка.. без об’єму... але реальна фотка (на декілька гігабайт). Про 3D фотки без корекції під відстань між очами теж можете забути. То боляче для тих в кого відстань дуже відрізняється від камер. І одразу болі в голові. До того ж не можливо зробити цілісну 3D для об’ектів що поруч та знизу чи над (наприклад, для підлоги).І коли голову на бік повернете, то 3D перестає бути 3D.
...

Якщо подумати, то Vision може замінити водночас усі пристрої від Apple.

Не може... поки що. Без NFC, GPS та іншого з дуже малим зарядом та не дуже швидкий (бо перегрівається в такому корпусі як і інші окуляри) відносно ноута та (можливо) навіть iPad-у.
А коли все те додадуть то... буде більш важкий пристрій :) Це також важливо. Вже є такі що дуже легкі але без багатьох фіч і без свого проца.

І на відміну від окулярів Meta, Vision показує обличчя користува.

Обличчя мабуть ні, тільки очі ;)
І ще, здається, то тільки в роликах. На девайсі не показали.
Але то теж не так важливо для інших окулярів але супер важливо для промо відео :) Ви помітили що більшість нібито «зняті збоку» (а не від користувача) але ... в них показані віртуальні об’єкти. Тобто нібито обидві людини в цих окулярах... А поки то буде не часто з visionPro але реально з Quest 3 (одночасно 2-4 в одній кімнаті).

Тож на вулиці

Таке показували? Не бачив щоб обіцяли. Такі девайси не захищені від дощу і яскравих променів сонця (засвітлює камери трекингу, небезпечно для життя без позіціонування). До того ж бачили анімацію коли інша людина «проявляється» в просторі окулярів? Здається модель кімнати була відсканована до того... може й не в реальному часі відображатися цілком. Побудувати точну 3D модель кімнати не просто в реальному часі (це ще й час батарейки на обчислення кожного разу). У Мета один раз роблять сканування до використання.

Групові презентації складних моделей, машинобудування, навчання молодих хірургів, віртуальні магазини?

Гарні мрії :) Але за 10 років існування вр дуже мало з того з’явилося. Найбільш імовірно буде... просто плаский віртуальний екран з iPad застосунком або відео для 99% використання :)))
Але великий екран. І це все змінить.

...випуск лише 150 000 пристроїв Vision Pro.

Вони не змогли знайти хто їм стільки екранів зробить. До того ж багато девайсів не проходять перевірку. Дуже складний дизайн пристрою, така технологія поки що...

Apple випустить більш доступну версію за розумні (навіть за їхніми мірками) гроші.

Є думки що можуть випустити модель Max за більші гроші. :) Але не за менші. Вони і так самий мінімум взяли для такої роздільної здатності. В менших «видно пікселі», фанати Apple не куплять :)) Вони не зможуть перевчити мозок сприймати «ніби крізь сітку» зображення, то окреме вміння, що тренується за пів року (без того мозку буде не комфорно).

Тому не дивно, що набір інструментів зараз досить обмежений та надається порційно та поступово.

Дуже важливо (на мою думку), це не злякати розробників програм. Бо для віртуальної реальності щось робити то окрема професія (коли якісно). Тому це добре що Apple все зробила за розробника і залишилося тільки «вставити в їх шаблон свою 3D модель». Гарний крок.
Так само круто вони зробили і для HTML, коли додали новий тег «модель» аналогічний тегу img. Просто та сама веб сторінка може містити об’ємну модель без додаткового навчання розробника :)
І це добре. Веб буде також одним з головних «контентів» для цих окулярів (та інших). Бо екран можна відкрити... над головою і читати лежачі :))

Шкода, що не можу вам більш детально розказати в звʼязку з NDA але якщо коротко, то ви сильно недооцінюєте цей пристрій))

Кліпніть, якщо там все не гірше за Quest)

Так в інеті багато відео та відгуків людей.
Точно «не гірше». Але точно не «все», а частина :))
Але... Квест дешевший і вже продається :) А отже більше людей витратять гроші на софт/ігри. І зможуть купити додому 2-5 девайсів (замість одного TV) і «грати/дивитися кіно» разом в одному вр просторі та одній кімнаті.
А якщо брати не Квест, до є дорожчі девайси з 4ма дислеями (та двома кабелями до відеокарти компа) :)))
Коли оцінювати застосування вдома, то важливий баланс фіч, а не кожна окремо. Як усе виглядає загалом, враження від використання як єдиного цілого. А це Apple вміє.

Чому ви так вважаєте? :)
Я високо оцінюю цей пристрій та софт до нього (бо Apple вже багато років не тільки розробляє, але й продає користувачам софт і окремі елементи/датчики ... у складі iPhone :)
Тобто iPhone це вже багато років і є «вр окуляри». Які мають підтримку жестів руками, наприклад.
Але я точно знаю що в рекламі вони не обіцяли «контроллерів для рук», а це «мінус набір фіч». Може ми просто на різні фічі дивимося? Або я десь якийсь момент не так подумав :)) Теж буває.
Я бачив враження людей які тестували (у відкритих тестах) і Vision Pro і Quest 3 та інші. В них враження від Vision на багато кращі щодо responsivness і деталей софта, також краща Passthrough (хоча камери Vision дають тільи 70% від можливостей дисплеїв на той же кут зору, та скло девайса не пряме і спотворює зображення на матриці камери). Але в девайсі є скло, він важчий.
NDA не дозволяє розказати про Vision, але ви можете описати які фічі (що існують в інших девайсах) ви вважаєте більш важливими та в яких з них вони реалізовані погано, на вашу думку :)

От, наприклад, реалізація штучного інтелекту крута. Користувач думає що девайс відстежує «клік» коли він «клікнув», а насправді ШІ прорахував що він «тільки захотів клікнути» на багато рініше за стискання пальців. Тому таке класне враження від реакції :))

Дуже цікавий огляд, прям дуже гарно інтерфейси вигладяють

Підписатись на коментарі