Тёмный

🖽 Всё про Tilemaps в Unity 3D [часть 2] 

Emerald Powder
Подписаться 77 тыс.
Просмотров 54 тыс.
50% 1

Tilemaps - редактор тайловых карт - относительно недавняя возможность Unity, которая позволяет сэкономить немало времени при level-дизайне. Оно поможет, если вы создаёте обычный уровень на прямоугольной карте, изометрический, или даже шестиугольный. Это вторая часть видео, в ней я расскажу про шестиугольные тайлы, и про вещи которые можно делать с Tilemap из скриптов в Unity
Содержание:
Шестиугольные карты - 0:19
Скрипты - 6:19
Первая часть: • 🖽 Всё про Tilemaps в U...
Третья часть: • 🖽 Всё про Tilemaps в U...
Ссылка на статью про хексы: www.redblobgam...
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Наш Discord - / discord

Опубликовано:

 

26 сен 2024

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 79   
@ЕвгенийСкореев
@ЕвгенийСкореев 4 года назад
Пока самый годный канал про Unity
@guidoopossum
@guidoopossum 3 года назад
отличное видео, только в Vector3 clickWorld = mainCamera.ScreenToWorldPoint(Input.mousePosition); у меня была проблема из-за того что в векторе3 учитывалась позиция камеры и хексы спамились в слепой зоне, если у кого-то такая же проблема используйте Vector2 clickWorld = mainCamera.ScreenToWorldPoint(Input.mousePosition);
@errorgradov8050
@errorgradov8050 4 года назад
Слов нет...Браво!!Мне ужас как понравились ваши видео!!!Ни где нет инфо за 20 или 15 минут минимум за 1 час!Спасибо!За 1 час нахватался лайфхаков и многому другому!Уважаю и желаю удачи в подписчиках
@StoneOfAdventure
@StoneOfAdventure 5 лет назад
очень информативные видео, было бы круто увидеть что-нибудь на тему создания распространенных материалов и эффектов с помощью shader graph и visual effect graph
@EmeraldPowder
@EmeraldPowder 5 лет назад
Спасибо. У меня есть парочка видео про vfx graph, и одно про shader, хотя там не совсем материал скорее эффект. А штуки конечно очень мощные, достойные не одного видео
@ДенисАндриянов-к8ъ
Как же приятно слушать действительно разбирающегося человека!
@bagi_bk
@bagi_bk 4 года назад
Вы супер!!!! Спасибо от души!!!! Очень полезная информация!!!
@Hellscaner
@Hellscaner 5 лет назад
Поздравляю с 3к подписчиками
@ИльяСиницин-т7ъ
@ИльяСиницин-т7ъ 5 лет назад
Все равно я дождусь того дня когда выйдет видео у тебя на канале про игру "trid" Ну я тебе писал в Вконтакте. Ты лучший продолжай в том же духе)))
@EmeraldPowder
@EmeraldPowder 5 лет назад
Постараюсь сделать, идей и тем много, а времени мало) Спасибо большое!
@Димас-ТвойРазработчикИгр
Ты просто неееечтооо, такой массив полезной инфы просто сносит крышу
@ftinkere
@ftinkere 3 года назад
Случайно наткнулся на канал просто в ютубе. И оказывается это ты и автор той статьи которую я раз 200 перечитывал и вчитывался
@АндрейЕфремов-к9т
@АндрейЕфремов-к9т 4 года назад
Подписка! Спасибо тебе большое за урок
@nailetes
@nailetes 4 года назад
Оч круто, спасибо
@seldemirov
@seldemirov 4 года назад
Спасибо за то что ты делаешь. Время идет и канал становится все лучше) вообщем то, что материалы, что подача - аналогов на просторах рунета нет. Столкнулся сейчас с задачей и не могу найти решение, может быть тебе было бы интересно сделать видео. Игра для двух игроков на одном дисплее и возможностью асинхронной загрузки сцен. Так что один игрок может быть только в начале игры, а другой в середине. Вроде бы ситуация которая должна встречаться не так редко в геймдеве, но толковых руководств не нашел.
@EmeraldPowder
@EmeraldPowder 4 года назад
Пожалуйста) Идея видео про сплит-скрин всё выше поднимается в списке видео которые хочу сделать, про загрузку нескольких сцен вопрос интересный, надо подумать как бы это лучше сделать. Спасибо за идею
@seldemirov
@seldemirov 4 года назад
@@EmeraldPowder Не за что! Было бы очень здорово увидеть изящное решение от вас. Я пока пришел только к тому что бы перегружать объекты в сцене, а не сами сцены. Но это костыль подходящий далеко не везде.
@alexanderkelt667
@alexanderkelt667 4 года назад
Шикарный материал!!!!! Сделайте пожалуйста видео про автоматическую генерацию тайлов в карты и про взаимодействие героя с картой коллайдеров.
@SpectreLX
@SpectreLX 4 года назад
Спасибо огромное за видеоуроки!
@FingalYT
@FingalYT 5 лет назад
Давно ждал такой урок
@bagi_bk
@bagi_bk 4 года назад
Продолжайте по тайлам пожалуйста!))
@ОлегАндронов-ъ8ч
@ОлегАндронов-ъ8ч 4 года назад
У меня персонаж телепортируется к камере и после не передвигается.Я несколько раз проверял скрипт но у меня точно также как и на видео.И когда начинаю играть у меня не видно игрока хотя на сцене его видно.Помогите пожалуйста!!! Первая ошибка исправлена но персонаж передвигается не в центр тайла а на месте соединений тайлов но персонажа всё равно не видно.
@EmeraldPowder
@EmeraldPowder 4 года назад
У меня в первой части промелькнула двухсекундная вставка, что нужно в настройках проекта поставить, чтобы тайлы и персонаж сортировались корректно друг с другом, слишком мало ей внимания уделил ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-6-jlx2QVTuY.html Ну, и конечно как я на видео ставил в настройках самой тайлмапы Individual поставить. А чтобы персонаж вставал в центр, нужно в sprite editor спрайта персонажа зайти, и перетащить вниз, ему в ноги, синий кружок, который pivot
@ОлегАндронов-ъ8ч
@ОлегАндронов-ъ8ч 4 года назад
Спасибо что помог!!!! Большое спасибо!!!!
@artura6305
@artura6305 4 года назад
если бы начал объяснять про скрипты отдельно, то совсем супер. Очень мало информации про скрипты, многие оценят, главное не торопись, пусть видео затянется еще на 5 мин, но будет более понятней
@ebakryak3486
@ebakryak3486 4 года назад
Сделай видео про сохранение сцены , я искал много времени сохранение сцены,но так и не нашел , если сделаешь видео ,то перманентный лайк.
@EmeraldPowder
@EmeraldPowder 4 года назад
Сохранение имеешь ввиду чтобы между запусками игры объекты на своём месте оставались? Идея хорошая, может быть сделаюю
@ebakryak3486
@ebakryak3486 4 года назад
@@EmeraldPowder Да ,но будет ли работать если заспавнить объект и после сохранить. Я делаю строительный симулятор и для меня это острая тема. Спасибо огромное за ответ и возможное видео.
@MD-yd8lh
@MD-yd8lh 4 года назад
годно, круто
@АрсенийМракобесов-з5г
всё хорошо, только шрифт по больше сделай
@dismoral1337
@dismoral1337 4 года назад
Подскажите пожалуйста, почему как в видео, на 0:23 ,выбирая хексагон, у меня появляется грид и тайлмап с обычной сеткой (клеткой)? Выбирая этот грид, справа инспектор показывает Cell Layout: Hexagon (вроде как надо). Но выглядит почему он как обычная сетка? У снимающего при выборе Grid в иерархии проекта сразу отображается сетка сотами. Версия 2019.3.1f1 UPD: Разобрался. Причина была в том, что при создании проекта выбрал изначально "3d with Extras", а потом, создав проект "2d" всё получилось как надо.
@Stable100-Caretaker
@Stable100-Caretaker 3 года назад
А не подскажите ли вы, как преобразовать мировые координаты в координаты гексовой карты без использования камеры? Мне нужно, что бы игровой объект появился в конкретных точках, но эти объекты свавмятся относительно мировых координат и съезжают.
@MrMamont76
@MrMamont76 3 года назад
Спасибо! Очень познавательно. Есть вопрос: У меня на 9:40 выходит ошибка при нажатии мышки NullReferenceException: Object reference not set to an instance of an object TilemapClicker.Update () (at Assets/Scripts/TilemapClicker.cs:23). Какую-то ссылку я не установил на экземпляр какого-то обьекта, подскажите, пожалуйста! Несколько раз всё перепроверил... Спасибо ребятам из канала на дискорде, решено!!!
@Ligyb
@Ligyb 4 года назад
Делаю редактор, и у меня когда я нажимаю в игре всё время ставится на одно место - в центр камеры, как это исправить? Только что исправил, надо было поставить camera mode: Ortographic
@PrizrakSHIZA
@PrizrakSHIZA 4 года назад
Второй тайлсет не имеет проблем. те "3д" тайлы сделаны для низа. То есть у тебя есть плоские тайлы ты ими заполняешь и рисуешь как надо, а все нижние тайлы заменяешь на похожий но "3д", и это создает впечатление объемности всей карты. Не нужно тайлы "нижней границы мира" пытаться поставить в центр..
@muradbunyatov5571
@muradbunyatov5571 2 года назад
9:33 То я просто сожалею
@zloy_kak_tus
@zloy_kak_tus 2 года назад
За видео респект. Но есть вопрос. Все работает кроме одного. Тайлы по клику отрисовываются только в окне редактора а в окне Game нет. Не понимаю почему. В окне Game отображаются только те тайлы которые я рисую до запуска. Не понимаю в чем проблема.
@katyakrysko2151
@katyakrysko2151 Год назад
В настройках Camera - Clipping Planes - Near установить значение 0.
@5Tera5
@5Tera5 Год назад
@@katyakrysko2151 спасибо помог и я не тот верхний чел я только что посмотрел это видео
@vfxbatuti4476
@vfxbatuti4476 4 года назад
Очень интерестно как сделать движение извометрического персонажа, как на видео, только не на 4-8сторон, а на 16, могу предоставить нарендеренного персонажа, на 16 сторон, айдл, хотьба, атака
@EmeraldPowder
@EmeraldPowder 4 года назад
На 16 уже если спрайтами анимироваными делать то совсем много спрайтов понадобится, места занимать будут, да и рендерить или рисовать их ещё долго. Так что тут уже можно просто 3д модель сделать, и вертеть как угодно
@vfxbatuti4476
@vfxbatuti4476 4 года назад
@@EmeraldPowder примеры рендера 2д в изометрии на 16 сторон clash royal и все его остальные копии, кто-то делает рендер на 9 сторон и остальные отражает, может дать телегу или почту я тебе пришлю персонажей
@Feynman.R
@Feynman.R 3 года назад
7:48 он вручную выбирает тайл. А как можно из кода это сделать? Ну, в смысле чтобы в коде было название тайла которым хочешь заменить существующий? Чет пробую, ничего не получается...
@EmeraldPowder
@EmeraldPowder 3 года назад
Если именно по названию нужно - то папочка Resources и функция Resources.Load. Но лучше именно сделать поле в инспекторе и туда перетаскивать, или массив, если нужно несколько тайлов
@teffton
@teffton 4 года назад
идея такая, сервер присылает матрицу поля, либо все юзверы скачивают некий тхт, в игре сервер говорит надо загрузить такую карту, игра в 3д, тайлмап на пол, можно ли построить в игре по матрице такой пол и дать ему коллайдер?
@EmeraldPowder
@EmeraldPowder 4 года назад
Да, если это просто однородный пол то вообще без проблем, двойным циклом пройти по этому txt и задавать через SetTile тайл в зависимости от символа. Тайлмапу можно повернуть, я в третей части видео кажется так делал, чтобы она была горизонтально в 3д пространстве ориентирована
@МаксимЛогинов-ъ6т
Что-то не думал и про тайлы. Делаю 3Д проект сейчас с хексами и просто через массивы храню их координаты и прочую инфу для генерации карты или замены хексов. Не знаю стоит ли переключаться на тайлы, если как бы с массивами всё тоже самое можно сделать? .
@EmeraldPowder
@EmeraldPowder 5 лет назад
Если уже всё работает и проблем нет - то смысла переделывать думаю нет. Эта система для того и создана, чтобы те кто не могут сходу своё написать, или время не хотят тратить, могли воспользоваться Единственное - если на каждом объекте висят коллайдеры и клики по ним мышкой (если они вообще в игре используются) обрабатываются через Raycast или OnPointerDown, то если поменять это на формулу из статьи или tilemap может побыстрее работать начать. Но если ничего ни у кого не тормозит, то опять же, смысла нет
@cdzmaster5580
@cdzmaster5580 4 года назад
Так вот как создавался Project Zomboid!
@liluzibhad4923
@liluzibhad4923 4 года назад
Блин чувак, ты делал лабиринт прикольный 3D но большой, (взяли для проекта в школе) не подсажешь как уменьшить его
@ДжонСмит-ч5ь
@ДжонСмит-ч5ь 4 года назад
Вопрос по поводу смены всех тайлов (например набор зима/лето) в видео предложено создать public переменную и руками перетаскивать в каждую тайл1, тайл2. А если таких тайлов 1000, в 4-х версиях и нужно скажем road_summer поменять на road_winter, как быть?
@EmeraldPowder
@EmeraldPowder 4 года назад
Поперетаскивать скорее всего все равно придется, можно создать массив тайлов для каждого времени года и перетащить туда все тайлы. В принципе можно создать просто массив и засунуть туда все тайлы, из скрипта насколько я помню можно получить имя обьекта, и по нему уже судить, на summer или winter оно заканчивается. Но как по мне это не очень надёжное решение, если кто-то что-то переименует или не так назовет
@ДжонСмит-ч5ь
@ДжонСмит-ч5ь 4 года назад
@@EmeraldPowder Спасибо за ответ, а ещё один вопрос, обязательно ли делать спрайты для тайлов в каждой ориентации, или можно сделать один и его как-то поворачивать?
@zloy_kak_tus
@zloy_kak_tus 2 года назад
Удалил камеру и создал новую и все заработало
@АрсенийМракобесов
@АрсенийМракобесов 5 месяцев назад
у меня игрок не встаёт в центр ячейки, а встаёт сбоку
@Marieltaa
@Marieltaa 4 года назад
может вопрос не в тему, но как так сделать, чтобы как у Вас в Visual Studio появлялись такое большое количество подсказок и вариантов что можно прописать? Буду благодарна за помощь
@EmeraldPowder
@EmeraldPowder 4 года назад
В новой visual studio вроде добавили эту фичу, вот тут написано про то как её включить stackoverflow.com/questions/16149659/is-it-possible-for-intellisense-to-search-for-classes-in-unimported-namespaces-l Можно также поставить ReSharper, он добавит кучу полезных функций, в том числе автодополнение из всех библиотек. А я просто использую Jetbrains Rider вместо Visual Studio
@Marieltaa
@Marieltaa 4 года назад
@@EmeraldPowder Спасибо огромное за такой развернутый ответ))
@Marieltaa
@Marieltaa 4 года назад
@@EmeraldPowder Да, было бы здорово по-подробнее по поводу создания игры с возможностью редактирования для игрока, по типу Майнкрафта, Фореста или Симсов, желательно и в 2д и в 3д)))
@unitynavigator3328
@unitynavigator3328 4 года назад
Дай анонс хоть, а то волнуемся )))
@M0NKALAMARI
@M0NKALAMARI 3 года назад
"Если бы она была у нас квадратная, то тоже лучше вызвать этот метод" (map.WorldToCell) А если изометрическая?)
@EmeraldPowder
@EmeraldPowder 3 года назад
Лучше в любом случае его вызывать. Просто если квадратная есть соблазн просто округлить мировые координаты, и получим координаты тайла. Но я всё равно советую звать WorldToCell, т.к. она может быть сдвинута, размер ячеек может быть не 1, и это всё ещё может меняться по ходу разработки. А если хексы или изометрическая то просто округлить всё равно не получится, и придётся вызывать метод
@M0NKALAMARI
@M0NKALAMARI 3 года назад
@@EmeraldPowder Спасибо за то что отвечаешь и за видео вообще! Как раз искал уроки не нубоуровня
@ssscar
@ssscar 4 года назад
Про коллайдеры в изометрии забыл рассказать
@EmeraldPowder
@EmeraldPowder 4 года назад
Про изометрию я вроде в первой части рассказывал ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-6-jlx2QVTuY.html А про шестиугольные коллайдеры тут особо не говорил, да, но там по сути всё тоже самое что и в обычных изометрических
@MrDetviler
@MrDetviler 4 года назад
"...но почему то всеравно кривовато отображается..." и в юнити так часто бывает.(
@alonewalker4522
@alonewalker4522 4 года назад
1:40 666 :D
@EmeraldPowder
@EmeraldPowder 4 года назад
Там просто 2/3 должно быть, согласно расчётам, так что так получилось)
@lavrlevcat
@lavrlevcat 3 года назад
8:00
@alexikos1297
@alexikos1297 4 года назад
Привет. Нашёл интересный контент(видеоматериал) связанный с шейдерами, но он полностью на английском языке и, я мог бы помучиться и перевести для себя сам, но всё же хочу увидеть его в русской озвучке. Твоих зрителей это, я думаю, заинтересует тоже. То есть это как бы взаимная помощь: я тебе идею контента, а ты (если заинтересовался) запилишь видос по этому контенту. Отпишись, пожалуйста.
@EmeraldPowder
@EmeraldPowder 4 года назад
Идеям я всегда открыт, если что-то интересное то конечно скидывай
@alife1313
@alife1313 4 года назад
а как удалять?
@EmeraldPowder
@EmeraldPowder 4 года назад
SetTile(null)
@alife1313
@alife1313 4 года назад
@@EmeraldPowder спасибо
@TEHNOTRAHER
@TEHNOTRAHER 5 лет назад
Дам небольшой совет Вместо того чтобы создавать ссылку на камеру Можна просто написать Camera.main
@EmeraldPowder
@EmeraldPowder 5 лет назад
Да, работать будет точно так же. Но в документации юнити рекомендовано не звать очень часто Camera.main, так как это штука медленная: docs.unity3d.com/ScriptReference/Camera-main.html У меня зовётся не так часто, только по клику мышки. Но вдруг кто возьмёт скрипт и переделает например, на вызов этого метода каждый Update, чтобы понять на какой тайл мышка наведена, так что чтобы плохому людей не учить создал ссылку)
@zloy_kak_tus
@zloy_kak_tus 2 года назад
У меня как всегда. Только задал вопрос и сразу сам все решил :D
@_silverSpruce
@_silverSpruce 2 года назад
Шикарный материал, очень рад, что нашел. Спасибо!
@kamal.x
@kamal.x 4 года назад
годный туториал
Далее
🖽 Всё про Tilemaps в Unity 3D [часть 3]
24:59
🖽 Всё про Tilemaps в Unity 3D
20:32
Просмотров 219 тыс.
CORTE DE CABELO RADICAL
00:59
Просмотров 907 тыс.
Всё про корутины в Unity 3D
13:18
Просмотров 102 тыс.
Why Isometric? | Art, Code and Matrix Maths | A Devlog
13:33
Build a beautiful 3D open world in 5 minutes | Unity
5:57