id44474404 id44474404

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

...
TheDarkestRed TheDarkestRed

Экспериментируем с рэгдолами 🎮🧟🤺🐺

lehha95 lehha95

Открыли страницу в Steam! Добавляйте в список желаемого!

https://store.steampowered.com/app/1355780/

romandviski romandviski

Спасибо, добрый человек.

Rummy_Games Rummy_Games

Доброго субботнего вечера! Сегодня мы поделимся с вами видео процесса разработки одного из противников (“Роя”) в нашей игре, в рамках #saturdayscreenshot, а также кратко делимся ЛОРом игры.

...
id44474404 id44474404

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

...
Jusper Jusper

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

Kazirath Kazirath

Насколько я понял проще установть последнюю версию перед 2.3 и продолжить работать под ней. Новинка не стоит свеч после переделки скриптов

Kazirath Kazirath

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

...
alexprey alexprey

Учитывая то, что написано в данной статье обратно включить это не получится и придется действительно обернуть код скриптов в функции.

Кратко из документации:

  • Раньше скрипты были индивидуальными и изолированными
  • ...
  • ...
  • ...
  • ...
...
PallSwarrow PallSwarrow

Спасибо за комменты, оч приятно)
Про ссылку тупанул - пока разбираюсь с сайтом)

alexprey alexprey

Жду линк на потестить и следующий девлог о разработке)

Jusper Jusper

Если есть прототип, было бы здорово выложить на него ссылку.
Не хватает игровых скриншотов.

Jusper Jusper

Raised, оригинал на Eurogamer.
Скорее всего, ирония.

Raised Raised

Это была такая ирония или Фортнайт тогда действительно был небольшим проектом?

id44474404 id44474404

alexprey, спасибо !)

alexprey alexprey

id44474404, поставить курсор на нужное место и у картинки нажать "вставить"

id44474404 id44474404

alexprey, в тех публикациях были были в перемешку слова и фотки, я докинул несколько скринов, но их нигде не видно, как добавить фотографии ?

alexprey alexprey

id44474404, ага, больше информации -> больше обсуждения да и в целом понимания о проекте)
В любом случае, добро пожаловать!))

id44474404 id44474404

Хм, больше инфы?) Ок

Логотип проекта Unity

Делаем шейдер для речной воды в Unity

Делаем шейдер для речной воды в Unity

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

Так результат работы шейдера выглядит в игре

Сначала нам нужно определить форму волн. Берем normal map волн и поворачиваем в каждой точке в направлении, определяемом картой течений, которая задается тоже как normal map. В результате получим полную карту нормалей для всей поверхности реки:

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

Добавляем движение: смещаем волны по X в зависимости от текущего времени:

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

К постоянным волнам от течения реки добавляем динамические волны от объектов в игре, взаимодействующих с водой (таких как лодки и их весла, плещущиеся рыбы и прочее). Для этого во время игры на серой текстуре каждый фрейм рисуем карту высот: осветляем там, где волны выше общего уровня, и затемняем там, где ниже. Затем в шейдере считаем нормали этой карты высот и складываем их с нормалями из предыдущего пункта:

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

Используем итоговую карту нормалей для получения отражения неба в воде: для каждого пикселя воды мы рисуем пиксель с текстуры неба, смещенный в зависимости от положения относительно центра экрана плюс нормали:

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

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

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

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

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

Теперь мы складываем все эти эффекты вместе в определенной пропорции (зависящей от глубины и произвольно заданных параметров), и также добавляем собственный цвет воды:

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)

Бонус: разберем параметры шейдера

Делаем шейдер для речной воды в Unity — Unity — DevTribe: инди-игры, разработка, сообщество (Unity, статьи, шейдер)
  • Stream Matrix: Карта нормалей, определяющая направление течения.
  • Depth Map: Карта глубины реки.
  • Water Texture: Текстура, определяющая собственный цвет реки.
  • Waves Normal Map: Карта нормалей волн.
  • Waves Overlay: Карта высот динамических волн (в игровой сцене это RenderTexture).
  • Skysphere Texture: Текстура неба.
  • Segments: Количество сегментов, на которые разбивается область, в каждом сегменте текстура волн поворачивается независимо.
  • Blend Threshold: Определяет гладкость смешивания соседних сегментов.
  • Speed: Скорость течения.
  • Waves Reflection Scale: Насколько сильно волны искажают отражение неба.
  • Camera Reflection Scale: Масштаб неба относительно изображения на экране.
  • Depth Scale: Насколько сильно глубина влияет на искажение дна.
  • Waves Height Scale: Насколько сильно волны влияют на искажение дна.
  • Min Share of Bottom: Насколько хорошо дно видно на максимальной глубине, этот параметр вместе с глубиной в конкретной точке влияет на долю дна в окончательном результате.
  • Sky/Water: Взаимные доли отражения неба и собственного цвета воды в окончательном результате.

Вступайте в наше сообщество, следите за новостями и делитесь нашими статьями с друзьями!

Смотрите также:


Комментарии



Очень любопытно!
Вот только меня интересует такой вопрос: а как вы складываете карту нормалей с картой высот? нормали это все таки вектор направления, а не высота. Было бы любопытно взглянуть на идею преобразования нормали в высоту.

И я правильно понимаю, что это происходит для всего экрана и карта течения и остальные генерируются на ходу? Было бы интересно почитать тоже по этому поводу

Справка