Горячее
Лучшее
Свежее
Подписки
Сообщества
Блоги
Эксперты
Войти
Забыли пароль?
или продолжите с
Создать аккаунт
Я хочу получать рассылки с лучшими постами за неделю
или
Восстановление пароля
Восстановление пароля
Получить код в Telegram
Войти с Яндекс ID Войти через VK ID
Создавая аккаунт, я соглашаюсь с правилами Пикабу и даю согласие на обработку персональных данных.
ПромокодыРаботаКурсыРекламаИгрыПополнение Steam
Пикабу Игры +1000 бесплатных онлайн игр
Это захватывающая 2D рогалик, аркадный шутер и динамичная игра. Исследуйте уникальные уровни, уничтожайте врагов, собирайте монеты и прокачивайте своего персонажа.

Подземелье дизлайков

Экшены, Аркады, Шутер

Играть

Топ прошлой недели

  • AlexKud AlexKud 38 постов
  • SergeyKorsun SergeyKorsun 12 постов
  • SupportHuaport SupportHuaport 5 постов
Посмотреть весь топ

Лучшие посты недели

Рассылка Пикабу: отправляем самые рейтинговые материалы за 7 дней 🔥

Нажимая кнопку «Подписаться на рассылку», я соглашаюсь с Правилами Пикабу и даю согласие на обработку персональных данных.

Спасибо, что подписались!
Пожалуйста, проверьте почту 😊

Помощь Кодекс Пикабу Команда Пикабу Моб. приложение
Правила соцсети О рекомендациях О компании
Промокоды Биг Гик Промокоды Lamoda Промокоды МВидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня

IT + Unity

С этим тегом используют

Программирование IT юмор Программист Юмор Работа Картинка с текстом Разработка Gamedev Инди Инди игра Игры YouTube Компьютерные игры Все
75 постов сначала свежее
17
Lepenson
Lepenson
1 год назад
Лига Разработчиков Видеоигр

Нарративный дизайнер aka сценарист игр⁠⁠

Ищу приложение навыкам и умениям.

Здравствуйте. Меня зовут Александр. Так получилось, что в данный момент я нигде не работаю. В связи с этим интересуюсь: вдруг кому-то нужен человек моих компетенций и талантов?

Я нарративный дизайнер в геймдеве. Если проще — сценарист в разработке игр:

— умею работать с сюжетом — от общей концепции до проработки деталей;

— создаю персонажей — внешность, характер, развитие, речевые особенности;

— пишу. Пишу много, пишу качественно, пишу всё: диалоги, описания, названия, художественные вставки и интерфейсные тексты;

— работаю с базой знаний (Confluence и т. п.), чтобы не пришлось искать, как называется вон та штука, о которой все забыли, но она вдруг нужна по сюжету;

— работаю с игровыми движками: Unreal Engine, Unity, Construct. Не боюсь таких страшных слов, как "скрипты", "ассеты", "диалоговое дерево" и "реимпорт в базу данных";

— имею опыт координационной работы внутри и между командами;

— владею английским на уровне С1 (Advanced); 

Подробное резюме на русском: https://docs.google.com/document/d/1r5ZmkhW-kvNqkhxmbVbBIpoqaM75bYDLBmUJlJS1lmM/edit?usp=sharing

Подробное резюме на английском: https://docs.google.com/document/d/1YLo0BF027hoo7Qw-1645amFWdpCOA_bPK8iKZ4CGi-s/edit?usp=sharing

Буду очень, очень признателен за репосты, причём как в соцсетях, так и в реале, по принципу "шести рукопожатий".

Telegram для связи: https://t.me/axel_levine

Показать полностью
[моё] Разработка Компьютерные игры Gamedev Unity Unreal Engine Работа Поиск работы Резюме Объявление IT Текст
5
13
Collini
Collini
1 год назад
Лига программистов

В Unity 6 появятся ИИ-инструменты для разработки игр⁠⁠

Разработчики игр среди прочего получат ранний доступ к инструментам на базе искусственного интеллекта Unity Muse и Unity Sentis

