Всё о Tilemap в Godot Engine 4
HTML-код
- Опубликовано: 6 июн 2024
- Последовательно рассмотрим все основные функции ноды Tilemap:
00:00 | Вступление
00:37 | Основы
02:30 | Коллизия
03:32 | Слои
04:50 | Автотайлинг
06:56 | Рисование случайным тайлом (Scattering)
07:20 | Автотайлинг (продолжение)
07:38 | Выбор фильтрации текстур (для пиксельных тайлов)
08:05 | Слои
08:30 | Рисование набором тайлов
09:12 | Паттерны (рисование заготовленным набором тайлов)
09:46 | Анимация
11:40 | Альтернативный тайл
12:45 | Сортировка тайлов (Y sort)
14:38 | Коллекции сцен (рисование сценами в Tilemap)
15:42 | Пользовательские данные для тайлов (Custom Data)
17:49 | Немного о навигации
18:32 | Завершение, напоминание о лайке и ссылках в соц сети
19:30 | Просто музыка
Дискорд сервер:
/ discord
Сообщество вк:
oktopus_skills
Флуд чат:
vk.me/join/wUSwO5i1_pLqfL7o6K...
Вопрос-Ответ чат:
vk.me/join/ccsOd3ngCm3DdM1TcH...
В видео использовались бесплатные ассеты:
kenney.nl/assets/voxel-pack
pixel-boy.itch.io/ninja-adven...
За самые жёсткие музыкальные отрезки ответственен:
abandonedstudio.ru/
Годный туториал. Наконец-то у многих исчезнут проблемы с новой TileMap. Спасибо за труд.
У вас тоже не плохие гайды... очень даже не плохие я бы сказал)))
@@m0h49 Но я не делал никакие гайды...
Ты очень крут. То как ведешь повествование, речь, тембр и громкость голоса, музыкальное сопровождение и внимание к деталям сделал тебя одним из лучших в преподнесении материала на ютабчике в тематике геймдева. Большое тебе спасибо и так держать!)
Это лучший урок по TileMap2D. Жду урок по динамической навигации)
Недавно решил заняться этим движком. Собираю вот годные уроки и обучалски. Этот, пожалуй, один из лучших. Конкретно по 4 версии пока еще маловато ресурсов. Так что, пили, пожалуйста. Это ценный контент.
Довольно подробно и понятливо, в самый раз для ознакомления👍
С возвращением в эфир
Гайд, достойный подписки с колокольчиком и уважения)
Пипец, ты вернулся🎉
Ты ожил, невероятно!
Ура, вернулся. Жду обучающих видосов каждый день
Отличный гайд!
Подписался на дзен ради Годо! Спасибо.
спасибо что делаешь такие качественные туториалы))))
Ты вернулся!!!
Очень полезный урок. Спасибо
Спасибо. помогли очень.
Спасибо, очень отличный туториал!👍
Добрый день!
Туториал по рандомной генерации мира из тайлов!
👍класс
Большое спасибо за подробный туториал
Ты бомба❤
Отличный видос! Определенно лайк
Очень крутой урок получился, хотелось б большо по Godot 4👍👍
Спасибо
Спасибо большое за такое полезное видео!
оо нормальное обьяснение что же происходит в тайл мап))👍
отличный туториал, всё понятно и доходчиво объяснено, помогло невероятно. Не понятно правда за что 2 человека дизлайк поставили, но это уже их проблема скорее
отличный гайдик
В годоте конечно тайлмапы супер пиздатые
Жду ещё уроки
Вообще супер видео спасибо огромное!
Наконец объяснили нормально , а то куча проблем намутил от не знания
Подскажите, как достать элементы из tilemap? То есть все тайлы которые были нарисованы. Чтобы потом поставить на определённые тайлы какие-нибудь сооружения
жду новый ролик
Круто спасибо всё чётко и понятно
5:05 шикарный переход, просто вырезано - и теперь включай оракула где что и куда ты залез.
После этой минуты можно закрывать видео таким успехом...
Поему когда я добавляю коллизию текстурка становиться синей?
Пока Рома возвращался, перешёл на Unreal, но следить за Octopus не перестану :)
что делать если когда я создаю тайл сет и пишу габариты то не появляются оранжевые клетки на сцене в которых нужно рисовать атласами?
если не появляется сетка - важны не габариты тайлов. Надо проверить в какой вкладке вы находитесь, для рисования. Внизу надо выбрать не "Набор тайлов", а TileMap. Убедиться, что выбран инструмент карандаш
Отличный видос! Но... не все же любят рок))
Лучше использовать какую-то нейтральную музыку
👌
Годный туториал.. У меня один вопрос..
Звучит смешно.. Я хочу попробовать сделать типа что то вроде старбоунда/террария на годоте. Но не понимаю как делать некоторые вещи.
Толи спавнить чанки, а они уже блоки.. Или весь мир можно зарегенить в одну тайловую карту через скрипт (наделе 2 ибо задник)? Или в варианте с тайловой картой придется резать ее на чанки что бы оптимизировать?
(хотя я пока не понимаю как "шуп перлина" из "белого шума" со всякой обработкой образует террайны и биомы и разделяется на чанки.)
В годо тайлмепа довольно серьзно обросла функционалом, можно на ней всё это завязать. С шумом сначала лучше разобраться отдельно, а потом совместить
@@oktopusskills Давай я уточню ибо не понял. .Ибо я реально не понимаю может ли это осилить годо.
стандартный мир в терарии 8400х2400 блоков.
как такое переваривает годо? Тоесть я просто к примеру беру и рисуют на тайловой карте от 0 и до 8400 координаты тайлами нужное.. или мне же придется это как то оптимизировать..или это уже умеет сам годо?
ну да.. по сути про танцы с шумом логично.. мучать отдельно.. я тока знаю что там вроде на коком то этапе это все превращается в текстуру.
Я вот только первый раз решил создать игру скачал годом, ничего не понимаю, было круто увидеть туториал по годо 4😅😅😅
Будут)
And canvas layer with bar?
Отличный урок!!! Ещё толком не использовал новые тайлмапы, но это видео поможет быстрее разобраться, спасибо! Кстати, может быть, ты и без меня знаешь, но здесь 12:56, вместо двух get_axis, можно использовать один get_vector, который даже нормализуется по умолчанию!
Спасибо! Да, уже после записи заметил про get_vector)
@@oktopusskillsпривет брат а как создать свой TileMep??? Но бесплатно
Надеюсь будут новые видео по годот?
👍
🎩
🥸
Моё почтение
Почему ты в качестве полноценного примера не создал изометрическую 2д рпг игру с персонажем и его прокачкой, инвентарем, ящиками, сундуками, бочками, мобами, боссами и т д?
Вопрос, зачем ему это делать? Он вроде рассказал ровно то, что было заявлено в названии видео.
Привет, подскажи пожалуйста, как делать генерацию Tilemap прямо в коде?
Сейчас у меня скрипт привязанный к Node2D и там что-то вроде этого:
for x in max_x:
for y in max_y:
var tile_id = generate_id(noise.get_noise_2d(x, y))
if (tile_id != -1):
$TileMap.set_cell(1, (x, y), 0, (0, 1))
Я делаю процедурную генерацию и функция generate_id будет генерировать тип тайла, это заготовка на будущее, пока она просто говорит есть тайл или нет.
А видос очень полезный, просто и понятно объяснено, спасибо
Приветствую! А в чём конкретно вопрос? Как будто бы решение уже пишется, а сам вопрос максимально абстрактный, даже нет инфы будет ли автотайлинг или нет. В целом, по работе с тайлмеп из кода - тоже будет видео, сложно сказать насколько скоро, учитывая, что следующие видео уже определены по тематике. Если будет конкретная проблема и вопрос - добро пожаловать в дискорд сервер (ссылка в описании), там коммуницировать проще, да и помочь через голосовые чаты с демонстрациями экрана. Удачи с проектом!
@@oktopusskills Да, точно, самое главное я забыл сказать. Я затупил, извини. Я тогда в дискорде более подробно опишу проблему. Но все равно спасибо
Хм, я не знаю что я сделал, но все починилось. Я просто пересоздал проект, со всеми теми же настройками. И все работает. Раньше при запуске был просто серый экран. А в новом проекте все генерируется
@@user-pe3qr6my6d из-за того, что не видел проекта, не могу сказать наверняка, может быть много причин, вплоть до отсутствия скрипта на ноде)
а можно ли как то в Tilemape в сцене изменить локальный центр )?
локальный центр ноды, которая в сцене, а сцена - часть тайлмап?)
@@oktopusskills задача была такой, чтоб когда игрок находился за деревом то дерево становилось прозрачным, и я нечего не придумал как сделать новую сцену и добавить ее в TileMape
@@javanana54 можно сделать по разному. Можно добавить в сцену дерева area2d и при ивенте пересечения с игроком добавлять прозрачности. Можно сделать шейдером для спрайта в сцене дерева. А можно вообще простым способом в лоб, так сказать. К ноде спрайта персонажа добавляем ноду PointLight2D, ей в Texture запихиваем спрайт персонажа (будет нашей маской для силуэта). В Range выставляем маску Item Cull Mask только 5ую, например. У Спрайта наших деревьев и других объектов, которые должны будут просвечивать персонажа ставим в Visibility -> Light Mask помимо уже выбранной 1ой еще 5ую (короче, ту же, что выставляли у PointLight2D. Всё. Можем покрутить у PointLight2D blend mode и energy. Как нибудь встрою такую штуку в видео
Го новые полный тутор по godot на C# пожалуйста
По шарпу, если и будет, то не в ближайшее время, по той причине, что сейчася веду очные занятия по годо на gds, а ближайшие видео будут и для канала, и для закрепления материала ученикам) А так - к шарпу с удовольствием вернусь как нибудь
опять же, api один и тот же, и адаптировать любое будущее видео под шарп не составит труда
Сделал уровень с помощью тайлсета. Но когда персонаж двигается, периодически видны зазоры между ними. Тайлы хорошие, рисовал сам, все 32х32. В редакторе все ок. Но вот когда камера движется, появляются зазоры в 1 пиксель. Кто-то сталкивался с подобным? Экспериментальным путем выяснил что такое происходит только когда включено плавное следование камеры за игроком.
Вообще, проблема встречалась постоянно в Godot 3 версии. Но если столкнулись, лучшее, что можно сделать - добавить по пикселю со всех сторон, а в тайлмэп указать зазор через offset
мне одному это напоминает терарию
Что такое Tilemap
Хочу намутить какую нибудь халтуру по гайдам, еще, но времени никак нет, семья и прочее))
Где новые захватывающие туториалы ?
Не совсем понял, как маска для автотайлинга работает :(
Да, автотайлинг тянет на отдельный экскурс. Пока можете в доке глянуть, потом, возможно, запишу отдельно про это
@@oktopusskills Вот только что посмотрел англоязычный гайд, потом прочитал доки, но всё равно разобраться не смог :/
Мне нужно простейшую 3х3 сетку сделать, но всегда получается какая-то каша из тайлов
Возможно дело в том, что у меня лишь 8 из 9 ячеек имеют тайл (пустота по середине)
Но в любом случае я уже больше часа пытаюсь решить эту маленькую проблему и ничего не получается :)
Люди, помогите, как сделать эффект слоумо? Просто я делаю игру где основной механикой будет замедлять или останавливать время, но я не знаю как это сделать. Буду крайне признателен, если скажите как это сделать
Есть несколько способов. Самый простой - заюзать у класса Engine метод time_scale(ваш_множитель)
@@oktopusskills СПААСИБОО, ТЫ ОЧЕНЬ СИЛЬНО ПОМОГ, ПРЯМ ОТ ДУШИ
Фоновая музыка мешает воспринимать информацию
сказали, что бесплатные ассеты, а в итоге один из них платный) 2 доллара просит
при скачивании вам нужно нажать "no thanks". Частая практика в ассетсторах - предложить условный донат)
@@oktopusskills Не заметил этой надписи, спасибо :)
Все норм только музыка говняная мешает
Спасибо