0

Создать дополненную реальность

Платформа Admix опубликовала большую подборку популярных инструментов для создания приложений дополненной и виртуальной реальности. Обзор будет полезен не только для новичков в сфере, но также поможет всем разработчикам найти оптимальные инструменты для своих проектов.

Фреймворки

Unity

Unity — это самый популярный фреймворк для создания высококачественных 2D- и 3D-игр для множества платформ: смартфонов, компьютеров, консолей, ТВ, VR, AR и веба. Стоимость подписки варьируется от бесплатной для «начинашек» до $125 в месяц для профессионалов.

Unreal Engine 4

Unreal Engine 4 идеально подходит тем, кто ищет полноценный инструментарий для создания игр, симуляций и визуализаций в реальном времени. По сути, сам фреймворк бесплатен — придётся только отдать 5 процентов в виде роялти от выручки с коммерческих продуктов после заработка первых $3 тысяч в течение календарного квартала.

CryEngine

CryEngine — ещё один мощный игровой движок, поддерживающий Oculus Rift, Linux, HTC Vive, Windows PC, OSVR, PSVR, Xbox One и PlayStation 4. Ведётся работа по интеграции поддержки мобильных платформ. Модель монетизации CryEngine основана на роялти. Разработчики просят 5 процентов после $5 тысяч выручки на проект в год.

Amazon Sumerian

Amazon Sumerian позволяет быстро и удобно создавать VR, AR и 3D-приложения даже тем, кто не имеет в этом опыта. Он совместим с Oculus Rift, Oculus Go, HTC Vive, Google Daydream, Lenovo Mirage, а также мобильными устройствами на Android и iOS. Создать аккаунт можно бесплатно, далее плата взимается на основе объёма хранимых 3D-ресурсов и генерируемого сценами трафика.

A-Frame

A-Frame — это опенсорсный веб-фреймворк для создания VR под HTC Vive, Oculus Rift, десктопные и мобильные платформы. Он бесплатен, не требует дополнительной установки и работает с HTML.

React 360

React 360 — хороший инструмент для создания интерактивных панорамных и VR-приложений. Это тоже опенсорсный инструмент для создания проектов под ПК, мобильные устройства и гарнитуры виртуальной реальности.

Primrose

Primrose используется для разработки VR в браузере. С помощью него можно создавать 3D-чаты, среды для программирования в онлайн-режиме, игры, музыкальные синтезаторы и многое другое. Инструмент бесплатен.

Simbol

Simbol позволяет создавать социальные VR-проекты на основе 3D-контента. Можно создавать «виртуальных личностей», которые могут взаимодействовать с виртуальным миром. Simbol также бесплатен.

Vizor

С помощью Vizor можно создавать VR-контент и легко делиться им на любом устройстве с выходом в интернет. Преимущественно используется для VR-сторителлинга.

Godot Engine

Godot Engine — бесплатный игровой движок с открытым кодом. Очень прост и удобен в использовании, поэтому отлично подходит для разработчиков без опыта в создании VR-игр.

Apertus VR

Apertus VR — бесплатный движок для создания виртуальной, дополненной и смешанной реальности, который позволяет интегрировать эти технологии в новые или существующие продукты.

Simmetri

Simmetri представляет собой креативную студию для художников, дизайнеров, преподавателей и студентов. С помощью неё можно создавать VR-проекты, анимации, игры, интерактивные произведения искусства, физические эксперименты и многое другое. Купить инструмент можно за $19,99.

Beloola

Beloola — платформа для создания 3D-пространств, где можно в режиме онлайн встречаться и общаться с людьми.

Kokowa

Kokowa — бесплатная платформа для не-программистов, которая упрощает создание и распространение webVR-контента.

VRCHIVE

VRCHIVE позволяет создавать 360-градусные панорамы и делиться ими на различных устройствах.

SceneVR

SceneVR — это новый способ сторителлинга, который помогает запросто преобразовывать панорамные фото в VR-сцены.

LÖVR

LÖVR — простой и бесплатный фреймворк для создания VR на скриптовом языке Lua. Проекты LÖVR можно запускать на Oculus Rift и HTC Rift, а также экспортировать в WebVR.

Google Daydream

Google Daydream — платформа для создания высококачественных мобильных VR-проектов. Она включает SDK для Android, iOS, Unity, Unreal, Android NDK и веба.

