Сайт использует сервис веб-аналитики Яндекс Метрика с помощью технологии «cookie». Пользуясь сайтом, вы даете согласие на использование данной технологии.
Завершающий урок по созданию 3D-игры [#5] - UI, сигналы, группы и NPC в Godot 4
Всем привет! 👋 Это финальный урок в цикле по созданию 3D-игры в Godot 4. В этом видео собраны все темы, которые мы ещё не успели разобрать, чтобы заложить фундамент для понимания создания игровых механик. В уроке вы узнаете: ✅ Как создать и настроить пользовательский интерфейс (UI); ✅ Как работать со сценами и инстанцированием; ✅ Что такое сигналы и группы в Godot и как их использовать для организации геймплея; ✅ Как добавить NPC, запрограммировать их логику движения и обход препятствий; ✅ Как реализовать жизни для NPC и настроить анимации. Если вы хотите научиться создавать 3D-игры на Godot 4 с нуля и разобраться в принципах работы движка, этот урок поможет понять многие основные концепции. 💡 Дополнительно ☀️ Солнце - надо кликнуть по узлу DirectionalLight3D и с правой стороны в инспекторе в разделе Light можно настроить цвет, интенсивность свечения и другие параметры. ☁️ Небо - надо выбрать узел WordEnvironment, в инспекторе кликаем по обьекту Environment, дальше разворачмваем поле Sky кликаем по обьекту Sky, дальше выбираем SkyMaterial - ProceduralMaterial, переключаясь между полями Sky и Ground можно настроить цвета для градиентов неба и земли, а также кривые переходов. 🌫️ Туман и свечение - Если вам нужен еффект свечения, либо тумана включить и настроить их можна кликнув по узлу WorldEnvironment, в инспекторе выбрать обьект Environment и редактировать поля Glow и Fog. Ось кілька варіантів емодзі, які можна використати як іконку гравця або людини, що біжить: 🏃♂️ 🕹️ 🎮 - Управление - в комментариях под предыдущими видео спрашивали как сделать более продвинутый вариант упрвление от третьего лица: Чтобы сделать поворот более плавным - можно воспользоваться методом lerp (он работает схожим образом с move_toward, но не только для передвижения а для любых значий): lerp(стартовое_значение, целевое_значение, скорость_смещения) player.basis = lerp(player.basis, camera_pivot.basis, rotation_speed) Здесь еще такой момент, поскольку камера поворачивается только по горизонтали можно оставить и так, но если будете делать вращение camera_pivot и по вертикали лучше вместо camera_pivot использовать как основу вектор direction (чтобы player поворачивался только по горизонтали). Для этого можно обраться к обьекту Basis и вызвать его метод looking_at, он вернет basis с поворотом на основе переданного вектора: Basis.looking_at(direction) И теперь поменять на: player.basis = lerp(player.basis, Basis.looking_at(direction), rotation_speed) ⏱️ Таймкоды 00:00 - Вступление 00:16 - Добавление меню 01:22 - Сигналы 02:34 - Иконка, лого, полноэкранный режим 03:38 - Как поставить на паузу 04:46 - Создание сигналов в коде 05:08 - Сцены и Area3D 07:49 - Как скрыть мышку 09:16 - Инстанциирование сцен 13:24 - Использование NavigationRegion 14:23 - Добавление NPC 14:56 - Поиск пути для NPC 20:23 - Добавление жизней для NPC 23:37 - Анимация атаки для Player 24:23 - Прототипирование в Blender 25:26 - Blender to Godot 25:40 - Добавление плагинов 26:02 - Как собрать игру в .exe 26:41 - Что дальше? Мой урок по 3д-моделированию в Blender: • Создание 3д-графики для игр - быстрый стар... Код урока: #godot #godot4 #godottutorial #godotуроки #godotобучение #gamedev #геймдев #созданиеигр #godot3d #godotui #godotсигналы #godotгруппы #godotnpc #godotai #godotанимация #игровойдвижок #godotразработка #gdscript #godotpathfinding #godotинтерфейс