Category Archives: Game Engine

Система рендерига больших ландшафтов в BGE

Мартинс Упитис (Martins Upitis), разработчик из Латвии, специализирующийся на BGE, представил свою систему рендеринга больших территорий. Метод основан на использовании LOD моделей квадратных кусков поверхности. Особенностью данного метода является то, что в сцене в реальном времени присутствуют только те  части поверхности, которые попадают в обзор камеры. Также используется физическая модель солнечного освещения. Для текстурирования поверхности использовались снимки со спутника размером 25х25 км.

 

 

Вместе с этим Мартинс работает еще над несколькими проектами.

RGP (racing game project):

 

 

PBR (physically based rendering):

 

 

Advanced buoyancy system for water shader.

 

Подробнее с его работами можно ознакомиться в блоге автора.

 

18 запланированных разработок Blender в 2015 году

Представляю вам список в случайном порядке из 18 проектов, которые планируются реализовать в Blender в 2015 году. Некоторые из них уже в разработке, некоторые пока еще на стадии планирования и идей. Большинство проектов финансируются за счет Blender Foundation Development Fund и Blender Institute — спасибо подписчикам Blender Cloud и всем тем, кому не безразличны наши проекты свободных фильмов.

Это довольно внушительный список, не могу дождаться реализации всего этого в 2015! Пожалуйста, имейте ввиду, что это субъективный, личный обзор (как и для любого итогового списка). Уверен, что некоторые из разработчиков нас очень удивят.

От лица всех на blender.org желаю вам счастливого Нового Года!

Тон Розендаль, Амстердам, 31.12.2014

Граф зависимостей (Dependency Graph)

Это, без сомнения, важнейший из проектов и сложнейший в реализации и продвижении.

Представьте: Граф зависимостей — это ядро анимационного движка Blender-a, движка, который гарантирует, что все изменения работают надежно, связанно, состыковано, массово модулируемо, другими словами мы предполагаем, что художники будут с удовольствием работать с анимацией ближайшее десятилетие, без особых проблем!

Разработчики: Sergey Sharybin, Joshua Leung

Вероятность появления в 2015: 100%

Стерео режим (Multi View)

Ажиотаж вокруг 3D-фильмов постепенно идет на спад. Но, без сомнения, они доказали свое право на существование.

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

Разработчики: Dalai Felinto

Вероятность появления в 2015: 100%

OpenSubdiv

OpenSubdiv – это библиотека, которая позволяет просчитывать подразделение поверхностей (Subdivision Surfaces) используя ресурсы GPU. Ветвь разработки с OpenSubdiv была готова еще прошлым летом, но, по причинам производительности, мы решили подождать новой версии OpenSubdiv от Pixar.

Разработчики: Sergey Sharybin

Вероятность появления в 2015: 90%

Alembic

Сейчас мы используем множество разных форматов файлов кэша для анимации или физики в Blender. Библиотека Alembic (от ILM/SPI) была разработана для замены их всех единым форматом сжатия. И даже больше! Это самый популярный формат в производстве фильмов и анимации на данный момент (эй! игровая индустрия, просыпайся и начни поддерживать что-то подобное!).

Разработчики: Lukas Toenne

Вероятность появления в 2015: 90% (для кэшей Blender-а)

Пользовательские манипуляторы (Custom manipulators)

Blender давно страдает одной болезнью — панели с кнопками… этой чумой заражены все серьезные 3D приложения. Попытки «менюмизировать», «табировать», «иконизировать» и «хоткеить» эту болезнь, только скрывают ее (недалеко). Но она излечима!

Настоящий вызов – это пересмотреть добавление кнопок и панелей радикально и перенести интерфейс во вьюпорт, и в те области интерфейса, в которых вы действительно работаете. Сейчас мы тестируем в Blender-е (контролируемую Python-ом) общую систему элементов интерфейса во вьюпорте, которая, для начала, тестируется и будет использована для арматуры.

Разработчики: Antony Ryakiotakis

Вероятность появления в 2015: пока на стадии разработки/проектирования

Рабочий процесс (Workflow)

Как мы все знаем, окно Blender имеет слишком много кнопок, у всего есть множество свойств, и нам уже не хватает клавиш для хоткеев.

Пришло время признать, что Blender вырос из того, чтобы иметь одну конфигурацию, что люди слишком разные и что начальная конфигурация должна зависеть от ситуации!