Exokit

Exokit — опенсорсный веб-движок на JavaScript для разработки VR-проектов под десктопные, мобильные платформы и шлемы, AR-проектов для мобильные платформ и шлемов, Unity и других.

3D-моделирование и анимация

Blender

Blender — бесплатный инструментарий для создания 3D-моделей, симуляций, анимаций, риггинга, рендеринга, компоновки и захвата движения, создания игр и редактирования видео.

Maya

Maya инструментарий для работы с анимацией, моушн-графикой, средами, виртульной реальностью и созданием персонажей. Годовая подписка стоит около $2 тысяч, а для студентов Maya в течение 3 лет доступен бесплатно.

3ds Max

3ds Max — программа 3D-моделирования и рендеринга, помогающая создавать обширные миры в играх.

Google Blocks

6 инструментов Blocks позволяют создавать как простые, так и более сложные модели в VR.

Mixamo

Благодаря Mixamo можно запросто создавать анимированных трёхмерных героев без какого-либо опыта.

Pixologic ZBrush

ZBrush — отличный инструмент для разработки цифровых скульптур в реальном времени.

MODO Indie

MODO Indie предоставляет средства для создания объёмных моделей, анимаций и скульптур.

Speedtree

Speedtree — инструмент визуализации растений в 3D для UE4.

Wings3d

Wings 3D — это продвинутый редактор с широким выбором инструментов моделирования и кастомизируемым интерфейсом.

FreeCAD

FreeCAD — бесплатный 3D-редактор для разработки объектов любого масштаба.

Anim8or

Anim8or — программа для 3D-моделирования и анимирования героев.

DeleD 3Deditor CE

DeleD совмещает 3D-редактор и редактор уровней. Он предназначен для создания статичных сцен в играх.

A-Painter

A-Painter позволяет рисовать в 3D, используя ручные контроллеры.

Recap360

Recap360 превращает фотографии в трёхмерные модели.

3D-модели

Sketchfab

Sketchfab — платформа, где можно искать и размещать 3D-модели.

Unity Asset Store

Unity Asset Store — онлайн-магазин 3D-моделей.

TurboSquid

TurboSquid предлагает 3D-модели для игровых разработчиков, новостных агентств, архитекторов, студий визуальных эффектов, рекламщиков и креативщиков по всему миру.

Free3D

Free3D содержит коллекцию более 16 тысяч бесплатных 3D-моделей.

NASA Space Models

У NASA есть своя библиотека моделей разнообразных объектов, связанных с космосом: от космонавтов до лунных модулей и шаттлов.

3Delicious

3Delicious среди прочего предоставляет трёхмерные модели автомобилей, мебели и различных технологий.

Oyonale

Oyonale предлагает достойный ассортимент качественных объёмных моделей.

DMI 3D

DMI 3D содержит модели транспортных средств: от танков Второй мировой войны до современных гоночных авто.

CadNav

На CadNav можно найти массу бесплатных 3D-моделей: от самолётов до мебели и оружия.

Clara.io

Clara.io предлагает 3D-модели транспорта, людей, архитектурных сооружений и многого другого.

archive3D

На archive3D можно скачать множество трёхмерных моделей мебели.

cgtrader

На cgtrader доступны для скачивания самые разнообразные бесплатные 3D-модели.

Скетчинг и прототипирование

Gravity Sketch — интуитивный инструмент для работы со смешанной реальностью, который позволяет создавать 3D-модели и концептуальные эскизы.

Tilt Brush позволяет рисовать в виртуальном 3D-пространстве.

Quill — полезный текстовый редактор.

Substance — программа для рисования в 3D и текстурирования объектов с помощью кистей, масок и частиц.

Quixel содержит тысячи PBR-материалов для игр, визуализации и эффектов.

Unbound предоставляет игрокам увлекательный способ создания трёхмерных объектов.

Oculus Medium позволяет проектировать, разрисовывать, моделировать и создавать предметы в VR.

Textures.com содержит цифровые изображения различных материалов: тканей, древесины, металла, камней, пластика и других.

Технические ресурсы

VR Toolkit — набор скриптов для разработки прототипов в Unity.

VR Glossary — глоссарий терминов, используемых в индустрии VR.