Unity Muse — позволяет создавать в редакторе Unity «почти все, что угодно» по текстовому описанию или по эскизу

Unity Sentis — кроссплатформенное решение, с помощью которого можно встраивать ИИ в свои проекты

Также компания оптимизировала производительность, улучшила работу с освещением и ускорила создание мультиплеерных игр

Релиз Unity 6 запланирован на 2024 год

Показать полностью
Программирование Программист ChatGPT IT Unity Видео
4
1
NutrientElement
NutrientElement
1 год назад
Лига программистов
Серия Программирование

Куда копать для того чтобы начать разрабатывать игры на JavaScript⁠⁠

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

Куда копать для того чтобы начать разрабатывать игры на JavaScript Программирование, Unreal Engine, IT, Unity, Программист, Разработка, Игры, Gamedev

Он также может использоваться для разработки игр, как для браузеров, так и для мобильных устройств. Существует множество фреймворков и движков, которые облегчают создание игр на JavaScript.

Например:

  • PixiJS - это 2D-рендерер WebGL, который позволяет эффективно отрисовывать 2D-сцены и объекты1.

  • ExcaliburJS - это полноценный игровой фреймворк, написанный на TypeScript, который предоставляет систему сцен и камер, спрайты и анимации, звуки, физику и т.д.1.

  • Unity - это самый популярный игровой движок в мире, который поддерживает C# и JavaScript для создания 2D и 3D игр для разных платформ23.

  • Phaser - это быстрый и удобный фреймворк для создания HTML5 игр с использованием Canvas и WebGL.

Интересные факты и фичи языков программирования у нас в канале, заходи :)

Показать полностью
[моё] Программирование Unreal Engine IT Unity Программист Разработка Игры Gamedev
5
205
zolotorevich
zolotorevich
1 год назад
Серия [ntab]

1010 | 25 events @ 3 min: ВКонтактус⁠⁠

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

Аудиоверсия в Телеграме, 6 минут

Mercedes-Benz вложился в стартап Space Perspective, который делает воздушный шар для полёта на высоту 30 км. Запуск назначен на конец следующего года, билеты по 125 000 $. На рендерах старая версия интерьера, новую сделает Maybach.

1/3

Гендир Unity уволился. Или уволили. Почему не сказал. Его кресло занял бывший гендир «Red Hat» Джеймс Уайтхёрст, но временно, пока совет директоров не проголосует за нового.

Топ-менеджеры ВымпелКома, он же Билайн, завершили выкуп компании у нидерландского холдинга Veon за 130 млрд ₽. Оплатили деньгами + еврооблигациями. Теперь компания полностью российская.

Гильдия сценаристов Голливуда договорилась с киностудиями о повышении ЗП и ограничении нейросетей. Забастовка окончена спустя 160 дней. Гильдия актёров всё ещё бастует.

# Software
▸[4] Программисты Google переписали прошивку виртуальных машин в Android с C на Rust.

▸[5] Google Chrome научился группировать открытые вкладки по содержанию.

▸[6] Соцсеть X добавила опцию «на мой пост могут отвечать только юзеры с галочкой».

▸[7] XSS дыра плагина tagDiv Composer для WordPress. Заражены 9000 сайтов. Пропатчена в версии 4.2.

▸[8] Апдейт драйверов видеокарт Intel Arc и Iris: добавили новые игры и удвоили FPS в Starfield.

# Hardpron
▸[9] Китайская видеокарта Gitstar JH920: 4 Гб GDDR6, кушает 30 Вт. Производитель обещает мощность чуть-чуть лучше GTX 1050 и вкусную цену. В продаже в конце месяца.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

▸[10] Apple получила патент на VR очки с грузом, который перемещается для сохранения центра тяжести.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

▸[11] Мышь Logitech G502 X Plus Millennium Falcon Edition: в честь Звёздных войн 40-летия спецверсия. Внешне только отличия. Долларов в 160 обойдётся. Ещё 50 за с Дарт Вейдером коврик накинуть придётся.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост
1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

