Привет!
Чтобы не повторять собственных ошибок, я решил написать, как мы строим авиатренажер. Потом, когда все уже будет завершено, времени разгребать фотографии и видео не будет, многое будет забыто, да и вообще — лень.
Мы почти закончили НИОКР с новой визуальной системой для тренажера, который появится в Питере в этом году, и я расскажу, как в процессе работы получился самостоятельный продукт.
Картинка для привлечения внимания:
Поехали (осторожно, трафик)
Когда мы получили заказ на постройку развлекательного тренажера Boeing-737 для питерского заказчика, первым делом мы решили не наступать на уже опробованные грабли.
Одна из этих граблей называется «X-Plane и цилиндрическая проекция».
Суть проблемы в том, что встроенный в симулятор функционал не обладает достаточной гибкостью, чтобы качественно свести изображение от трёх проекторов на геометрически не идеальном цилиндрическом экране.
Более того, в процессе весьма эмоционального общения с автором X-Plane выяснилось, что он все тесты этой функции производил на сегментосферическом экране, и не до конца понимает, чего мы, собственно, от него хотим.
Помимо этого аспекта, мы осознали, что LCD-проекторы для нашего применения не очень подходят — со временем «ходят» цвета и яркость, и это значит, что картинку все время надо будет сводить по яркости и цветности.
Также мы приняли решение изменить силовую структуру тренажера, и спрятать несущие конструкции прямо в обшивку, следовательно «колхоз» с натяжным экраном был бы невозможен, и экран надо с самого начала проектировать в составе единой силовой схемы тренажера.
И тогда мы решили, что не грех попробовать сферический экран, сделанный из стеклопластика.
Поскольку правило «не более 10% новшеств» явно не для нас, но мы сумашедшие, а не идиоты, было принято решение изготовить один экран на стационарных опорах, дабы обыграть все возможные косяки и костыли «на земле».
Изготовитель стеклопластиковых панелей обшивки сделал нам комплект панелей и наземную силовую конструкцию, которая прибыла в Москву и была собрана в ангаре. Получилось вот так:
Экран состоит из трёх стеклопластиковых панелей, установленных на стальных опорах с колёсиками. В тренажере экран будет крепиться прямо на несущие конструкции в обшивке.
Рабочая поверхность окрашена специальной краской для проекционных поверхностей. В краске этой содержатся какие-то магические добавки, который слегка повышают контраст изображения и снижают «зацепление» взгляда за поверхность.
Одним из опасений были стыки панелей, но производителю удалось сделать края панелей очень качественными и ровными, так что стыков практически не видно.
Собирается и разбирается все часа за два-три, что просто прекрасно по сравнению с нашими прошлыми экранами.
Из ТТХ: диаметр около 6 метров, угол обзора — 220 градусов по горизонтали и 40 градусов по вертикали.
Три проектора Benq W1080ST. Обычные бытовые DLP-проекторы, без изысков. Единственное отличие от совсем уж бытовых моделей — Short throw, то есть — короткий фокус.
Разница между LCD и DLP видна сразу — прямо из коробки все три проектора светят почти одинаково, размер пикселя — гораздо меньше, чем у LCD. Разрешение — 1920x1080.
Проекторы направлены так, чтобы обеспечивать перекрытие проекций от соседних проекторов около 200 пикселей, или 10% картинки. Зачем это нужно — будет ясно дальше.
Чтобы не тянуть дорогущие, тяжелые и неудобные HDMI-кабели, были применены удлинители HDMI over UTP. В A320 мы использовали удлинители Hama, но они внезапно исчезли из продажи в РФ, поэтому было куплено что-то похожее. Поначалу была проблема с одним из удлинителей, поэтому я использовал Hama из запасов, так он и остался.
Это и песня, и стон.
При проекции на искривленную поверхность, картинку необходимо корректировать.
Кроме геометрической коррекции, необходимо «сшить» изображение, ведь в зоне перехлеста два проектора светят на одну и ту же поверхность
В самом начале мы рассматривали три варианта:
1. Программные решения, работающие на уровне видеокарты. Таких софтов — множество, среди популярных и на слуху — Sol7 и Immersive Display.
2. Аппаратные средства для сшивки.
3. Ну и, как совсем запасной вариант, мы мысленно были готовы вернуться к решению с тремя X-Plane и его куцыми возможностями для сшивки.
Pro и contra есть у обоих решений.
В случае с софтом мы привязываемся к платформе — вменяемых кросс-платформенных решений я не нашел, поэтому только Windows. Кроме этого, часть ресурсов компьютера будут отданы на задачу сшивки. Плюс программного решения — стоимость, и возможность автоматизировать процесс коррекции.
Аппаратное решение — дороже, и сильно дороже. Кроме этого, комьюнити этого решения не велика, в основном это компании, которые реализуют многопроекторные системы для презентационных целей.
К сожалению, мы обратились к «специалистам», которые не имея опыта подобных проектов, впарили нам аппаратные сшиватели тайваньской фирмы VNS. Называются они Geobox G-104, выглядят вот так:
Что делает G-104:
1. Искривление картинки по точкам;
2. Цветокоррекцию;
3. Сшивку градиентным уменьшением яркости.
Проблема лишь одна — эта железка не решала нашу задачу.
Чтобы она смогла работать, нужно было либо пропустить видеопотоки для всех трёх проекторов через одну железку (а таких железок нам «специалисты» не предложили), либо необходимо на уровне видеокарты сделать перехлест изображения. Существующие же технологии Eyefinity от AMD и 3D Vision Surround для обычных игровых видеокарт такого не делают.
После того, как стал очевидным провал с железным решением, «специалисты» все-таки нашли выход: предложили нам купить и использовать профессиональную карту AMD Quadro K5000 — в драйверах к ней возможно сделать перехлест. Но к моменту осознания ошибки, мы уже две недели смотрели на бесплодные попытки «специалистов», и решили отказаться от их услуг. Кроме этого, производительность K5000 не внушала доверия на таких приложениях, как X-Plane. В общем, сейчас мы ищем покупателей на два комплекта G-104. «Не пригодилась».
В итоге, мы переключились на программное решение, и, после анализа, остановились на Immersive Display Pro.
Я не буду описывать тут процедуру сведения изображения при помощи этого софта и веб-камеры, она довольно очевидна. Если кто-то столкнется с затруднениями, с удовольствием отвечу в личке или комментариях.
Основные моменты при использовании этого софта:
1. Работает только под Windows;
2. Требует для работы Aero;
3. Совсем без ручного труда с лазерным нивелиром обойтись не получится — изображение будет кривовато, хотя на восприятие картинки мозжечком это влияет не сильно.
В результате получилось то, что на КДПВ. В качестве первого запущенного приложения, я попробовал Google Street View
Итак, в качестве генератора картинки, у нас выступает обычный игровой компьютер на i7 с AMD R9 290X.
К видеокарте подключены три преобразователя HDMI<->UTP<->HDMI.
На уровне драйверов видеокарты собран виртуальный дисплей с разрешением 5760x1080
Поверх всего запущен Immersive Display Pro, который производит искривление и сшивку изображения:
Для настройки всего использовался тул Immersive Calibration Pro, который при помощи внешней веб-камеры почти автоматически делает искривление и коррекцию (и результирующий файл которого подсовывается в Display Pro). По ходу настройки на экране образуются вот такие смешные картинки
Осталось попробовать найти видео с разрешением 5760x1080. До сих пор я только находил ролики из игр на Ютубе, но наш интернет с трудом пропускает такое разрешение, так что пять секунд смотрим — 25 ждем, когда докачается.
После того, как все получилось, стало очевидно, что экран сам по себе — продукт. Тут и игры, и просмотр инфорграфики, и видео (правда, где взять такой видеоконтент — не понятно).
Намедни возникла идея попробовать запустить 3D на экран. Беглый просмотр интернетов показал, что задача, вообще говоря, решается, но на NVidia, а с AMD у народа не получилось, но мы попробуем. Банальный анаглиф не хочется, мы хотим сразу затворные очки.
Ну а дальше, если получится с 3D, можно будет дополнить реальность и получить нечто похожее на первые 15 секунд ролика:
Кстати, поскольку эта затея коммерческой ценности не имеет, если у кого-то есть желание поиграться в дополненную реальность на таком экране — милости просим.
Спасибо за внимание, и буду рад ответить на вопросы!
Чтобы не повторять собственных ошибок, я решил написать, как мы строим авиатренажер. Потом, когда все уже будет завершено, времени разгребать фотографии и видео не будет, многое будет забыто, да и вообще — лень.
Мы почти закончили НИОКР с новой визуальной системой для тренажера, который появится в Питере в этом году, и я расскажу, как в процессе работы получился самостоятельный продукт.
Картинка для привлечения внимания:
Поехали (осторожно, трафик)
В общих чертах
Когда мы получили заказ на постройку развлекательного тренажера Boeing-737 для питерского заказчика, первым делом мы решили не наступать на уже опробованные грабли.
Одна из этих граблей называется «X-Plane и цилиндрическая проекция».
Суть проблемы в том, что встроенный в симулятор функционал не обладает достаточной гибкостью, чтобы качественно свести изображение от трёх проекторов на геометрически не идеальном цилиндрическом экране.
Более того, в процессе весьма эмоционального общения с автором X-Plane выяснилось, что он все тесты этой функции производил на сегментосферическом экране, и не до конца понимает, чего мы, собственно, от него хотим.
Помимо этого аспекта, мы осознали, что LCD-проекторы для нашего применения не очень подходят — со временем «ходят» цвета и яркость, и это значит, что картинку все время надо будет сводить по яркости и цветности.
Также мы приняли решение изменить силовую структуру тренажера, и спрятать несущие конструкции прямо в обшивку, следовательно «колхоз» с натяжным экраном был бы невозможен, и экран надо с самого начала проектировать в составе единой силовой схемы тренажера.
И тогда мы решили, что не грех попробовать сферический экран, сделанный из стеклопластика.
Поскольку правило «не более 10% новшеств» явно не для нас, но мы сумашедшие, а не идиоты, было принято решение изготовить один экран на стационарных опорах, дабы обыграть все возможные косяки и костыли «на земле».
Изготовитель стеклопластиковых панелей обшивки сделал нам комплект панелей и наземную силовую конструкцию, которая прибыла в Москву и была собрана в ангаре. Получилось вот так:
Экран
Экран состоит из трёх стеклопластиковых панелей, установленных на стальных опорах с колёсиками. В тренажере экран будет крепиться прямо на несущие конструкции в обшивке.
Рабочая поверхность окрашена специальной краской для проекционных поверхностей. В краске этой содержатся какие-то магические добавки, который слегка повышают контраст изображения и снижают «зацепление» взгляда за поверхность.
Одним из опасений были стыки панелей, но производителю удалось сделать края панелей очень качественными и ровными, так что стыков практически не видно.
Собирается и разбирается все часа за два-три, что просто прекрасно по сравнению с нашими прошлыми экранами.
Из ТТХ: диаметр около 6 метров, угол обзора — 220 градусов по горизонтали и 40 градусов по вертикали.
Проекторы
Три проектора Benq W1080ST. Обычные бытовые DLP-проекторы, без изысков. Единственное отличие от совсем уж бытовых моделей — Short throw, то есть — короткий фокус.
Разница между LCD и DLP видна сразу — прямо из коробки все три проектора светят почти одинаково, размер пикселя — гораздо меньше, чем у LCD. Разрешение — 1920x1080.
Проекторы направлены так, чтобы обеспечивать перекрытие проекций от соседних проекторов около 200 пикселей, или 10% картинки. Зачем это нужно — будет ясно дальше.
Чтобы не тянуть дорогущие, тяжелые и неудобные HDMI-кабели, были применены удлинители HDMI over UTP. В A320 мы использовали удлинители Hama, но они внезапно исчезли из продажи в РФ, поэтому было куплено что-то похожее. Поначалу была проблема с одним из удлинителей, поэтому я использовал Hama из запасов, так он и остался.
Искривители пространства
Это и песня, и стон.
При проекции на искривленную поверхность, картинку необходимо корректировать.
Кроме геометрической коррекции, необходимо «сшить» изображение, ведь в зоне перехлеста два проектора светят на одну и ту же поверхность
В самом начале мы рассматривали три варианта:
1. Программные решения, работающие на уровне видеокарты. Таких софтов — множество, среди популярных и на слуху — Sol7 и Immersive Display.
2. Аппаратные средства для сшивки.
3. Ну и, как совсем запасной вариант, мы мысленно были готовы вернуться к решению с тремя X-Plane и его куцыми возможностями для сшивки.
Pro и contra есть у обоих решений.
В случае с софтом мы привязываемся к платформе — вменяемых кросс-платформенных решений я не нашел, поэтому только Windows. Кроме этого, часть ресурсов компьютера будут отданы на задачу сшивки. Плюс программного решения — стоимость, и возможность автоматизировать процесс коррекции.
Аппаратное решение — дороже, и сильно дороже. Кроме этого, комьюнити этого решения не велика, в основном это компании, которые реализуют многопроекторные системы для презентационных целей.
К сожалению, мы обратились к «специалистам», которые не имея опыта подобных проектов, впарили нам аппаратные сшиватели тайваньской фирмы VNS. Называются они Geobox G-104, выглядят вот так:
Что делает G-104:
1. Искривление картинки по точкам;
2. Цветокоррекцию;
3. Сшивку градиентным уменьшением яркости.
Проблема лишь одна — эта железка не решала нашу задачу.
Чтобы она смогла работать, нужно было либо пропустить видеопотоки для всех трёх проекторов через одну железку (а таких железок нам «специалисты» не предложили), либо необходимо на уровне видеокарты сделать перехлест изображения. Существующие же технологии Eyefinity от AMD и 3D Vision Surround для обычных игровых видеокарт такого не делают.
После того, как стал очевидным провал с железным решением, «специалисты» все-таки нашли выход: предложили нам купить и использовать профессиональную карту AMD Quadro K5000 — в драйверах к ней возможно сделать перехлест. Но к моменту осознания ошибки, мы уже две недели смотрели на бесплодные попытки «специалистов», и решили отказаться от их услуг. Кроме этого, производительность K5000 не внушала доверия на таких приложениях, как X-Plane. В общем, сейчас мы ищем покупателей на два комплекта G-104. «Не пригодилась».
В итоге, мы переключились на программное решение, и, после анализа, остановились на Immersive Display Pro.
Я не буду описывать тут процедуру сведения изображения при помощи этого софта и веб-камеры, она довольно очевидна. Если кто-то столкнется с затруднениями, с удовольствием отвечу в личке или комментариях.
Основные моменты при использовании этого софта:
1. Работает только под Windows;
2. Требует для работы Aero;
3. Совсем без ручного труда с лазерным нивелиром обойтись не получится — изображение будет кривовато, хотя на восприятие картинки мозжечком это влияет не сильно.
В результате получилось то, что на КДПВ. В качестве первого запущенного приложения, я попробовал Google Street View
Конфигурация и архитектура
Итак, в качестве генератора картинки, у нас выступает обычный игровой компьютер на i7 с AMD R9 290X.
К видеокарте подключены три преобразователя HDMI<->UTP<->HDMI.
На уровне драйверов видеокарты собран виртуальный дисплей с разрешением 5760x1080
Поверх всего запущен Immersive Display Pro, который производит искривление и сшивку изображения:
Для настройки всего использовался тул Immersive Calibration Pro, который при помощи внешней веб-камеры почти автоматически делает искривление и коррекцию (и результирующий файл которого подсовывается в Display Pro). По ходу настройки на экране образуются вот такие смешные картинки
Осталось попробовать найти видео с разрешением 5760x1080. До сих пор я только находил ролики из игр на Ютубе, но наш интернет с трудом пропускает такое разрешение, так что пять секунд смотрим — 25 ждем, когда докачается.
Что с этим делать дальше
После того, как все получилось, стало очевидно, что экран сам по себе — продукт. Тут и игры, и просмотр инфорграфики, и видео (правда, где взять такой видеоконтент — не понятно).
Намедни возникла идея попробовать запустить 3D на экран. Беглый просмотр интернетов показал, что задача, вообще говоря, решается, но на NVidia, а с AMD у народа не получилось, но мы попробуем. Банальный анаглиф не хочется, мы хотим сразу затворные очки.
Ну а дальше, если получится с 3D, можно будет дополнить реальность и получить нечто похожее на первые 15 секунд ролика:
Кстати, поскольку эта затея коммерческой ценности не имеет, если у кого-то есть желание поиграться в дополненную реальность на таком экране — милости просим.
Спасибо за внимание, и буду рад ответить на вопросы!