VRTK — набор скриптов, которые пригодятся при работе с Unity3d 5+.

NewtonVR — система взаимодействия с виртуальной реальностью для отслеживаемых контроллеров.

Unity Tutorials — список лучших туториалов от Unity.

More Unity Tutorials — другие хорошие руководства Unity.

Blender Tutorials — коллекция видеоуроков по Blender.

Oculus Best Practices — руководства по созданию классного VR-контента.

Unity Hotkeys — подборка горячих клавиш Unity.

Good lighting resources for Unity — список ресурсов по освещению в Unity.

How to Render your Blocks with Unity — видеоурок на YouTube по рендерингу блоков в Unity.

GPU Performance for Game Artists — статья о производительности для художников игр.

The Book of Shaders — пошаговое руководство по фрагментным шейдерам.

Unity Compute Shaders — Youtube-туториал по использованию вычислительных шейдеров.

Create a Fog Shader — гид по созданию шейдеров тумана.

Mixed Lighting in Unity — статья о смешанном свете в Unity.

Getting Started in WebVR — здесь можно познакомиться с WebVR.

Export a rotating GIF in Blender — Youtube-туториал по экспорту вращающихся GIF-изображений в Blender.

In-Depth With Tilt Brush 8.0: Paint In 2D And Capture 360-degree Videos — руководство по Tilt Brush.

Game Engine Architecture — книга Джейсона Грегори по архитектуре игровых движков и созданию игр.

Vision Science — книга Стивена Палмера.

Computer Vision: Algorithms and Applications — ресурс, содержащий более 900 страниц алгоритмов и приложений.

Несмотря на столь большое распространение для многих данная тема до сих пор является очень страшной и непонятной.

AR программа

Итак, наша программа будет достаточно простой. Мы будем наводить смартфон на некую ровную поверхность и далее на ней будет появляться объект. Данным объектом можно будет управлять за счет пользовательского интерфейса в приложении.

Разработка приложения

Первое что нужно сделать, так это скачать Unity. Заходим на , нажимаем на «Get Started» и скачиваем Unity версии «Personal». Как ни странно, вместо Unity у нас скачается Unity Hub, через который вы как раз и можете установить саму программу Unity. Здесь главное не забудьте указать поддержку Android и iOS устройств, чтобы будущее приложение можно было скомпилировать под эти платформы.

Далее через тот же Unity Hub создаем новый проект, при чём название, расположение, а также формат проекта — это всё нам не особо важно.

Технология Vuforia

После создания проекта нам необходимо подключить в него технологию Vuforia.

Не знаете что такое Vuforia? Vuforia — это отдельная библиотека, которая обеспечивает полную работу с дополненной реальностью. Чтобы её установить необходимо в Unity зайти в Window -> Package Manager. В нём прописываем Vuforia и нажимаем на Install.

Создание программы

Следующий этап, удаляем основную камеру на сцене и вместо неё добавляем AR камеру. Такая камера идет от библиотеки Vuforia и она позволяет обрабатывать различные поверхности для расположения на них объектов.

Чтобы всё работало нужно в AR камере нажать на «Open Vuforia configuration» и далее в поле «Add licence key» нужно установить ключ.

Его можно получить на . На сайте сперва регистрируемся. Далее в кабинете пользователя нажимаем на «Get Development Key», придумываем название для программы, можно любое, ставим галочку внизу и нажимаем «Confirm». Создается новое приложение, в котором как раз и есть нужный ключ. Копируем его и вставляем в Unity.

Теперь добавим на сцену объекты «Plane Finder», а также «Ground Plane Stage». За счёт «Plane Finder» Vuforia сможет определить ровную поверхность, а за счёт «Ground Plane Stage» она сможет расположить на этой поверхности различные объекты.

Также не забудьте перенести ссылку на объект «Ground Plane Stage» в объект «Plane Finder». Это нужно чтобы «Plane Finder» понимал с чем требуется работать.

Расположение объектов

Зайдите в , это официальный магазин Unity, и в нём найдите какую-либо модель, которую мы будем располагать в AR приложении. Скачиваем модель и импортируем в Unity.

Далее выбираем объект и перетаскиваем внутрь «Ground Plane Stage». Уменьшаем размеры если необходимо, а также отодвигаем камеру, чтобы объекты не находились в одном месте.

Компиляция проекта