▸[12] Одноплатный ПК Waveshare RP2040-PiZero: чип Raspberry Pi RP2040, два ядра по 133 МГц, ОЗУ 264 Кб, ПЗУ 16 Мб, GPIO 40, размер 6 × 3 см. Цена 10 $.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

▸[13] Смартфон Honor Play 50 Plus: 6,8" TFT @ 90 Гц, Dimensity 6020, камера 50 Мп, MagicOS [форк Android 13]. Цена 1400 ¥ [19 000 ₽] за 12 Гб ОЗУ + 256 Гб ПЗУ. Версия с 8 Гб выйдет позже, но цены нет.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

▸[14] Электротягач Mercedes-Benz eActros 600: запас хода 500 км с грузом 22 тонны, заряд батареи с 20 до 80% за 30 минут, камеры вместо зеркал заднего вида. Поступит в продажу до конца года, цены нет.

1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост
1010 | 25 events @ 3 min: ВКонтактус Новости, IT, Мерседес, Артемий Лебедев, Билайн, Unity, Длиннопост

# Business
▸[15] Фестиваль Steam «Играм быть»: в магазине появились демо-версии ещё не вышедших игр. Доступны бесплатно до понедельника.

▸[16] ВКонтакте меняет правила синей галочки со следующего года. Для её получения и удержания нужно 5000 подписчиков и публиковать четыре поста и десять сторис в месяц.

▸[17] Юзеры соцсети X начали ставить публичную метку «вводящая в заблуждение информация» к рекламным постам Apple, Samsung и Uber. Последняя приостановила рекламную компанию.

▸[18] Гендир соцсети X отменила публичные выступления из-за наплыва постов об Израиле.

▸[19] Мировые продажи ПК в III квартале: 68,2 млн шт., -7,6%, чем год назад. Топ: Lenovo 24%, HP 20%, Dell 15%, Apple 11%, ASUS 7%.

▸[20] Криптобиржа Binance заблокировала кошельки группировки ХАМАС по просьбе Израиля и перевела средства с них государству.

▸[21] Samsung призывает Apple внедрить RCS, современный аналог SMS.

▸[22] Nokia открыла в Индии лабораторию по разработке 6G.

▸[23] Артемий Лебедев устроился арт-директором ВКонтакте.

▸[24] Взлом испанской авиакомпании Air Europa. Стянули номера банковских карт клиентов.

# Спасибо @FealhasLn и Таинственному пикабушнику за донат!

# Alt stream
redirect(ntab.telegram);

Показать полностью 11
[моё] Новости IT Мерседес Артемий Лебедев Билайн Unity Длиннопост
20
40
BeckGame
BeckGame
1 год назад

Мемы по видеоиграм, IT и прочее №10⁠⁠

Подборка топ по оценкам мемов за неделю )))

Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
1/2
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Мемы по видеоиграм, IT и прочее №10 Юмор, Мемы, Игры, Компьютерные игры, Starfield, Геймеры, Nintendo, Видеоигра, Unity, iPhone, IT, Картинка с текстом, Картинки, Minecraft, Длиннопост
Показать полностью 10
[моё] Юмор Мемы Игры Компьютерные игры Starfield Геймеры Nintendo Видеоигра Unity iPhone IT Картинка с текстом Картинки Minecraft Длиннопост
0
1
AppFox
AppFox
1 год назад

Оптимизация работы с сетью с использованием библиотеки OkHttp и Retrofit⁠⁠

Современные приложения, особенно мобильные, часто требуют обмена данными с удаленными серверами. Это может быть запрос к веб-сервису для получения информации или отправка данных на сервер. Оптимизация этого процесса играет важную роль в производительности и удобстве работы пользователей. В этой статье мы рассмотрим, как использовать библиотеки OkHttp и Retrofit для эффективной работы в Интернете.

Оптимизация работы с сетью с использованием библиотеки OkHttp и Retrofit Инновации, IT, Разработка, Программирование, Технологии, Программист, Python, Unity, Linux

Зачем нужны OkHttp и Retrofit