Решение — вернуться к старой доброй дизайнерской работе – творчество выходит из хорошо определенных ограничений, а не из неограниченного выбора. Выход: “default”, вход: “Workflow”.

Разработчики: Jonathan Williamson и команда разработчиков интерфейса, также основан на кодовой базе Blender 101

Вероятность появления в 2015: пока на стадии разработки/проектирования

Blender 101

«Проект Blender 2.5» завершился в 2009. Это был большой успех Blender-а, привлекший к нам внимание со стороны медиа индустрии.

Есть все еще не законченная работа над кодом 2.5 — по большей части касающаяся расширенных настроек редакторов и всего интерфейса (слои, раскладки и т.п. ). На Python-е!

В качестве доказательства правильности концепции для завершения этой цели, мы хотели бы выпустить прототип “Blender 101”, который был бы полностью независимой версией, для обучения 3D в школах.

Разработчики: Campbell Barton, Bastien Montagne

Вероятность появления в 2015: 90%

Инструменты редактирования сетки (Mesh editing Tools)

Новшества в редактировании сетки продолжают появляться — для Blender это даже неожиданное использование Python API реализованное в виде аддонов.

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

Разработчики: Campbell Barton

Вероятность появления в 2015: 100% сюрприз

Viewport

Blender использует OpenGL с самого начала, почти 20 лет. Вьюпорт — каким мы его до сих пор используем — разработан основываясь на OpenGL 1.0. Настало время его обновить!

Эта работа — большая часть технического обновления API, переработка ядра прорисовки. Поэтому она займет много времени, прежде чем мы увидим реальные результаты.

В планах на 2015 — получить основанный на шейдерах вьюпорт, который может быть сконфигурирован для совмещения с проектом Workflow, для обеспечения скульпторам, модельерам, аниматорам, видеоредакторам, разработчикам игр и т.д… того что они будут иметь собственный настроенный и удобный взгляд в 3D мир.

Шейдеры могут быть самостоятельно настроены glsl скриптами, но мы должны сделать для этого подходящий редактор нод.

Разработчики: Jason Wilkins, Antony Ryakiotakis

Вероятность появления в 2015: 95%

Волосы и частицы (Hair and particles)

Проект свободного фильма Gooseberry требует тонкой настройки волос и анимацию меховых героев. Мы все еще работаем над исправлением и улучшением старой системы, заменяем старые куски кода новыми, которые более контролируемые.

Новшество в имении более контролируемую симуляцию физики волос, включающую правильное взаимодействие, основанное на Bullet. Будет улучшенный редактор волос, а также их ключевых кадров.

В идеале это означает использование системы нод, но для реализации этой возможности срок пока не определен.

Разработчики: JLukas Toenne

Вероятность появления в 2015: 100% для работы с персонажами, 50% для нод.

Все на нодах (Everything Nodes)

Поскольку у нас есть частицы на нодах, нам следует попробовать ноды модификаторов, ноды ограничителей, ноды трансформации, ноды генерирующие объекты и т. д.

И почему бы не попробовать объединить это в одну систему? Нужно еще провести множество экспериментов и проб. Удивительно и вдохновляюще видеть как хорошо скрипты Python-а уже(частично) делают это.

Разработчики: Lukas Toenne, Campbell Barton, …

Вероятность появления в 2015: неизвестно

Коллекции (Asset browsing)

Blender уже позволяет делать сложные сцены с присоединенными данными из других .blender файлов. Но, все же, это все довольно абстрактно и упрощенно.

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

Будет создан редактор для управления всеми этими связями, повторным использованием, добавлениями, содержащий измененные версии или LOD-версии, а также позволяющий добавлять и управлять коллекциями.

Разработчики: Bastien Montagne

Вероятность появления в 2015: 98%

Менеджер коллекций + Облако (Blender Asset Manager + Cloud)

Работая с локальными коллекциями нам также может понадобиться иметь что-то на сервере, в локальной сети или в интернете.

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

Текущая работа завершится на извлечении эффектных частей из системы управления версиями фильма (кадров для рендер фермы или работы для аниматоров).

Разработчики: Francesco Siddi, Campbell Barton, …

Вероятность появления в 2015: 100% (это нужно нам самим)

Поддержка PTex (PTex support)

Ptex — это библиотека от студии Disney, которая поддерживает нанесение текстур на объекты без необходимости создавать UV-развертку. Это серьезно оптимизирует рабочий процесс, но еще нужно убедится, что мы сможем заставить это работать.

Работа будет заканчиваться на редактировании (рисовании, запекании) и рендеринге (Cycles).