Теперь всё готово и остается лишь скомпилировать проект и запустить на устройстве. Для этого заходим в Build Settings, добавляем открытую сцену, а также выполняем перекомпиляцию проекта под iOS или Андроид в зависимости от того какое устройство у вас есть под рукой.

Далее заходим в Player Settings и прописываем некоторые основные настройки. К примеру: название игры, идентификатор, иконки для приложения, если хотите и по сути на этом всё. Кстати, если компилируете под Андроид, то там ещё не забудьте подключить SDK к Unity, а также не забудьте создать ключ приложения всё в тех же Player Settings.
Перед компиляцией обязательно установите XR плагин. Именно он контролирует большинство вещей в вашем приложении с дополненной реальностью. Без него ничего работать не будет.

После компиляции вы можете загрузить приложение на ваш смартфон и протестировать его работу.

Видеоурок по AR

Для более детального ознакомления предлагаем просмотреть небольшой урок на эту тему:

Дополнительный курс

На нашем сайте также есть углубленный курс по . В ходе огромной программы вы изучите не только движок Unity, но также научитесь писать консольные и интерфейсные программы на языке C#. Также вы изучите сам движок Unity, включая создание 2D и 3D игр, а также игр и приложений с дополненной реальностью.

Дополненная реальность (англ. augmented reality) – это технология, которая расширяет физический мир, накладывая на него слои цифровой информации: звуки, видео, графику.

1.1. Виды AR

Обычно рассматривают четыре типа дополненной реальности:

В marker-based AR требуется конкретный шаблон, маркер, например, QR-код, поверх которого накладывается виртуальный объект.

Рис. 1. Маркерная AR

Как видно из названия, для разработки markerless приложения маркер не нужен. На окружающую среду накладывается сетка и обнаруживаются ключевые точки, к которым привязывается виртуальная модель.

Рис. 2. Безмаркерная AR

Projection-based AR разработан для того, чтобы сделать заводские предприятия умнее, безопаснее и эффективнее. Проектор устраняет необходимость в бумажных инструкциях, создавая цифровой слой практически на любой рабочей поверхности.

Projection-based AR

Superimposition-based AR частично или полностью заменяет исходное представление объекта дополненным представлением того же самого объекта.

Рис. 3. Superimposition-based AR

1.2. Софт для AR

Чтобы создать приложение дополненной реальности, понадобится набор средств разработки (software development kit, SDK). Ниже мы рассмотрели наиболее популярные SDK.

ARKit

ARKit – это SDK для создания приложений дополненной реальности и игр для iPhone и iPad. Для него характерны следующие черты:

  • Надежное отслеживание лиц – легко применять эффекты для лица или создавать мимические выражения.
  • Отслеживание уровня освещенности среды для корректной постановки светового окружения виртуальных объектов.
  • Обнаружение 2D-объектов: горизонтальных, вертикальных и наклонных плоскостей. То есть, к примеру, столов и стен.

  • Интеграция с Unity и Unreal Engine.

Reality Composer – редактор для создания 3D-моделей.

RealityKit – рендеринг и анимация.

Поддерживаемые платформы: iOS 11.0 и выше.

Цена: бесплатно.

ARCore

На ARKit компания Google ответила своей разработкой – ARCore.

  • ARCore использует камеру телефона для определения функциональных точек и изменения их положения во времени. Визуальная информация комбинируется с данными, полученными от датчиков, для вычисления положения и ориентация телефона в пространстве.
  • Обнаружение плоских и наклонных поверхностей.
  • Автоматическая регулировка освещенности. Например, если вы находитесь в комнате с тусклым освещением, ARCore автоматически скорректирует изображение.
  • Привязка виртуальных объектов (котенок) к физическим объектам (стол). Если выйти из комнаты и вернуться, котенок останется на прежнем месте.
  • Интеграция с Unity и Unreal Engine.

Поддерживаемые платформы: Android 7.0 и выше, iOS 11 и выше.

Цена: бесплатно.

Официальный сайт. Особенности:

  • Распознавание текста и различных типов визуальных объектов (коробка, цилиндр, плоскость).
  • Поддерживает создание маркерных и безмаркерных AR.
  • 3D-сканирование окружения.
  • Обнаружение нескольких объектов.
  • Режим Simulation Play, позволяющий проходить сквозь или вокруг 3D-модели и наблюдать за этим на компьютере.
  • API: C# для Unity, С++ для iOS, Java для Android.