Прежде чем погрузиться в детали, давайте разберемся, почему OkHttp и Retrofit так важны для работы в Интернете. OkHttp - это современная библиотека для обработки HTTP-запросов, предоставляющая множество возможностей, включая поддержку HTTP/2, кэширование, переподключение и многое другое. Retrofit, в свою очередь, обеспечивает удобное создание REST-клиента на основе интерфейса, что делает код более читабельным и уменьшает его размер.

Установка и настройка библиотек

Прежде чем начать использовать OkHttp и Retrofit, необходимо установить и настроить их в своем проекте. Для этого необходимо добавить соответствующие зависимости в файл build.gradle. После этого необходимо выполнить начальную настройку, указав базовый URL для Retrofit и, при необходимости, добавить перехватчики для OkHttp, которые могут добавлять заголовки или выполнять другие операции перед отправкой запросов.

Создание запросов с помощью Retrofit

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

Оптимизация производительности сети с помощью OkHttp

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

Обработка ошибок

При работе с сетью важно учитывать возможные ошибки. Retrofit позволяет определить, какие ошибки считаются успешными, а какие - нет. Это позволяет более точно отрабатывать различные сценарии, например, отсутствие подключения к Интернету или недоступность сервера.

Параллельные запросы и управление потоком

Для повышения производительности приложения мы можем использовать параллельные запросы с помощью Retrofit и OkHttp. Это позволяет выполнять несколько запросов к серверу одновременно, ускоряя загрузку данных. Также для более эффективной обработки асинхронных операций можно использовать управление потоками, например RxJava или Kotlin Coroutines.

Тестирование сетевых запросов

И последнее, но не менее важное, тестирование сетевых запросов. Мы можем использовать такие инструменты, как MockWebServer, для создания симуляции сервера и тестирования различных сценариев. Это позволяет обнаружить и устранить проблемы до того, как приложение будет запущено в производство.

Оптимизация работы с сетью с помощью библиотеки OkHttp и Retrofit может значительно повысить производительность и надежность приложения. Понимание основных концепций и правильное использование этих библиотек поможет создать более эффективные и отзывчивые приложения

Показать полностью 1
[моё] Инновации IT Разработка Программирование Технологии Программист Python Unity Linux
0
14
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей?⁠⁠

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

● Примерно так выглядит сбор "деталей" для создания модельки в "Dragon Bones".

Из более сотни вариантов выбираются самые удачные части тела и вырезаются для дальнейшего использования в конструкторе.

Нейросеть Stable Diffusion хорошо прорисовывает тени, детали одежды и в половине случаев даже лица получаются более-менее адекватными. Но есть проблема - руки и в особенности пальцы.

Любой кто пытался сгенерировать изображение с руками сталкивается с кучей артефактов. Кривые, непропорциональные и иногда лишние культяпки. В среднем лишь 1 из 100 вариантов более-менее удовлетворяет запросу.

● Как это исправить?

Можно просто добавить в запрос "detailed fingers" и без конца мучать нейросеть в ожидании чуда. Но куда проще взять "ситуацию с руками" в свои руки. Я владею Photoshop на базовом уровне, но даже таких знаний хватает, чтобы исправить косяки робота.

Я отобрал модельки с менее уродливой правой рукой (та где видно пальцы). Именно с ней связанно больше всего косяков. С помощью графического редактора я удалил лишнее и дорисовал недостающее. В основном применялся "Штамп". Цветовая палитра копируется пипеткой, обводка при помощи кисти.

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

▸ Эволюция руки

Таким образом вместо соотношения 1/100 удачных, мы получаем уже 5-10/100, что делает работу с нейросетью более продуктивной. Да, программа не нарисует все за вас, придется научиться хотя бы редактировать графические элементы. Но это уже в половину проще чем рисовать все с нуля.

Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост
Нейросети - это буквально "руки из ж*пы". Как решить проблему лишних пальцев и конечностей? Разработка, Программирование, Gamedev, Программист, Инди игра, Unity, Unreal Engine, IT, Дизайн, Арты нейросетей, Нейронные сети, Stable Diffusion, Игры, Game Art, Motion design, Гайд, Анимация, 2D, 2D анимация, 2d рисование, Длиннопост

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

