Возможно для кого-то не новость, но все же...
Как вы знаете, существует OpenXR, этакая попытка унифицировать множества VR устройств в одну библиотеку. Часть элементов, которые мы используем, уже являются частью OpenXR, а Pico SDK в это интегрируется... но не полностью. Тот факт что мы используем в качестве XR-провайдера PICO а не OpenXR как бы на это намекают.
Головной же болью будет то, как работать с Hand Tracking (Управление руками). У OpenXR есть своя реализация подобного управления, но... она отличается от Pico, и мало того, не подхватывается. Нужно вспоминать про "чудесный" PXR_Manager, проставлять там наличие этой фичи, иработать с PXR библиотеками... (А не нужно. Только включить в PXR Manager и можно работать в XR Hands (OpenXR реализация). Разберусь с искаженным скелетным Mesh и напишу отдельно статью)
Ранее интеграцию более плотную уже делала Pico с экспериментальным модулем OpenXR, в этом случае управление спокойно интегрировалось в Interaction Profiles внутри OpenXR, что давало куда более сильную свободу в мультиплатформе. Но его потом убрали.
Так вот, новость... ожидаем возвращение его в октябре. Саму новость не нашел, но нашел ответ на форуме от Pico.
Как вы знаете, существует OpenXR, этакая попытка унифицировать множества VR устройств в одну библиотеку. Часть элементов, которые мы используем, уже являются частью OpenXR, а Pico SDK в это интегрируется... но не полностью. Тот факт что мы используем в качестве XR-провайдера PICO а не OpenXR как бы на это намекают.
Головной же болью будет то, как работать с Hand Tracking (Управление руками). У OpenXR есть своя реализация подобного управления, но... она отличается от Pico, и мало того, не подхватывается. Нужно вспоминать про "чудесный" PXR_Manager, проставлять там наличие этой фичи, и
Ранее интеграцию более плотную уже делала Pico с экспериментальным модулем OpenXR, в этом случае управление спокойно интегрировалось в Interaction Profiles внутри OpenXR, что давало куда более сильную свободу в мультиплатформе. Но его потом убрали.
Так вот, новость... ожидаем возвращение его в октябре. Саму новость не нашел, но нашел ответ на форуме от Pico.
👍7❤1
This media is not supported in your browser
VIEW IN TELEGRAM
Hand Tracking и ужасы мутированной Pico 5.4
Работал с этим долго, и вот благодаря этому обнаружилось что:
Модификация 5.4 для поддержки нового SDK 2.3.0 - вещь действительно нестабильная, ему явно не хватает компонентов будущих обновлений. Это видно в управлении руками.
1. В SDK 2.3.0 - OpenXR полная реализация. Т.е. достаточно работать с XR Hands внутри Unity. (Но PXR_Manager необходим)
2. Нативный Pico Hand Tracking работает некорректно в SDK 2.3.0 для 5.4 с модификацией на библиотеку, в виду перехода на OpenXR элементы, но что странно - XR Hands OpenXR работает лучше, хотя mesh генерирует отвратно. Причина - отсутствия обнаружения трех костей. Он начинает выворачивать mesh. Нативный - выворачивает mesh еще сильнее.
3. Начиная с 5.7 и выше нет никаких проблем, не удивительно - SDK 2.3.0 официально с 5.7
4. В SDK 2.2.0 работает только нативная реализация, XR Hands не поддерживается. Но, нативная работает вполне корректно. Что уже решает вопрос и с Unity 2022 под Pico 5.4, своим лого, и с Hand Tracking.
Работал с этим долго, и вот благодаря этому обнаружилось что:
Модификация 5.4 для поддержки нового SDK 2.3.0 - вещь действительно нестабильная, ему явно не хватает компонентов будущих обновлений. Это видно в управлении руками.
1. В SDK 2.3.0 - OpenXR полная реализация. Т.е. достаточно работать с XR Hands внутри Unity. (Но PXR_Manager необходим)
2. Нативный Pico Hand Tracking работает некорректно в SDK 2.3.0 для 5.4 с модификацией на библиотеку, в виду перехода на OpenXR элементы, но что странно - XR Hands OpenXR работает лучше, хотя mesh генерирует отвратно. Причина - отсутствия обнаружения трех костей. Он начинает выворачивать mesh. Нативный - выворачивает mesh еще сильнее.
3. Начиная с 5.7 и выше нет никаких проблем, не удивительно - SDK 2.3.0 официально с 5.7
4. В SDK 2.2.0 работает только нативная реализация, XR Hands не поддерживается. Но, нативная работает вполне корректно. Что уже решает вопрос и с Unity 2022 под Pico 5.4, своим лого, и с Hand Tracking.
Базовая информация по использованию Hand Tracking в Unity
Если у вас 5.7 и выше:
- Заходим в Package Manager - Unity Registry, и добавляем XR Hands в проект
- Экспортируем в проект Hand Visualizer (это пример, его можно увидеть во вкладке XR Hands внутри Package Manager)
- На сцене разместите PXR_Manager, включите там Hand Tracking
- Разместите prefab Left\Right Hand Tracking в XR Origin рядом с главной камерой.
...все.
Если у вас ниже - используем SDK ниже, и нативный способ.
- Переходим к пакетам (Packages) и ищем PICO Integration
(там, если что, есть и prefab нашего контроллера с полным перехватом управления и индикацией зарядки)
- В Prefabs есть Hands Left\Right, перетаскиваем схожим образом с OpenXR - в XRRig рядом с камерой.
- На сцене разместите PXR_Manager, включите там Hand Tracking
...все.
Заранее отвечу про "физические" руки. Дело в том что mesh - динамический, нельзя просто задать Mesh Collider. Есть ухищрения и даже реализации, но самый простой способ - создание в костях упрощенные 3д объекты с коллайдером и физикой. Можно скрыть их видимость и в целом терпимо ;)
Если у вас 5.7 и выше:
- Заходим в Package Manager - Unity Registry, и добавляем XR Hands в проект
- Экспортируем в проект Hand Visualizer (это пример, его можно увидеть во вкладке XR Hands внутри Package Manager)
- На сцене разместите PXR_Manager, включите там Hand Tracking
- Разместите prefab Left\Right Hand Tracking в XR Origin рядом с главной камерой.
...все.
Если у вас ниже - используем SDK ниже, и нативный способ.
- Переходим к пакетам (Packages) и ищем PICO Integration
(там, если что, есть и prefab нашего контроллера с полным перехватом управления и индикацией зарядки)
- В Prefabs есть Hands Left\Right, перетаскиваем схожим образом с OpenXR - в XRRig рядом с камерой.
- На сцене разместите PXR_Manager, включите там Hand Tracking
...все.
Заранее отвечу про "физические" руки. Дело в том что mesh - динамический, нельзя просто задать Mesh Collider. Есть ухищрения и даже реализации, но самый простой способ - создание в костях упрощенные 3д объекты с коллайдером и физикой. Можно скрыть их видимость и в целом терпимо ;)
Pico Developer
Hand Tracking и ужасы мутированной Pico 5.4 Работал с этим долго, и вот благодаря этому обнаружилось что: Модификация 5.4 для поддержки нового SDK 2.3.0 - вещь действительно нестабильная, ему явно не хватает компонентов будущих обновлений. Это видно в управлении…
Примеры можно увидеть, начиная где-то здесь.
Напоминаю, что у нас есть чат, я наверн закреплю ссылку, так что не пугайтесь уведомления
Напоминаю, что у нас есть чат, я наверн закреплю ссылку, так что не пугайтесь уведомления
👍1🆒1
Pico Developer pinned «Приветствую вас на канале посвященном разработке VR приложений под устройства Pico. Ссылка на чат У самого автора есть Pico 4, а потому вещаю пока что от своего опыта, но в будущем, если будут иные участники, информация будет обновляться и касательно иных…»
Появилась возможность и для Pico 3 использовать самый последний SDK.
(под прошивку 5.4.0)
Ссылка на APK файл (нужно только установить на шлем)
В чате уже проверили работоспособность, огромное спасибо за это Komandor 15
Пока что без OpenXR фикса
(да и ставится под сомнение вообще данный фикс, если честно. Это можно увидеть на примере трекинга рук)
У нас умудрились поставить OpenXR fix Pico 4 на Pico 3, лишь с этим появилась полная работоспособность... Но помечу, что OpenXR fix под Pico 3 не был еще предоставлен группой PP Stuff, потому, на свой страх и риск.
(под прошивку 5.4.0)
Ссылка на APK файл (нужно только установить на шлем)
В чате уже проверили работоспособность, огромное спасибо за это Komandor 15
Пока что без OpenXR фикса
Пока разбирались что вообще происходит с Pico 3 при OpenSDK fix в PP Stuff...
В тестовом виде, релизнули и OpenXR fix под Pico 3 (Прошивка 5.4.0)
Ссылка на скачивание
Ссылка на скачивание в ТГ
Установка через компьютер, аналогично и для Pico 4
Антивирус ругается, Python довольно некрасиво взаимодействует с adb для установки необходимых компонентов в шлем.
Удалите предыдущий OpenXR fix, перед тем как ставить этот!!! (если ставили, конечно)
В тестовом виде, релизнули и OpenXR fix под Pico 3 (Прошивка 5.4.0)
Ссылка на скачивание
Ссылка на скачивание в ТГ
Установка через компьютер, аналогично и для Pico 4
Антивирус ругается, Python довольно некрасиво взаимодействует с adb для установки необходимых компонентов в шлем.
Удалите предыдущий OpenXR fix, перед тем как ставить этот!!! (если ставили, конечно)
На фоне скандалов по поводу требования доплачивать разработчикам движка за каждую установку приложения, сделанного в Unity, весьма забавно продолжать постигать его дальше. (Godot меж тем все ближе ...)
Мы уже знаем как обращаться к контроллерам, чтобы закрыть тему с ними, остается лишь познать прелести в-В-вибрРрации!
Пользуемся документацией SDK.
В отличии от Input Manager, тут все делается уже через код, т.к. обращаемся к Pico SDK
Первое что нужно в коде - пометить что используете данный SDK. Если SDK уже в проекте, то достаточно в начале кода подписать
Значения силы варьируются от 0 до 1 (float данные)
Время задается в мс (1 сек = 1000 мс)
Частоту, которую могут выдать контроллеры - от 50 до 500Гц (по заверению Pico), однако я не рекомендую идти дальше 300, ибо выше контроллеры напоминают пищалку, нежели контроллеры с вибрацией.
Пользуемся документацией SDK.
В отличии от Input Manager, тут все делается уже через код, т.к. обращаемся к Pico SDK
Первое что нужно в коде - пометить что используете данный SDK. Если SDK уже в проекте, то достаточно в начале кода подписать
using Unity.XR.PXR;
Существует 2 варианта вибраций - (не) буферный. не-буферный - базовый (Pico 4&3 поддерживает) (буферный - только Pico 4) Вот пример (SDK 2.1.4):PXR_Input.SendHapticImpulse(PXR_Input.VibrateType.RightController, 0.5f, 500, 100);
- Создает ивент вибрации на правый контроллер с средней силой (0.5f), на 500мс, с частотой 100ГцЗначения силы варьируются от 0 до 1 (float данные)
Время задается в мс (1 сек = 1000 мс)
Частоту, которую могут выдать контроллеры - от 50 до 500Гц (по заверению Pico), однако я не рекомендую идти дальше 300, ибо выше контроллеры напоминают пищалку, нежели контроллеры с вибрацией.
И вновь, на фоне уже извинений Unity по поводу всего его скандала, а также с дополнительным подарком в виде включении в Personal версию движка (т.е. бесплатной) функцию смены Splash экрана (начальная заставка), мы продолжаем постигать в-В-вибрРрацию!
Теперь мы говорим про буферный режим вибрации.
Как указано из документации, он поддерживается только на Pico 4, и представляет из себя более сложную систему, которая направлена на более интересные тактильные ощущения. Особенность - взаимодействие с аудио-файлами\шаблонами PHF.
С PHF файлами не так интересно, шаблон есть в документации. Если кратко, то также как и с не буферным вариантом, только задаете более детально как и что в какое время.
А вот с аудио... ;)
Пример:
1. Сначала нужно задать AudioClip:
4. Если у нас, например,
Мы не можем как к AudioClip просто взять и обратится к объекту и остановить... но мы же не просто так оставляли ссылку)
Теперь мы говорим про буферный режим вибрации.
Как указано из документации, он поддерживается только на Pico 4, и представляет из себя более сложную систему, которая направлена на более интересные тактильные ощущения. Особенность - взаимодействие с аудио-файлами\шаблонами PHF.
С PHF файлами не так интересно, шаблон есть в документации. Если кратко, то также как и с не буферным вариантом, только задаете более детально как и что в какое время.
А вот с аудио... ;)
Пример:
1. Сначала нужно задать AudioClip:
[SerializeField] private AudioClip audioVibration;2. Нам потребуется некая переменная, которая будет использоваться как ссылка к нашей вибрации. Что там - нам особо не важно, это уникальный ID для обращении к вибрации.
int vibration_SourceID = 404;
3. Создаем буферную вибрацию:PXR_Input.SendHapticBuffer(PXR_Input.VibrateType.BothController, audioVibration, PXR_Input.ChannelFlip.No, ref vibration_SourceID, PXR_Input.CacheType.CacheAndVibrate);Посылаем в буфер вибраций нашу аудиодорожку, на оба контроллера, без инверсии правого и левого канала, с заданной ссылкой vibration_SourceID, и говорим сохранить и запустить вибрацию (
CacheAndVibrate).4. Если у нас, например,
PXR_Input.CacheType.CacheNoVibrate, или если мы хотим поставить на паузу или остановитьМы не можем как к AudioClip просто взять и обратится к объекту и остановить... но мы же не просто так оставляли ссылку)
PXR_Input.PauseHapticBuffer(vibration_SourceID); // ставим на паузу нашу аудиодорожку\вибрациюНа этом с вибрацией вроде все... ну, только если еще обсудить использование OpenXR возможностей делать вибрацию... но это в другой раз.
PXR_Input.ResumeHapticBuffer(vibration_SourceID); // возобновляем
PXR_Input.StopHapticBuffer(vibration_SourceID); // останавливаем.
Ну и... да, опять скажу про чат.
У нас тут хештеги появились... #ищукомпаньона. Заходите в наш чат, и ищите по данному хештегу людей, или сами оставляйте запись... собирайтесь, творите!)
Люди потихоньку что-то творят, и это то, в чем смысл данного места - подталкивать к изучению нашего любимого шлема, и в работе с VR. Мы все - не эксперты, такие же новички, так что бояться идти на контакт точно не надо. Вместе изучать - веселее!)
Коллаж на фоне - кадры проектов различных людей в чате...
Да простят меня эти люди, что я без спроса их контент заюзал, аминь
Ссылка на чат
У нас тут хештеги появились... #ищукомпаньона. Заходите в наш чат, и ищите по данному хештегу людей, или сами оставляйте запись... собирайтесь, творите!)
Люди потихоньку что-то творят, и это то, в чем смысл данного места - подталкивать к изучению нашего любимого шлема, и в работе с VR. Мы все - не эксперты, такие же новички, так что бояться идти на контакт точно не надо. Вместе изучать - веселее!)
Коллаж на фоне - кадры проектов различных людей в чате...
Pico, совместно с Intel стартанула 2023 Pico Dev Jam. Для тех кто хочет испытать свои силы, ну или посмотреть уровень участвующих там, рекомендую к изучению.
Доступен Jam для EMEA регионов(РФ включена), для Азии и США.
За первое место обещают $8.000, 2-ое - $3.000, 3-ье - $1.500, 4-ое - $500, и 5-ое - $300 соответственно.
Также, есть награды в определенных категориях:
- Best Game App (игровой) - $1.000
- Best Non-Game App (не игровой) - $1.000
- Best Hand Tracking (приложение, что использует трекинг рук) - $600
- Best MR Design (насколько удачно приложение в смешанной реальности?) - $600
Особенность данного Jam - данный Jam не обязательно предполагает готовый проект. Под данный Jam в требованиях указан и простой диз. док (Design Doc), так что... это весьма любопытно.
Оставлю вам также критерии данного Jam:
- Насколько ваш проект подходит под тему данного Jam (Переосмысление XR: За гранью воображения - к инновациям) (20 баллов)
- Насколько ваш проект\идея оригинальна (30 баллов)
- Техническое исполнение (есть особенность, в случае если ваш проект - диз. док. Подробнее тут) (30 очков)
- Насколько вы хорошо показали свой проект (10 очков)
- Насколько проект полезен (10 очков)
- Как хорошо вы интегрировали все модули Pico (20 очков)
Дата проведения:
Регистрация уже открыта, и продлится она до 10 ноября.
Сдача проектов открывается с 2 октября. Дедлайн - 10 ноября
С 13 по 30 ноября судейство, и в районе 10 декабря - результаты данного Jam.
Более подробно по времени смотрите на сайте Jam'a.
Огромное спасибо за новость Lokus Kus
Доступен Jam для EMEA регионов
За первое место обещают $8.000, 2-ое - $3.000, 3-ье - $1.500, 4-ое - $500, и 5-ое - $300 соответственно.
Также, есть награды в определенных категориях:
- Best Game App (игровой) - $1.000
- Best Non-Game App (не игровой) - $1.000
- Best Hand Tracking (приложение, что использует трекинг рук) - $600
- Best MR Design (насколько удачно приложение в смешанной реальности?) - $600
Особенность данного Jam - данный Jam не обязательно предполагает готовый проект. Под данный Jam в требованиях указан и простой диз. док (Design Doc), так что... это весьма любопытно.
Оставлю вам также критерии данного Jam:
- Насколько ваш проект подходит под тему данного Jam (Переосмысление XR: За гранью воображения - к инновациям) (20 баллов)
- Насколько ваш проект\идея оригинальна (30 баллов)
- Техническое исполнение (есть особенность, в случае если ваш проект - диз. док. Подробнее тут) (30 очков)
- Насколько вы хорошо показали свой проект (10 очков)
- Насколько проект полезен (10 очков)
- Как хорошо вы интегрировали все модули Pico (20 очков)
Дата проведения:
Регистрация уже открыта, и продлится она до 10 ноября.
Сдача проектов открывается с 2 октября. Дедлайн - 10 ноября
С 13 по 30 ноября судейство, и в районе 10 декабря - результаты данного Jam.
Более подробно по времени смотрите на сайте Jam'a.
Огромное спасибо за новость Lokus Kus
2023 PICO Dev Jam
Redefining XR: Beyond Imagination, Into Innovation
🔥4👍2❤1
Небольшое дополнение:
Если зайти в правила данного Jam'a можно увидеть небольшое расхождение по участвующим странам.
Где-то указан как EMEA, а где-то более ограниченный список стран участников. Чему верить - хз ;)
UPD: да, вариант с жестким ограничением стран - истинный, варианта с РФ там нет.
Ориентируемся в вариантах, во время регистрации.
Логично предположить, что активен Jam там, где официально есть шлем (а он есть в США?)
Если зайти в правила данного Jam'a можно увидеть небольшое расхождение по участвующим странам.
Где-то указан как EMEA, а где-то более ограниченный список стран участников. Чему верить - хз ;)
UPD: да, вариант с жестким ограничением стран - истинный, варианта с РФ там нет.
Ориентируемся в вариантах, во время регистрации.
В чате задали вопрос по поводу представлений контроллеров как кисти рук, которые бы могли хватать предметы. Что-ж, давайте разбираться. Приведу пример с использованием XR Toolkit, который по умолчанию стоит в шаблоне VR проекта Unity, а также проставлен в зависимостях PICO SDK Unity
После базовой настройки с созданием проекта и добавлении SDK и настройки проекта под Pico, первое что мы делаем - добавляем руки.
Я упущу момент с нулевой реализацией, в виду большого кол-во текста (у меня тут ограничения :D) , так что воспользуемся доступной заготовкой Oculus.
Импортируйте ее в проект, разместите префабы рук в контроллеры на сцене. Нужно будет немного повернуть по оси Z для совпадений в размещении.
В аниматоре префабов нужно будет указать контроллер аниматора, вы сможете это найти в папке Oculus Hands -> Animations -> Left\Right Hand Animator.
Дальше пишем код для того чтобы сделать имитацию движений захватов, из значений Trigger и Grip в контроллерах. Файл с комментариями.
Размещаем скрипт на префабах в сцене, вписываем значения из Input Manager, устанавливаем является ли контроллер правой\левой рукой, и проставляем аниматор из этого префаба в скрипт, путем перетаскивания.
Итак, у нас есть руки, что могут делать захваты. Как же, собственно, ими хватать?
Объект, который мы хотим хватать, должен содержать:
- Коллайдер.
- Физику (Rigidbody)
- XR Grab Interaction
Способы взаимодействия у XR Grab три (переключаются в Movement Type):
- Instantaneous (привязка по положению, кривое решение :D)
- Kinematic (физика отрабатывается лучше, но игнорируется при вытягивании предмета сквозь другой объект)
- Velocity Tracking (лучшее решение, предмет не проходит насквозь, при попытке сквозь объект тащить, предмет не будет проходить мимо него)
После чего у нас все Grab события отрабатываются, и можно спокойно хватать объект.
Есть особенности, например если нужно сделать определённый хват объекта то можно создать определенные правила. Но базовая реализация выглядит как-то так.
После базовой настройки с созданием проекта и добавлении SDK и настройки проекта под Pico, первое что мы делаем - добавляем руки.
Импортируйте ее в проект, разместите префабы рук в контроллеры на сцене. Нужно будет немного повернуть по оси Z для совпадений в размещении.
В аниматоре префабов нужно будет указать контроллер аниматора, вы сможете это найти в папке Oculus Hands -> Animations -> Left\Right Hand Animator.
Дальше пишем код для того чтобы сделать имитацию движений захватов, из значений Trigger и Grip в контроллерах. Файл с комментариями.
Размещаем скрипт на префабах в сцене, вписываем значения из Input Manager, устанавливаем является ли контроллер правой\левой рукой, и проставляем аниматор из этого префаба в скрипт, путем перетаскивания.
Итак, у нас есть руки, что могут делать захваты. Как же, собственно, ими хватать?
Объект, который мы хотим хватать, должен содержать:
- Коллайдер.
- Физику (Rigidbody)
- XR Grab Interaction
Способы взаимодействия у XR Grab три (переключаются в Movement Type):
- Instantaneous (привязка по положению, кривое решение :D)
- Kinematic (физика отрабатывается лучше, но игнорируется при вытягивании предмета сквозь другой объект)
- Velocity Tracking (лучшее решение, предмет не проходит насквозь, при попытке сквозь объект тащить, предмет не будет проходить мимо него)
После чего у нас все Grab события отрабатываются, и можно спокойно хватать объект.
Есть особенности, например если нужно сделать определённый хват объекта то можно создать определенные правила. Но базовая реализация выглядит как-то так.
❤🔥5👍1
В процессе обнаружения использований касаний на триггерах и кнопке большим пальцем в Unity, неожиданно обнаружил что в Preview формате вновь доступен OpenXR SDK для Pico.
Ну, лучше поздно чем никогда ;)
Для тех кто не в курсе что это такое. OpenXR - универсальная стандартизация разработки VR приложений под различное VR оборудование. По идее, все что является уникальным для разработки под Pico, теперь обобщается до единого инструментария. Вам достаточно разрабатывать VR приложение как OpenXR приложение, и нужно лишь задать профиль Pico, или Quest, или любого иного VR устройства для работоспособности вашего приложения.
...и лишь там, в документации указано что-то про считывания касания указательным\большим пальцем. Буду тестировать на нем тогда.
Ну, лучше поздно чем никогда ;)
Для тех кто не в курсе что это такое. OpenXR - универсальная стандартизация разработки VR приложений под различное VR оборудование. По идее, все что является уникальным для разработки под Pico, теперь обобщается до единого инструментария. Вам достаточно разрабатывать VR приложение как OpenXR приложение, и нужно лишь задать профиль Pico, или Quest, или любого иного VR устройства для работоспособности вашего приложения.
👍3
У Pico есть своя страница в Github, где она публикуют различные демонстрационные проекты под свой VR шлем, в различных движках. Один из наиболее ёмких проектов - MicroWar, компиляция многих наработок в виде одной простой игры под Unity.
И в этом проекте кроется весьма странная деталь (спасибо за находку Алексею) - проект использует последний Pico Unity SDK 2.3.0, но при этом спокойно работает на прошивке 5.4.0 без ухищрений в виде OpenXR fix, который бы давал поддержку запуска последних приложений. Вполне вероятно, что у SDK нет прямой зависимости с версией ПО на шлеме. Давайте разбираться.
Все вылеты которые происходят в стандартных шаблонах всегда касаются лишь одного элемента - OpenXR. Pico не с самого начала решила дружить с стандартами, а потому шла по своему пути, интегрировалась в процессы своим SDK. Под давлением внешних разработчиков, начиная с ~5.7.0 ПО, SDK все более начало быть похожим на OpenXR реализацию. Соответственно, если же ваше ПО ниже, а приложение использует последние наработки в ВР, вы столкнетесь с проблемой вылета приложения, т.к. он не может найти необходимые библиотеки. Лечится это или пиратским OpenXR fix, или... составить проект с теми зависимостями, которые бы SDK Pico смог справится без сильной связки с OpenXR.
Под Unity 2022 весьма маловероятно можно добиться работы приложения, т.к. есть минимально доступная версия OpenXR элементов там, и те версии что доступны в Unity - мешают работе, ибо обращаются к элементам, которые отсутствуют в старых прошивках. И даже если установить принудительно через Package Manager -> + -> Add package by name, он установит XR Core Utilities, который помешает работе. Там сильная зависимость и потому избавиться от него не представляет возможности.Возможно он есть и в 2021 версии, но его в списке явно нет. Если узнать версию у 2021ого, и попытаться установить принудительно в 2022... то можно в теории решить вопрос
Под Unity 2021 уже интереснее - меньше зависимостей у проекта к XR элементам, да и сам оригинальный проект MicroWar - проект под Unity 2021 LTS. Проблема запуска проекта с простым шаблоном VR была в том, что в Package Manager были прописаны пакеты, которые внедряли OpenXR части из-за Quest. Достаточно удалить Package Manager -> VR 2 пакета, и настроить проект с зависимостями, которые я опишу ниже.
Лучше всего базироваться на MicroWar зависимостях. Для этого надо добавить в проект следующие пакеты с следующими версиями:
(устанавливаем через Package Manager -> + -> Add package by name)
(кликом копируется текст)
И устанавливаем обычный Pico Unity SDK 2.3.0
В итоге ваш Package Manager должен выглядеть так как на скриншоте, что я скину в комментариях. В этом случае ваш проект спокойно заработает на 5.4 ПО(и даже ниже, вроде проверяли под 5.2.7) , хотя и указано что для 2.3.0 минимальная прошивка 5.7.0.
И в этом проекте кроется весьма странная деталь (спасибо за находку Алексею) - проект использует последний Pico Unity SDK 2.3.0, но при этом спокойно работает на прошивке 5.4.0 без ухищрений в виде OpenXR fix, который бы давал поддержку запуска последних приложений. Вполне вероятно, что у SDK нет прямой зависимости с версией ПО на шлеме. Давайте разбираться.
Все вылеты которые происходят в стандартных шаблонах всегда касаются лишь одного элемента - OpenXR. Pico не с самого начала решила дружить с стандартами, а потому шла по своему пути, интегрировалась в процессы своим SDK. Под давлением внешних разработчиков, начиная с ~5.7.0 ПО, SDK все более начало быть похожим на OpenXR реализацию. Соответственно, если же ваше ПО ниже, а приложение использует последние наработки в ВР, вы столкнетесь с проблемой вылета приложения, т.к. он не может найти необходимые библиотеки. Лечится это или пиратским OpenXR fix, или... составить проект с теми зависимостями, которые бы SDK Pico смог справится без сильной связки с OpenXR.
Под Unity 2022 весьма маловероятно можно добиться работы приложения, т.к. есть минимально доступная версия OpenXR элементов там, и те версии что доступны в Unity - мешают работе, ибо обращаются к элементам, которые отсутствуют в старых прошивках. И даже если установить принудительно через Package Manager -> + -> Add package by name, он установит XR Core Utilities, который помешает работе. Там сильная зависимость и потому избавиться от него не представляет возможности.
Лучше всего базироваться на MicroWar зависимостях. Для этого надо добавить в проект следующие пакеты с следующими версиями:
(устанавливаем через Package Manager -> + -> Add package by name)
com.unity.xr.interaction.toolkit | 2.4.3
com.unity.xr.hands | 1.2.1 (кликом копируется текст)
И устанавливаем обычный Pico Unity SDK 2.3.0
В итоге ваш Package Manager должен выглядеть так как на скриншоте, что я скину в комментариях. В этом случае ваш проект спокойно заработает на 5.4 ПО
👍6
Ух, месяц работы и болячек - страшное дело ;)
За это время у нас и череда страшных новостей по краху Pico, активная борьба с пиратством, открытие VR Chat под Pico, а следовательно и новый виток в разработке, ну и конкурс о котором говорилось ранее тоже подошел к концу, почти 700 участников. Неплохо. Ждем результаты, а пока можно взглянуть на ролик этого мероприятия.
И... еще недавно вышел новый SDK Unity под Pico 2.4.0
Рекомендуемое ПО - 5.8.0 и выше.
Нововведение:
- Добавлено суперразрешение - технология повышения разрешения изображения от низкого (LR) до высокого (HR).
- Повышение резкости - технология обработки изображений, позволяющая усилить высокочастотную информацию в изображении, улучшить края и контуры изображения.
- Добавлена функция Equi-Angular Cubemap (EAC), которая представляет собой проекционную технику, используемую для отображения панорамных изображений или видеороликов с углом обзора 180 или 360 градусов.
- Поддержка импорта бинауральных аудиосигналов в Unity Audio Mixer.
Более подробно смотрите на сайте.
Скачать можно на сайте или из ТГ.
За это время у нас и череда страшных новостей по краху Pico, активная борьба с пиратством, открытие VR Chat под Pico, а следовательно и новый виток в разработке, ну и конкурс о котором говорилось ранее тоже подошел к концу, почти 700 участников. Неплохо. Ждем результаты, а пока можно взглянуть на ролик этого мероприятия.
И... еще недавно вышел новый SDK Unity под Pico 2.4.0
Рекомендуемое ПО - 5.8.0 и выше.
Нововведение:
- Добавлено суперразрешение - технология повышения разрешения изображения от низкого (LR) до высокого (HR).
- Повышение резкости - технология обработки изображений, позволяющая усилить высокочастотную информацию в изображении, улучшить края и контуры изображения.
- Добавлена функция Equi-Angular Cubemap (EAC), которая представляет собой проекционную технику, используемую для отображения панорамных изображений или видеороликов с углом обзора 180 или 360 градусов.
- Поддержка импорта бинауральных аудиосигналов в Unity Audio Mixer.
Более подробно смотрите на сайте.
Скачать можно на сайте или из ТГ.
👍4🔥2🎉1
Эпопея рук не заканчивается.
В чате задали вопрос по работе с руками, а именно:
- Как сделать так, чтобы можно было взять руками "корректно" предмет, т.е. с предустановленной позой (например, если мы берем меч)
Опишу это решение с позиции контроллеров.
Текста будет много, потому статья будет по ссылке тут.
Если будут какие-то вопросы - задавайте в чате\комментариях, я и другие участники постараются ответить.
Помечу, что данная группа нацелена в первую очередь обозначить сообщество людей что хотят работать с VR и с Pico в частности. Потому важнее больше чат , сама группа скорее архив, и статьи - не регулярная вещь ;)
В чате задали вопрос по работе с руками, а именно:
- Как сделать так, чтобы можно было взять руками "корректно" предмет, т.е. с предустановленной позой (например, если мы берем меч)
Опишу это решение с позиции контроллеров.
Текста будет много, потому статья будет по ссылке тут.
Если будут какие-то вопросы - задавайте в чате\комментариях, я и другие участники постараются ответить.
❤🔥2
Судя по времени... результаты 2023 PICO Dev Jam должны быть уже опубликованы.
Но это не точно, ибо это запланированное сообщение ко времени когда должны по идее назвать финалистов.
Надеюсь что материал оттуда будет полезным, сам я лишь по прилету обратно домой смогу оценить :D
Ссылка на данный Dev Jam.
Но это не точно, ибо это запланированное сообщение ко времени когда должны по идее назвать финалистов.
Надеюсь что материал оттуда будет полезным, сам я лишь по прилету обратно домой смогу оценить :D
Ссылка на данный Dev Jam.
👍1