Поддерживаемые платформы: Android 4.4.4 и выше, iOS 11 и выше.

Цена: от 99$/мес.

EasyAR

Официальный сайт. Характеристики:

  • Сканирование среды и генерация 3D-сетки в реальном времени.
  • Совместимость с Android смартфонами, которые ARCore не поддерживает.
  • Отслеживание 3D объектов.
  • Распознавание и отслеживание плоских изображений в режиме реального времени.
  • Запись экрана в форматах H.264/AAC/MP4.
  • Интеграция с Unity.

Поддерживаемые платформы: Android, iOS.

Цена: бесплатно.

Lens Studio

Официальный сайт. Возможности:

  • Отслеживания лица, шеи, локтей, рук.
  • Изменение цвета волос и наложение масок на лица.
  • Отложенная публикация «линз».
  • Создание 3D-моделей без написания кода в Material Editor.

Поддерживаемые платформы: Snapchat.

Цена: бесплатно

Spark AR

Официальный сайт. Функции:

  • Создание масок для Instagram.
  • Цветовые фильтры.
  • Трекинг лица, частей тела.

Поддерживаемые платформы: Instagram.

Цена: бесплатно

Виртуальная реальность (VR)

Виртуальная реальность (англ. virtual reality) – компьютерная симуляция альтернативной реальности.

2.1. Виды VR

Автономная VR работает сама по себе, без необходимости использования дополнительного внешнего оборудования (компьютер, консоль), например, Oculus Quest. Всё, что нужно, – это гарнитура и контроллеры VR.

Oculus Quest

VR на базе ПК – это любые гарнитуры, требующие постоянного подключения к ПК, такие как: PC Oculus Rift S, Valve Index, HTC Vive, Pimax и Windows Mixed Reality.

HTC Vive

Когда говорят о VR для консоли, обычно имеют ввиду PlayStation VR для PlayStation 4.

Рис. 4. PlayStation VR

2.2. Типы отслеживания движения

Наиболее распространенный способ отслеживания движений – система Inside-Out с камерами, встроенными в гарнитуру. Такой подход реализован в Oculus Rift S, HTC Vive Cosmos и всех гарнитурах Windows Mixed Reality.

Существует также схема отслеживания Outside-In с размещением базовых станций в углах комнаты, помогающих гарнитуре и контроллерам отслеживать их точное местоположение (HTC Vive Cosmos Elite, Valve Index).

Рис. 5. Отслеживание Outside-In и Inside-Out

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

Пример работы SLAM

2.3. Базовые термины и понятия

Поле зрения (FOV). В контексте гарнитур VR поле зрения относится ко всему, что вы можете видеть в виртуальном мире при использовании гарнитуры.

Рис. 6. Поле зрения (FOV)

Степени свободы (DoF). Чем больше степеней свободы, тем больше физических движений будет отслеживаться гарнитурой. 3DoF (3 степени свободы) отслеживает только перемещение головы: крен, тангаж, рыскание, но не положение в пространстве по координатам (x, y, z). В современных гарнитурах используется 6DoF, отслеживающий как движения головы, так и ее координаты.

Рис. 7. Степени свободы 3DoF и 6DoF

Frames Per Second (FPS) – количество кадров в секунду.

Screen Resolution – количество пикселей, отображаемых на экране.

Spatial Audio (3D аудио) – пространственное звучание (используется для создания звука, который исходит из определенной точки виртуального мира).

Рис. 8. Spatial Audio (3D аудио)

2.4. VR через веб-браузер

WebGL – кроссплатформенный API для 3D-графики в браузере. Исполняется как элемент HTML5 и поэтому является полноценной частью объектной модели документа (DOM API) браузера. Может использоваться с языками программирования, поддерживающими DOM API: JavaScript, Rust, Java, Kotlin и др.

Для упрощения работы с WebGL существуют различные фреймворки. Все они распространяются под свободной лицензией (MIT, Apache 2 или BSD), написаны на JavaScript и имеют сходный набор функций: работа с геометрией, материалом, светом, анимацией, камерами, шейдерами, текстом и 3D-аудио. Вот некоторые из них:

  • three.js – сайт, GitHub, MIT.
  • Babylon.js – сайт, GitHub, Apache 2.
  • A-Frame – сайт, GitHub, MIT.
  • PlayCanvas – сайт, GitHub, Apache 2.
  • React 360 – сайт, GitHub, BSD.
  • AR.js – GitHub, MIT.