Показать полностью 8
[моё] Разработка Программирование Gamedev Программист Инди игра Unity Unreal Engine IT Дизайн Арты нейросетей Нейронные сети Stable Diffusion Игры Game Art Motion design Гайд Анимация 2D 2D анимация 2d рисование Длиннопост
0
Партнёрский материал Реклама
specials
specials

А сколько у вас?⁠⁠

Вы когда-нибудь считали, сколько экономите с вашим кешбэком и скидками? Предлагаем провести небольшие вычисления (потому что считать выгоду всегда приятно).

Реклама Реклама. ПАО «Банк ВТБ», ИНН: 7702070139

Калькулятор Выгода
22
GoblinCave
GoblinCave
1 год назад
Лига Разработчиков Видеоигр

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика⁠⁠

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

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

● Создание сцены с персонажем:

В прошлой статье мы создали редактор карт с автоматическим заполнением, кто не читал - почитайте, будет полезно. Теперь нам нужно сделать персонажа, которым мы будем бегать по данной карте. Для этого нам нужен узел типа "CharacterBody2D", на основе которого мы и создаем новую сцену. Сделать это можно выбрав вкладку "Другой узел".

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Как выглядит узел "CharacterBody2D"

● Визуальное изображение персонажа:

Узел это конечно хорошо, но мы пока ни черта не видим - нам нужен визуальный образ. Добавляем дочерний узел "Sprite2D". В его настройках находим вкладку текстуры и добавляем иконку Godot. В будущем мы заменим спрайт на анимацию, но пока нам хватит такой затычки.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Узел "Sprite" -> Texture -> Быстро загрузить

● Настройка зоны столкновения:

Чтобы наш персонаж не проваливался в текстуры и реагировал на поверхности мы должны настроить зоны столкновения. В прошлом уроке мы работали со слоем Collision в нашем TileMap. Тут же мы добавляем узел "CollisionShape2D", который представляет из себя выделение зоны столкновения в виде простой геометрической фигуры. Вид этой фигуры мы выбираем во вкладке "Shape".

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Узел "CollisionShape2D" -> Shape -> Новый RectangleShape2D

● Начальные данные для физики и управления:

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

Чтобы создать константу мы пишем: const название_константы = значение

Переменные же создаются по другому: var название_переменной = значение

Давайте разберемся за что отвечают указанные нами значения:

speed и acceleration - от этих значений будет зависеть скорость передвижения по оси X (влево-вправо)

jump_velocity - это значение влияющее на высоту прыжка. Ось Y в Godot перевернута с ног на голову и отрицательное значение означает вверх.

friction - значение влияющее на скорость остановки при прекращении передвижения.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Так выглядят наши константы в коде

Так же мы добавляем значение гравитации, однако оно выставляется из внутренних настроек проекта.

var gravity = ProjectSettings.get_setting("physics/2d/default_gravity")

● Общая функция для управления персонажем:

Задав исходные данные мы можем приступать к настройкам функций нашего персонажа. Для этого мы пишем стандартную функцию Godot:

func _physics_process(delta):

Для тех кто не знает - эта функция вызывается перед каждым физическим кадром, который привязан к физическому fps, он по умолчанию равен 60 раз в секунду.

var input_axis = Input.get_axis("ui_left","ui_right")

Get_axis - это функция которая присваивает переменной одно из двух значений при нажатии одной из двух кнопок. Первое значение равно -1 и задается при нажатии клавиши "влево". Второе же равно 1 и задается при нажатии клавиши "вправо". Если на момент кадра не нажата ни одна из этих кнопок, значение равно 0. Это позволяет нам определить нужное направление для изменения координат персонажа.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Влево = -1 | Вправо = 1 | Стоим на месте = 0

● Движение по оси X (влево-вправо), создаем новую функцию:

handle_acceleration (input_axis, delta)

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

if input_axis !=0:

Если данное условие выполнено, то мы совершаем перемещение в заданном направлении. Для этого используется функция move_toward.

velocity.x = move_toward(velocity.x, speed * input_axis, acceleration * delta)

velocity.x - это переменная отвечающая за перемещение по оси X.

В move_toward мы задаем три параметра через запятую. Изначальная точка, точка в которую мы должны прийти, шаг в сторону нужной точки за один кадр.

Каждый кадр мы двигаемся в выбранную сторону, начальная точка меняется и это создает замкнутый круг движения. А чтобы его запустить, мы добавляем нашу функцию под physics_process и в конце пишем move_and_slide().

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

move_toward ( начальная точка, точка прибытия, расстояние шага за один кадр )

▸ А где тормоза то !?

● Как сделать остановку?

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

Копируем нашу прошлую функцию и переименовываем ее:

handle_friction (input_axis, delta):

Так же меняем заданное условие, input_axis должен быть равен нулю. Главное помнить, что знак равенства при сравнении выглядит вот так "==".

if input_axis == 0:

В функции move_toward заменяем значения. Первое остается прежним, на втором ставим ноль, а на третьем стираем acceleration и пишем friction. Все это в сумме обеспечит нам быструю остановку.

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Функции обратные друг другу

● Движение по оси Y (прыжок, гравитация), создаем новую функцию:

aplay_gravity(delta):

Если мы не на земле, то бишь в воздухе - нас должно тянуть вниз.

if not is_on_floor():

velocity.y += gravity * delta

Ставим именно "+=", так как это сделает плавное падение с нарастающим ускорением. Не забудьте умножить на delta, иначе все произойдет за долю секонды.

● Следующая функция для прыжка:

handle_jump(delta):

Для нас важны два условия - нахождение на земле в момент прыжка и нажатие нужной клавиши.

if is_on_floor() and Input.is_action_just_pressed("ui_accept"):

Если данное условие соблюдено мы приравниваем параметр оси Y к значению высоты прыжка.

velocity.y = jump_velocity

Добавляем эти функции под physics_process, а после переходим на сцену "world". Туда из общего списка ресурсов перетаскиваем сцену "player".

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

.tscn - это формат сцены в Godot

Godot 4: создание платформера от гоблина для человеков | Урок 2: Персонаж, управление и физика Gamedev, Инди игра, Разработка, Программирование, Программист, Инди, Unity, Unreal Engine, Python, IT, Гайд, Игры, Godot, Godot Engine, Платформер, Геймеры, Видео, Без звука, Длиннопост

Как выглядит наш блок с функциями

● Что у нас получилось в итоге?

✓ Если вы нажимаем клавишу влево или вправо - персонаж двигается в выбранном направлении.

✓ Если ни одна из клавиш направления не нажата - мы останавливаемся.

✓ Если мы находимся в воздухе - нас тянет вниз с каждой секундой все сильнее.

✓ Если находясь на земле, мы жмем прыжок - нас подкинет вверх.

▸ Оно живое!

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

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

✓ Опытные шаманы - запасайтесь успокоительным, ибо дальше будет еще куча попыток освоить gamedev.

✓ Ну и все кто имеет свое мнение, поддержку или усмешку - пишите комменты!

Показать полностью 9 2
[моё] Gamedev Инди игра Разработка Программирование Программист Инди Unity Unreal Engine Python IT Гайд Игры Godot Godot Engine Платформер Геймеры Видео Без звука Длиннопост
14
Посты не найдены
О нас
О Пикабу Контакты Реклама Сообщить об ошибке Сообщить о нарушении законодательства Отзывы и предложения Новости Пикабу Мобильное приложение RSS
Информация
Помощь Кодекс Пикабу Команда Пикабу Конфиденциальность Правила соцсети О рекомендациях О компании
Наши проекты
Блоги Работа Промокоды Игры Курсы
Партнёры
Промокоды Биг Гик Промокоды Lamoda Промокоды Мвидео Промокоды Яндекс Директ Промокоды Отелло Промокоды Aroma Butik Промокоды Яндекс Путешествия Постила Футбол сегодня
На информационном ресурсе Pikabu.ru применяются рекомендательные технологии