• Как мы сделали игру для Highload++ с воксельной графикой и VR

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



      О спикере: Александр Хаёров (@allexx) руководит отделом разработки в компании Ingram Micro Cloud. Ребята в команде Александра считают себя не просто отличными инженерами, а называют себя великой командой voxel джедаями, мастерами оптимизации, гуру 3D и повелителями больших данных! [примечание: по аналогии с названиями должностей в LinkedIn и Medium]

      Эта классная команда, готовясь к выступлению на Highload++ 2017, решила развлечь аудиторию и сделать что-то новое и интересное для стенда. Поэтому они запилили игру, о создании которой и пойдет дальше речь.

      Хозяйке на заметку: со стороны организаторов, мы очень приветствуем усилия по подготовке к участию в конференции. Они многократно окупаются, привлекая участников, и, как выясняется, идут на пользу команде.

      Итак, поехали!


      Читать дальше →
      • +24
      • 5,1k
      • 3
    • Интерактивные 3D-карты своими руками

        Если 3D-графика не ваша основная специализация, все равно, возможно, вам придется или, как в случае автора этого доклада Александра Амосова (@s9k), захочется с ней работать. Порог входа не так высок, можно взять технологию WebGL доступную в браузере, популярный фрэймворк Three.js и небольшой компанией единомышленников сделать своими руками интересный проект. Именно на примере такого проекта, начатого в рамках хакатона Avito, и разберем основные этапы, обратим внимание на проблемные места, и, наконец, замотивируемся на создание чего-то такого же прикольного, как эта карта офиса.



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


        Читать дальше →
        • +29
        • 5,1k
        • 5
      • Unity(Unet) — интеграция с социальными сетями и защищенные WebSocket'ы

        Введение


        В этой статье хочу поделиться своим опытом интеграции сетевого приложения (в моем случае — игры) с социальными сетями. Так как я стараюсь, по возможности, не прибегать к сторонним решениям, то сетевая часть была разработана на том, что предлагает Unity3D, а именно — Unet с использованием его низкоуровневой части (LLAPI). NetworkClient на клиенте соединяется с NetworkServer на удаленном сервере. Игровой сервер тоже написан на Unity3D. Работа в такой связке, хоть и требует углубленных знаний Unet , но имеет свои неоспоримые плюсы.

        Проблема


        И вот настало время разместить приложение в соц. сети. Подключив API соц. сети, настроил приложение в самой соц. сети, скомпилировал WebGl сборку и выложил игру на сервер. Первый запуск приложения сразу выявил ошибку: WebGl сборка не может открыть обычный Socket и требует работать только через WebSocket. Здесь все понятно — это мое упущение, ведь крайнее приложение я делал еще под Unity Web Player, который работал на обычных Socket'ах. Решив вопрос настройки сети для работы с WebSocket'ами (об этом чуть позже), я столкнулся со следующей проблемой. Т.к. соц. сети (по крайней мере та, с которой я интегрировался) работает по защищенному протоколу (Https) и предъявляет требование к своему контенту, так же работать через защищенный протокол. «Не беда» — подумал я, сейчас сделаем… Несколько дней «копания» интернета, общения с разработчиками Unity ввергло меня в уныние: поддержки защищенных WebSocket'ов (WSS) в Unet нет и неизвестно когда будет. Насколько я понимаю, большинство разработчиков в этом месте уходят в «фотон». Но мы не такие!

        Так вот при чем тут соц. сети. Для обычной web-сборки работаем с обычными WebSocket'ами и радуемся жизни.
        Читать дальше →
      • 3D посты в Facebook: что и как

        Недавно разработчики Facebook анонсировали поддержку 3D-постов. То есть теперь любой пользователь может легко загрузить низкополигональную модель в нужном формате (об этом ниже), снабдить её текстом и показывать своим друзьям и знакомым.

        image
        Читать дальше →
        • +19
        • 6,7k
        • 7
      • Как оживить картинку в браузере. Многопроходный рендеринг в WebGL

          Каждый, кто сталкивался с трехмерной графикой, рано или поздно открывал документацию на методы отрисовки, которые предполагают несколько проходов рендерера. Такие методы позволяют дополнить картинку красивыми эффектами, вроде свечения ярких пятен (Glow), Ambient occlusion, эффекта глубины резкости.


          И «взрослый» OpenGL, и мой любимый WebGL предлагают богатую функциональность для отрисовки результатов в промежуточные текстуры. Однако управление этой функциональностью — довольно сложный процесс, в котором очень легко получить ошибку на любом из этапов, начиная от создания текстур нужного разрешения до именования юниформ и передачи их в соответствующий шейдер.


          Чтобы разобраться, как правильно готовить WebGL, мы обратились к специалистам компании Align Technology. Они решили создать специальный менеджер для управления всем этим зоопарком из разных текстур, которым было бы удобно пользоваться. Что из этого получилось — будет под катом. Важно, что неподготовленного читателя, который никогда до этого не сталкивался с необходимостью организации многопроходного рендеринга, статья может показаться непонятной. Задача довольно специфическая, но и безумно интересная.


          Читать дальше →
          • +33
          • 8,6k
          • 6
        • Как мы переписали архитектуру Яндекс.Погоды и сделали глобальный прогноз на картах

            Привет, Хабр!


            Как говорится, по традиции раз в год мы в Яндекс.Погоде выкатываем что-нибудь новенькое. Сначала это был Метеум – традиционный прогноз погоды с помощью машинного обучения, затем наукастинг – краткосрочный прогноз осадков на основе метеорологических радаров и нейронных сетей. В этом посте я расскажу вам о том, как мы сделали глобальный прогноз погоды и построили на его основе красивые погодные карты.



            Сперва пару слов про продукт. Погодные карты — способ узнавать погоду, очень популярный на западе и пока что не очень популярный в России. Причиной тому является, собственно, сама погода. Из-за особенностей климата наиболее населенные регионы нашей страны не подвержены внезапным погодным катаклизмам (и это хорошо). Поэтому интерес к погоде у жителей этих регионов скорее бытовой. Так, людям в центральной России важно знать, например, какая погода будет в Москве в выходные или что в четверг в Питере будет дождь. Такую информацию проще всего узнать из таблицы, в которой будет дата, время и набор погодных параметров.

            Читать дальше →
          • Ой, у вас баннер убежал!

            Ну. И что?
            Реклама
          • WebGL: перевод игры с мобильной платформы на десктопную

              Создание десктопной версии мобильной игры стало настоящей исследовательской миссией для краснодарской студии Plarium. В этой статье мы расскажем, как перешли на технологию WebGL при переносе проекта Vikings: War of Clans на новую платформу.

              image
              Читать дальше →
              • +10
              • 4,8k
              • 2
            • Знакомьтесь, NoteCAD

                Создавать вещи своими руками приятно. Современный уровень развития технологий предоставляет небывалые возможности для домашнего производства — больше не нужно вручную выпиливать, вытачивать и строгать. В вашем распоряжении целый парк станков с числовым программным управлением: 3D принтеры, лазерные граверы, плазморезы, токарные и фрезерные станки. Созданные вами детали будут настолько хороши, что их не отличить от фабричных! Осталось только… Спроектировать! И здесь, вынужден признать, вам нужно быть профессионалом. Современные Системы Автоматизированного Проектирования — это квинтэссенция достижений науки и техники и с помощью них можно создавать сложнейшие детали и механизмы. Обычно подобные программы стоят дорого, а на их освоение нужно потратить много времени, прежде, чем вы сможете ими легко и непринужденно пользоваться. С другой стороны, существует множество различных онлайн-инструментов для проектирования, в том числе и довольно несложных для освоения. С их помощью легко создавать геометрически простые предметы, а если хочется сделать что-то посложнее, вам нужно быть либо программистом, либо иметь достаточно терпения и фантазии, чтобы из ограниченного набора примитивов составить сложную форму вашего изделия.




                Мне захотелось решить эту проблему — создать такой инструмент, который будет, с одной стороны, прост в освоении и использовании, однако, позволит создавать сложные детали и механизмы при помощи параметрического подхода к моделированию. Если вы хотите узнать о процессе создания онлайн-инструмента для трехмерного проектирования, который называется "NoteCAD", добро пожаловать ПодКАТ! [любая рифма случайна]
                Читать дальше →
              • Разработка браузерной онлайн игры без фреймворков и движков


                  Привет, Хабр!

                  В этом посте будет описан процесс разработки онлайн игры на чистом javascript и WebGL (без фреймворков и движков). Будут рассмотрены некоторые алгоритмы, техники рендеринга, искусственный интеллект ботов и сетевая игра. Проект является полностью опенсорсным, в конце поста будет ссылка на репозиторий.
                  Много картинок и гифок
                • Как я браузерный 3D-футбол писала. Часть 2

                    Привет, Хабр!

                    Вот и подоспело продолжение моего рассказа о написании браузерного 3D-футбола. Прошу прощения за длительный перерыв, виною тому работа, производство борщей и прочего съестного для любимого мужа, тягости ремонта и всякое другое. Но статья сама себя не напишет и не прочитает. Поэтому всех интересующихся и ещё не забывших про первую часть — милости прошу под кат.



                    На всякий случай ссылка на первую часть — Как я браузерный 3D-футбол писала. Часть 1
                    Читать дальше →
                    • +19
                    • 7,4k
                    • 7
                  Самое читаемое