2.5. Программное обеспечение

Blender – это профессиональное и свободное ПО, предназначенное для создания трехмерной компьютерной графики . Он включает в себя инструменты для моделирования, анимации и рендеринга.

Unity является наиболее распространенным инструментом для разработки VR. С его помощью можно импортировать модели, созданные в Blender, настроить взаимодействие с этими моделями, а также их физику. Для скриптинга используется C# и UnityScript, напоминающий JavaScript. На этом движке можно создавать приложения для WebGL, Oculus Rift и HTC Vive. Также есть интеграция с ARCore, ARKit.

Цена: бесплатно и не требует отчислений с прибыли.

Ограничение: объем привлеченных инвестиций не более 100 тыс. долл. за последние 12 мес.

Unreal Engine

Цена: бесплатно.

Ограничение: 5% от выручки с продаж, если ежеквартальная выручка превышает 3 тыс. долл.

Сравнение Unreal Engine и Unity

Уроки и курсы по AR и VR

  • Вводный курс в дополненную реальность и ARCore
  • AR Madness — ваш open source ARKit игровой туториал
  • Как использовать Vuforia в Unity для создания AR-приложений

3.2. VR

  • Разработка VR вместе с Unity
  • C# программирование для разработки игр на Unity
  • Blender: основы
  • Создание вашей первой VR-игры
  • 3D модели для виртуальной реальности

***

Итак, для разработки AR-приложений основными инструментами являются ARkit и ARCore. Если вы пишете на JavaScript, обратите внимание на AR фреймворки, работающие через веб-браузер. С языками в VR всё очевидно: C# в Unity, C++ в Unreal Engine. Рынок AR и VR будет расти, так что успейте запрыгнуть в поезд, пока он не ушел!

Совсем недавно мы публиковали видео о расширении нашей реальности с помощью специального приложения Aurasma. Естественно, что я не смогла удержаться и решила протестировать это приложение.

В процессе тестирования в голову пришло сразу же несколько интересных идей с интерактивными открытками и квестами. Конечно, при условии, что хотя бы у одного из участников есть смартфон с этим приложением.

Итак, всё, что вам нужно, — это смартфон, видео и интересная идея. Видео может быть как своё, так и выбранное из галереи приложения.

Функции

  • вы можете переносить изображения, объекты, продукты места в виртуальный мир простым наведением вашего устройства на них;
  • вы можете создавать свои собственные ауры и прикреплять их к изображениям, предметам и даже зданиям;
  • вы можете выбирать анимационных 3D персонажей из библиотеки приложения;
  • вы можете делиться своими «аурами» с друзьями в Twitter, Facebook, sms или электронную почту.

Как это работает?

Для того чтобы начать, вы скачиваете приложение, регистрируетесь и начинаете создавать свой собственный мир.

Например, вы задумали сделать виртуальную открытку. Для этого делаете фотографию, с которой и будет начинаться сюжет вашего поздравления, и физически распечатываете её. Затем снимаете свое видео или выбираете готовые варианты из библиотеки. Запускаете приложение и нажимаете на значок камеры. Тут же вам предлагают сфотографировать объект, к которому будет прикрепляться ваша аура. Вы его фотографируете и прикрепляете снятое видео. Вот и весь процесс. В итоге вы получаете вашу открытку, при наведении на которую в запущенном приложении начинает показываться ваш сюжет.

Если у вас есть памятные места, в которых вы гуляли и снимали видео, вы можете прикрепить эти видео к ним. И каждый раз, когда вы будете рядом, вы сможете посмотреть ещё раз на любимые моменты. Романтическое свидание, свадьба, день рождения — это может быть всё, что угодно!

Моя первая пробная «аура» и то, что я вижу, когда навожу на нее телефон

Вы можете подписываться на различные каналы. Если я правильно поняла, там есть каналы журналов, которые продаются в печатном виде. В итоге при их покупке и наведении на картинки, они начинают оживать, и вместо того, чтобы читать, вы смотрите видео.

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *