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

แชร์
ฝัง
  • เผยแพร่เมื่อ 17 ต.ค. 2019
  • Tilemaps - редактор тайловых карт - относительно недавняя возможность Unity, которая позволяет сэкономить немало времени при level-дизайне. Оно поможет, если вы создаёте обычный уровень на прямоугольной карте, изометрический, или даже шестиугольный. Это вторая часть видео, в ней я расскажу про шестиугольные тайлы, и про вещи которые можно делать с Tilemap из скриптов в Unity
    Содержание:
    Шестиугольные карты - 0:19
    Скрипты - 6:19
    Первая часть: • 🖽 Всё про Tilemaps в U...
    Третья часть: • 🖽 Всё про Tilemaps в U...
    Ссылка на статью про хексы: www.redblobgames.com/grids/he...
    На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
    Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
    Наш Discord - / discord

ความคิดเห็น • 79

  • @guidoopossum457
    @guidoopossum457 3 ปีที่แล้ว +3

    отличное видео, только в Vector3 clickWorld = mainCamera.ScreenToWorldPoint(Input.mousePosition); у меня была проблема из-за того что в векторе3 учитывалась позиция камеры и хексы спамились в слепой зоне, если у кого-то такая же проблема используйте Vector2 clickWorld = mainCamera.ScreenToWorldPoint(Input.mousePosition);

  • @user-gv6yu4uq5f
    @user-gv6yu4uq5f 4 ปีที่แล้ว +12

    Пока самый годный канал про Unity

  • @bagi_bk
    @bagi_bk 4 ปีที่แล้ว +4

    Вы супер!!!! Спасибо от души!!!! Очень полезная информация!!!

  • @user-to5pt1nq6p
    @user-to5pt1nq6p 4 ปีที่แล้ว +1

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

  • @errorgradov8050
    @errorgradov8050 4 ปีที่แล้ว +3

    Слов нет...Браво!!Мне ужас как понравились ваши видео!!!Ни где нет инфо за 20 или 15 минут минимум за 1 час!Спасибо!За 1 час нахватался лайфхаков и многому другому!Уважаю и желаю удачи в подписчиках

  • @_silverSpruce
    @_silverSpruce 2 ปีที่แล้ว

    Шикарный материал, очень рад, что нашел. Спасибо!

  • @StoneOfAdventure
    @StoneOfAdventure 4 ปีที่แล้ว +7

    очень информативные видео, было бы круто увидеть что-нибудь на тему создания распространенных материалов и эффектов с помощью shader graph и visual effect graph

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      Спасибо. У меня есть парочка видео про vfx graph, и одно про shader, хотя там не совсем материал скорее эффект. А штуки конечно очень мощные, достойные не одного видео

  • @Hellscaner
    @Hellscaner 4 ปีที่แล้ว +6

    Поздравляю с 3к подписчиками

  • @SpectreLX
    @SpectreLX 4 ปีที่แล้ว

    Спасибо огромное за видеоуроки!

  • @user-cu5ky8qz2n
    @user-cu5ky8qz2n 4 ปีที่แล้ว

    Ты просто неееечтооо, такой массив полезной инфы просто сносит крышу

  • @alexanderkelt667
    @alexanderkelt667 4 ปีที่แล้ว

    Шикарный материал!!!!! Сделайте пожалуйста видео про автоматическую генерацию тайлов в карты и про взаимодействие героя с картой коллайдеров.

  • @FingalYT
    @FingalYT 4 ปีที่แล้ว

    Давно ждал такой урок

  • @user-qo7bk2rh3k
    @user-qo7bk2rh3k 4 ปีที่แล้ว +1

    Подписка! Спасибо тебе большое за урок

  • @nailetes
    @nailetes 4 ปีที่แล้ว +2

    Оч круто, спасибо

  • @artura6305
    @artura6305 4 ปีที่แล้ว +4

    если бы начал объяснять про скрипты отдельно, то совсем супер. Очень мало информации про скрипты, многие оценят, главное не торопись, пусть видео затянется еще на 5 мин, но будет более понятней

  • @ftinkere
    @ftinkere 3 ปีที่แล้ว

    Случайно наткнулся на канал просто в ютубе. И оказывается это ты и автор той статьи которую я раз 200 перечитывал и вчитывался

  • @user-xq3qb9pw5e
    @user-xq3qb9pw5e 4 ปีที่แล้ว +5

    Все равно я дождусь того дня когда выйдет видео у тебя на канале про игру "trid" Ну я тебе писал в Вконтакте. Ты лучший продолжай в том же духе)))

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +1

      Постараюсь сделать, идей и тем много, а времени мало) Спасибо большое!

  • @zloykaktus2729
    @zloykaktus2729 2 ปีที่แล้ว

    У меня как всегда. Только задал вопрос и сразу сам все решил :D

  • @seldemirov
    @seldemirov 4 ปีที่แล้ว +3

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

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +2

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

    • @seldemirov
      @seldemirov 4 ปีที่แล้ว

      @@EmeraldPowder Не за что! Было бы очень здорово увидеть изящное решение от вас. Я пока пришел только к тому что бы перегружать объекты в сцене, а не сами сцены. Но это костыль подходящий далеко не везде.

  • @MD-yd8lh
    @MD-yd8lh 4 ปีที่แล้ว

    годно, круто

  • @kamal.x
    @kamal.x 4 ปีที่แล้ว

    годный туториал

  • @bagi_bk
    @bagi_bk 4 ปีที่แล้ว +1

    Продолжайте по тайлам пожалуйста!))

  • @dismoral1337
    @dismoral1337 4 ปีที่แล้ว

    Подскажите пожалуйста, почему как в видео, на 0:23 ,выбирая хексагон, у меня появляется грид и тайлмап с обычной сеткой (клеткой)? Выбирая этот грид, справа инспектор показывает Cell Layout: Hexagon (вроде как надо). Но выглядит почему он как обычная сетка? У снимающего при выборе Grid в иерархии проекта сразу отображается сетка сотами. Версия 2019.3.1f1
    UPD: Разобрался. Причина была в том, что при создании проекта выбрал изначально "3d with Extras", а потом, создав проект "2d" всё получилось как надо.

  • @ebakryak3486
    @ebakryak3486 4 ปีที่แล้ว

    Сделай видео про сохранение сцены , я искал много времени сохранение сцены,но так и не нашел , если сделаешь видео ,то перманентный лайк.

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +2

      Сохранение имеешь ввиду чтобы между запусками игры объекты на своём месте оставались? Идея хорошая, может быть сделаюю

    • @ebakryak3486
      @ebakryak3486 4 ปีที่แล้ว

      @@EmeraldPowder Да ,но будет ли работать если заспавнить объект и после сохранить. Я делаю строительный симулятор и для меня это острая тема. Спасибо огромное за ответ и возможное видео.

  • @MrMamont76
    @MrMamont76 3 ปีที่แล้ว

    Спасибо! Очень познавательно. Есть вопрос: У меня на 9:40 выходит ошибка при нажатии мышки NullReferenceException: Object reference not set to an instance of an object
    TilemapClicker.Update () (at Assets/Scripts/TilemapClicker.cs:23). Какую-то ссылку я не установил на экземпляр какого-то обьекта, подскажите, пожалуйста! Несколько раз всё перепроверил... Спасибо ребятам из канала на дискорде, решено!!!

  • @SolarNewsProject
    @SolarNewsProject 3 ปีที่แล้ว

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

  • @Ligyb
    @Ligyb 3 ปีที่แล้ว

    Делаю редактор, и у меня когда я нажимаю в игре всё время ставится на одно место - в центр камеры, как это исправить?
    Только что исправил, надо было поставить camera mode: Ortographic

  • @user-sn5ox5xj2w
    @user-sn5ox5xj2w 4 ปีที่แล้ว

    Что-то не думал и про тайлы. Делаю 3Д проект сейчас с хексами и просто через массивы храню их координаты и прочую инфу для генерации карты или замены хексов. Не знаю стоит ли переключаться на тайлы, если как бы с массивами всё тоже самое можно сделать? .

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      Если уже всё работает и проблем нет - то смысла переделывать думаю нет. Эта система для того и создана, чтобы те кто не могут сходу своё написать, или время не хотят тратить, могли воспользоваться
      Единственное - если на каждом объекте висят коллайдеры и клики по ним мышкой (если они вообще в игре используются) обрабатываются через Raycast или OnPointerDown, то если поменять это на формулу из статьи или tilemap может побыстрее работать начать. Но если ничего ни у кого не тормозит, то опять же, смысла нет

  • @user-wc1kx5zr3k
    @user-wc1kx5zr3k 4 ปีที่แล้ว

    Вопрос по поводу смены всех тайлов (например набор зима/лето) в видео предложено создать public переменную и руками перетаскивать в каждую тайл1, тайл2. А если таких тайлов 1000, в 4-х версиях и нужно скажем road_summer поменять на road_winter, как быть?

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      Поперетаскивать скорее всего все равно придется, можно создать массив тайлов для каждого времени года и перетащить туда все тайлы. В принципе можно создать просто массив и засунуть туда все тайлы, из скрипта насколько я помню можно получить имя обьекта, и по нему уже судить, на summer или winter оно заканчивается. Но как по мне это не очень надёжное решение, если кто-то что-то переименует или не так назовет

    • @user-wc1kx5zr3k
      @user-wc1kx5zr3k 4 ปีที่แล้ว

      @@EmeraldPowder Спасибо за ответ, а ещё один вопрос, обязательно ли делать спрайты для тайлов в каждой ориентации, или можно сделать один и его как-то поворачивать?

  • @user-lu5id6eh8w
    @user-lu5id6eh8w 4 ปีที่แล้ว +7

    У меня персонаж телепортируется к камере и после не передвигается.Я несколько раз проверял скрипт но у меня точно также как и на видео.И когда начинаю играть у меня не видно игрока хотя на сцене его видно.Помогите пожалуйста!!! Первая ошибка исправлена но персонаж передвигается не в центр тайла а на месте соединений тайлов но персонажа всё равно не видно.

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +9

      У меня в первой части промелькнула двухсекундная вставка, что нужно в настройках проекта поставить, чтобы тайлы и персонаж сортировались корректно друг с другом, слишком мало ей внимания уделил
      th-cam.com/video/6-jlx2QVTuY/w-d-xo.html
      Ну, и конечно как я на видео ставил в настройках самой тайлмапы Individual поставить. А чтобы персонаж вставал в центр, нужно в sprite editor спрайта персонажа зайти, и перетащить вниз, ему в ноги, синий кружок, который pivot

    • @user-lu5id6eh8w
      @user-lu5id6eh8w 4 ปีที่แล้ว +6

      Спасибо что помог!!!! Большое спасибо!!!!

  • @Marieltaa
    @Marieltaa 3 ปีที่แล้ว

    может вопрос не в тему, но как так сделать, чтобы как у Вас в Visual Studio появлялись такое большое количество подсказок и вариантов что можно прописать? Буду благодарна за помощь

    • @EmeraldPowder
      @EmeraldPowder  3 ปีที่แล้ว +1

      В новой 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 3 ปีที่แล้ว

      @@EmeraldPowder Спасибо огромное за такой развернутый ответ))

    • @Marieltaa
      @Marieltaa 3 ปีที่แล้ว

      @@EmeraldPowder Да, было бы здорово по-подробнее по поводу создания игры с возможностью редактирования для игрока, по типу Майнкрафта, Фореста или Симсов, желательно и в 2д и в 3д)))

  • @vfxbatuti4476
    @vfxbatuti4476 4 ปีที่แล้ว

    Очень интерестно как сделать движение извометрического персонажа, как на видео, только не на 4-8сторон, а на 16, могу предоставить нарендеренного персонажа, на 16 сторон, айдл, хотьба, атака

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      На 16 уже если спрайтами анимироваными делать то совсем много спрайтов понадобится, места занимать будут, да и рендерить или рисовать их ещё долго. Так что тут уже можно просто 3д модель сделать, и вертеть как угодно

    • @vfxbatuti4476
      @vfxbatuti4476 4 ปีที่แล้ว

      @@EmeraldPowder примеры рендера 2д в изометрии на 16 сторон clash royal и все его остальные копии, кто-то делает рендер на 9 сторон и остальные отражает, может дать телегу или почту я тебе пришлю персонажей

  • @liluzibhad4923
    @liluzibhad4923 4 ปีที่แล้ว

    Блин чувак, ты делал лабиринт прикольный 3D но большой, (взяли для проекта в школе) не подсажешь как уменьшить его

  • @Feynman.R
    @Feynman.R 3 ปีที่แล้ว

    7:48 он вручную выбирает тайл. А как можно из кода это сделать? Ну, в смысле чтобы в коде было название тайла которым хочешь заменить существующий? Чет пробую, ничего не получается...

    • @EmeraldPowder
      @EmeraldPowder  3 ปีที่แล้ว +1

      Если именно по названию нужно - то папочка Resources и функция Resources.Load. Но лучше именно сделать поле в инспекторе и туда перетаскивать, или массив, если нужно несколько тайлов

  • @zloykaktus2729
    @zloykaktus2729 2 ปีที่แล้ว

    За видео респект. Но есть вопрос. Все работает кроме одного. Тайлы по клику отрисовываются только в окне редактора а в окне Game нет. Не понимаю почему. В окне Game отображаются только те тайлы которые я рисую до запуска. Не понимаю в чем проблема.

    • @katyakrysko2151
      @katyakrysko2151 ปีที่แล้ว

      В настройках Camera - Clipping Planes - Near установить значение 0.

    • @5Tera5
      @5Tera5 11 หลายเดือนก่อน

      @@katyakrysko2151 спасибо помог и я не тот верхний чел я только что посмотрел это видео

  • @user-xz9lp9kg5t
    @user-xz9lp9kg5t 2 ปีที่แล้ว

    всё хорошо, только шрифт по больше сделай

  • @teffton
    @teffton 4 ปีที่แล้ว

    идея такая, сервер присылает матрицу поля, либо все юзверы скачивают некий тхт, в игре сервер говорит надо загрузить такую карту, игра в 3д, тайлмап на пол, можно ли построить в игре по матрице такой пол и дать ему коллайдер?

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      Да, если это просто однородный пол то вообще без проблем, двойным циклом пройти по этому txt и задавать через SetTile тайл в зависимости от символа. Тайлмапу можно повернуть, я в третей части видео кажется так делал, чтобы она была горизонтально в 3д пространстве ориентирована

  • @unitynavigator3328
    @unitynavigator3328 4 ปีที่แล้ว

    Дай анонс хоть, а то волнуемся )))

  • @cdzmaster5580
    @cdzmaster5580 4 ปีที่แล้ว

    Так вот как создавался Project Zomboid!

  • @PrizrakSHIZA
    @PrizrakSHIZA 4 ปีที่แล้ว

    Второй тайлсет не имеет проблем. те "3д" тайлы сделаны для низа. То есть у тебя есть плоские тайлы ты ими заполняешь и рисуешь как надо, а все нижние тайлы заменяешь на похожий но "3д", и это создает впечатление объемности всей карты. Не нужно тайлы "нижней границы мира" пытаться поставить в центр..

  • @user-uw1ur4vs6n
    @user-uw1ur4vs6n หลายเดือนก่อน

    у меня игрок не встаёт в центр ячейки, а встаёт сбоку

  • @muradbunyatov5571
    @muradbunyatov5571 2 ปีที่แล้ว

    9:33 То я просто сожалею

  • @zloykaktus2729
    @zloykaktus2729 2 ปีที่แล้ว

    Удалил камеру и создал новую и все заработало

  • @ssscar
    @ssscar 4 ปีที่แล้ว

    Про коллайдеры в изометрии забыл рассказать

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +1

      Про изометрию я вроде в первой части рассказывал th-cam.com/video/6-jlx2QVTuY/w-d-xo.html
      А про шестиугольные коллайдеры тут особо не говорил, да, но там по сути всё тоже самое что и в обычных изометрических

  • @lavrlevcat
    @lavrlevcat 3 ปีที่แล้ว

    8:00

  • @M0NKALAMARI
    @M0NKALAMARI 3 ปีที่แล้ว

    "Если бы она была у нас квадратная, то тоже лучше вызвать этот метод" (map.WorldToCell)
    А если изометрическая?)

    • @EmeraldPowder
      @EmeraldPowder  3 ปีที่แล้ว +1

      Лучше в любом случае его вызывать. Просто если квадратная есть соблазн просто округлить мировые координаты, и получим координаты тайла. Но я всё равно советую звать WorldToCell, т.к. она может быть сдвинута, размер ячеек может быть не 1, и это всё ещё может меняться по ходу разработки. А если хексы или изометрическая то просто округлить всё равно не получится, и придётся вызывать метод

    • @M0NKALAMARI
      @M0NKALAMARI 3 ปีที่แล้ว

      @@EmeraldPowder Спасибо за то что отвечаешь и за видео вообще!
      Как раз искал уроки не нубоуровня

  • @alonewalker4522
    @alonewalker4522 4 ปีที่แล้ว

    1:40 666 :D

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +1

      Там просто 2/3 должно быть, согласно расчётам, так что так получилось)

  • @MrDetviler
    @MrDetviler 3 ปีที่แล้ว

    "...но почему то всеравно кривовато отображается..." и в юнити так часто бывает.(

  • @alife1313
    @alife1313 4 ปีที่แล้ว

    а как удалять?

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +1

      SetTile(null)

    • @alife1313
      @alife1313 4 ปีที่แล้ว

      @@EmeraldPowder спасибо

  • @alexikos1297
    @alexikos1297 4 ปีที่แล้ว

    Привет. Нашёл интересный контент(видеоматериал) связанный с шейдерами, но он полностью на английском языке и, я мог бы помучиться и перевести для себя сам, но всё же хочу увидеть его в русской озвучке. Твоих зрителей это, я думаю, заинтересует тоже. То есть это как бы взаимная помощь: я тебе идею контента, а ты (если заинтересовался) запилишь видос по этому контенту. Отпишись, пожалуйста.

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว

      Идеям я всегда открыт, если что-то интересное то конечно скидывай

  • @TEHNOTRAHER
    @TEHNOTRAHER 4 ปีที่แล้ว

    Дам небольшой совет
    Вместо того чтобы создавать ссылку на камеру
    Можна просто написать Camera.main

    • @EmeraldPowder
      @EmeraldPowder  4 ปีที่แล้ว +2

      Да, работать будет точно так же. Но в документации юнити рекомендовано не звать очень часто Camera.main, так как это штука медленная: docs.unity3d.com/ScriptReference/Camera-main.html
      У меня зовётся не так часто, только по клику мышки. Но вдруг кто возьмёт скрипт и переделает например, на вызов этого метода каждый Update, чтобы понять на какой тайл мышка наведена, так что чтобы плохому людей не учить создал ссылку)