Найти в Дзене
Поддержите автораПеревод на любую сумму
Закреплено автором
Игровой движок Godot engine
Список статей в хронологическом порядке.
4050 · 4 года назад
№233. Метод Ease()
Если представим что каждую секунду мы прибавляем единицу к какому то значению, то получим линейный график изменения этого значения. И вот если нас не устраивают такие линейности , то метод ease позволяет нам добавлять «изинги» . Если по простому - сглаживание кривой значений. Метод принимает в себя два аргумента : А - значение от нуля до единицы , и Б - значение кривой (curve). Причем это не ресурс Curve , а float значение. Значение Б может быть как отрицательным так и положительным. При этом Б равное 1 и -1 это линейное изменение как на картинке выше...
14 часов назад
№232. Переходы между уровнями (сценами).
У нас есть некие уровни, и нам необходимо сделать переходы между ними. В моем случае это закрывание и открывание дверей. Для этого создаем «сцену переход». Я обозвал её transition. Внутри два спрайта, и аниматор с двумя анимациями. Одна на открывание, вторая на закрывание. Далее , важный шаг - делаем эту сцену глобальной. Для того чтобы она всегда была загружена в памяти и мы могли запускать анимации в любой момент. (если кто подзабыл - Project > Project Settings ) Называем эту сцену Global_trans Добавляем скрипт на корневую ноду...
1 месяц назад
№231. Как вырезать дырку в Navigation полигоне.
Совсем коротенькая статья. Не все знают, но для того чтобы вырезать внутри навигационного полигона дырку ( допустим это будет место куда персонажу заходить не нужно), достаточно просто рисовать полигон в противоположном направлении от основного. Например, вы нарисовали основной по часовой стрелке...
1 месяц назад
Ветка Godot 3.х обновилась до 3.6.2. Обновлен Android APIs, и исправлены мелкие баги.
1 месяц назад
№230. Доступ к свойствам через set.
Статья для новичков и тех кто только начинает своё знакомство с движком. Обычно, когда мы пишем код годо сам предлагает нам список доступных свойств. К примеру у нас есть сцена в которой лежит лейбл. Мы пишем $Label.te… и годо нам предложит всё что связано с text. Логично предположить что все свойства будут доступны подобным образом. Просто начинаем писать их имя. Но , что если пойти чуть дальше , к примеру попробовать поменять свойство font_color Начинаем писать font_ и … ничего похожего Ок. Можно догадаться, что это свойство вложено, и попробовать написать в начале theme_override...
2 месяца назад
Долгожданный релиз Godot 4.5 ! По ссылке огромная статья презентация.
2 месяца назад
№229. Dithering \ Дизеринг. Часть №2
Приветствую ! В этой статье будем развивать тему дальше. В итоге получим шейдер который будет делать вот такую обработку изображения. Я буду препарировать фотку Арни. Надеюсь он не в обиде, всё-таки у нас такая около ностальгическая тематика =) Фотка у меня размерами 710 х 370. Закидываем её в TextureRect (это необязательно, можно и в Sprite2D), подключаем шейдер и начинаем набрасывать код. Как и в прошлый раз сразу подключаем нашу матрицу. В этот раз у меня она будет 8 х 8. И выводим текстуры Арни и матрицы в переменные base и gridt соответственно...
4 месяца назад
№228. Dithering \ Дизеринг.
Приветствую тебя камрад!. В этой статье покажу как собрать шейдер , чтобы получить эффект вот такой а-ля однобитной графики : Статья не будет супер подробной, подразумевается что ты в курсе как писать и подключать шейдеры, в группе есть куча материалов на эту тему. ------- На самом деле тут нет ничего сложного, и сам шейдер пишется буквально в две строки! Всё что нам потребуется это спрайт, который несёт в себе некую матрицу пикселей с разной «яркостью». При взаимодействии с оригинальным изображением, пиксели исходя из своей яркости либо остаются на экране , либо исчезают...
5 месяцев назад
№227. 3D. Перенос трансформаций через RemoteTransform3D
Нода RemoteTransform3D позволяет переносить трансформации одного объекта на другой. Для примера я собрал вот такую сценку. Соответственно у нас есть два меша, и я хочу перенести трансформации с MeshInstance3D на getter. Для этого под MeshInstance3D кладем ноду RemoteTransform3D , и в настройках указываем наш getter. В моем случае я хочу переносить только поворот...
5 месяцев назад
№226. Ультра простой шейдер для отражения.
В данной статье покажу как быстро собрать шейдер, который будет имитировать зеркальное отражение. По сути своей это просто перевернутое оригинальное изображение и небольшие модификации размера и цвета. Сцена выглядит вот так : Так как мы будем работать со всей видимой областью экрана - добавляем в сцену Canvas Layer + ColorRect. ColorRect растягиваем на весь экран Подключаем к нему материал New ShaderMaterial И создаем новый шейдер В шейдере сразу накидываем переменные : текстура всего экрана, позиция по оси Y , размер по оси Y , и цвет...
5 месяцев назад
№225. 3D. Отрисовка модели поверх всей сцены.
Совсем коротенькая заметка про то как рисовать модель поверх всей сцены. В демо сцене два куба. Повращаем камеру, убедимся что каждый рисуется правильно ) А теперь, у куба который мы хотим рисовать поверх всего поставим галочку в материале возле No depth test И вуаля Обычно используется для отрисовки оружия в играх «от первого лица» --------- в грядущем Godot 4...
6 месяцев назад
№224. 3D. Декали (Decals).
Для проецирования каких либо рисунков на поверхности меша можем использовать декали. В Godot они представлены нодой Decal. Добавляем в сцену меш, навешиваем текстуру для красоты. Добавляем Decal ноду. И перетаскиваем текстуру в соотвествующий слот По умолчанию декаль «смотрит» вниз, поэтому в моем случае ноду надо повернуть Таким нехитрым образом можем расположить так, как нам нужно. Как вы могли заметить, текстуру можно «растягивать» внутри бокса...
6 месяцев назад