Разработчики: Nicholas Bishop

Вероятность появления в 2015: 90%

Холст компоновщика (Compositor Canvas)

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

Большой проект — дать компоновщику «осознание холста», определить ему собственное 2D пространство в котором вводные и выходящие будут гибко отображены.

Разработчики: пока никто не назначен

Вероятность появления в 2015: 50%

Ускорение Cycles (Cycles speedup)

Движок Cycles уже имеет боллее-менее все что мы хотели (хотя запекание рендера и «ловящий тени» материал все еще первые в списке).

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

Однако мы не ждем чудес – в конце концов это ляжет на художников – и дадим им подходящие инструменты для настройки эффективного процесса рендера кадров.

Разработчики: Sergey Sharybin, Thomas Dinges

Вероятность появления в 2015: 100%

Игровой движок — пересмотр (Game Engine – revisited)

Мы не забыли о пользователях BGE и игроделах! Они могут получить очень много от проекта Viewport — это позволит им моделировать и текстурировать используя продвинутые модели шейдеров и освещения, стандартные для Unreal и подобных движков.

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

Разработчики: пока никто не назначен

Вероятность появления в 2015: 50%

Трекиг движения (Motion tracking)

Несколько важных обновлений запланировано для трекинга движения. Особенно получить приличную автоматическую камеру слежения — всего одна кнопка для получения быстрого результата!

Разработчики: Keir Mierle and Sergey Sharybin

Вероятность появления в 2015: 90%

Источник

Создание эффекта гало (halo) в BGE

В уроке будет рассмотрен вопрос создания эффекта гало в БГЕ, а также использования текстур с альфа-каналом с помощью нодов.

Урок является вольным пересказом видеоурока от John Hamilton:
Using the halo feature in the Blender Game Engine

Итак, включаем Блендер, удаляем дефолтный куб (у кого он есть), включаем режим затенения GLSL, добавляем в сцену плейн, который и будет имитировать эффект гало. Делаем ему развертку и переименовываем.

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

Затем сохраняем и экспортируем полученное изображение текстуры гало, для нашего плейна. Теперь начинается самое интересное, накладывать эту текстуру мы будем с помощью нодов. Поэтому переключаемся на разметку экранов Compositing, выбираем наш плейн – «гало», если еще не выбрали, добавляем ему новый материал, ставим галочку в чекбоксе «Use Nodes». Удаляем ноду Material (сам в шоке). Переходим в окно Properties, вкладку Texture и добавляем новую текстуру, тип — Image or Movie, загружаем то изображение, которое готовили и переименовываем текстуру. Не забываем поставить галочку в чекбоксе «Use Alpha».
В окне и добавляем ноду Input -> Geometry и ноду Input -> Texture, которой сразу присваиваем нашу текстуру. Соединяем ноды как на картинке:

В принципе, с нодами закончили. При желании можно вернуться к дефолтной разметке экрана. Теперь нужно настроить наш материал, в окне Properties, вкладкe Material открываем свиток Render Pipeline Options, ставим галочку в чекбоксе Transparency и нажимаем кнопку Z Transparecy. Должно получиться как на картинке.

Дальше необходимо перейти в настройках материала в свиток Game Settings, выбрать режим ориентации граней Halo, как здесь:

С настройками материала все. Но если сейчас запустить игру, то ничего мы не увидим, потому что плейн автоматически развернется локальной осью (ВНЕЗАПНО) X в сторону камеры — а это грань. Нужно развернуть полигон перпендикулярно локальной оси X. Переходим в режим редактирования (Tab), выделяем все вершины (А), затем поворачиваем по оси Y на 90 градусов (R -> Y -> 90). Запускаем игру (Р) из разных положений, убеждаемся, что плейн всегда перпендикулярен виду из камеры.
Если добавить объект, который должен испускать получившееся «свечение», то мы увидим несколько безобразную картинку, объект виден наполовину и совсем непохоже, что светится.

Снова переходим в режим редактирования и сдвигаем полигон по оси X (G -> X), так , чтобы он слегка вышел за край «светящегося» объекта. Запускаем игру, любуемся.

Добавлю, что ничто не мешает наложить текстуру на материал как обычно, но сам способ интересен. Кроме того, вполне можно наложить не просто текстуру в виде одинокого светового пятна, а в виде последовательности, чтобы свечение «мерцало», как например, пламя свечи.

 

Автор вольного пересказа: denis8424