Тёмный

⛏️Minecraft на Unity3D. Часть 3 

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

Третье видео из плейлиста по созданию клона Minecraft в Unity 3D. В этом проекте мы разберёмся с генерацией 3D моделей из кода, шейдерами, оптимизацией, и ещё множеством аспектов разработки игр. В этом видео сделаем возможность игроку устанавливать и ломать блоки мышкой
Следующее видео: • ⛏️Minecraft на Unity3D...
Плейлист со всеми сериями: • ⛏️ Minecraft на Unity
Содержание:
0:00 - Вступление
0:39 - Установка блока
10:52 - Разбираемся с установкой
13:32 - Копание блоков
15:17 - Заключение
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
Поддержать канал:
btc: bc1q5mycq8x9jr7s0r63xx00xt50tjepflyhlzc09q
eth/usdt(erc20): 0xa30F22fb9898fdc8801703723cd77BE7E678ee13
emeraldpowder.github.io/ru/do...

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

 

19 июн 2024

Поделиться:

Ссылка:

Скачать:

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

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 135   
@Shineglow
@Shineglow Год назад
Потрясающий урок. В такой непринуждённой, спокойной, последовательной подаче очень легко воспринимается информация. Спасибо!
@user-ou5qg1kc9x
@user-ou5qg1kc9x Год назад
Спасибо! Не в коем случае не забивай на эту серию роликов. Это максимально качественный контент, который нужен на ютубе. А то другие люди гораздо хуже сделанные ролики умудряются продавать и заниматься инфоциганством!
@RimuruDev
@RimuruDev Год назад
Когда ты сказал о блокноте, стало как то легче на душе. Обычно когда решаю какую то задачу, или проектирую, использую тетрадь, или бумагу А4. Мне часто говорили (мягко сказано), что это очень плохая идея, и все надо держать в голове, прокачивать так сказать мозг. Но я не могу много инфы одновременно держать и обрабатывать в голове, по этому использую бумагу.
@_cyp4ik_201
@_cyp4ik_201 Год назад
Тот кто тебе говорил держать всё в голове, скорее всего не имеет ничего общего с проектированием, или банально даже с кодом ни разу не работал. Не важно где ты пишешь, в блокноте, на А4, а5, в фотошопе рисуешь, главное что ты это делаешь. И во время длительной работы над проектом, ты не раз скажешь себе "спасибо" за то, что это всё документировал. И даже после долгого перерыва над проектом, ты сможешь открыть записи, и освежить все нюансы работы кода.
@shitposting_box
@shitposting_box Год назад
Совет полная херня. Лучше потратить несколько дней и исписать блокнот, чем начать писать код и потом неделями все рефакторить, переписывать, потому что нашел лучшее решение. В проектировании большая часть работы это как раз накидывание на бумаге, а сам кодинг это малая часть
@user-tp3re1rc7e
@user-tp3re1rc7e Год назад
Все чётко. Очень интересная тема, а главное можно развивать до бесконечности: текстурирование, ориентация развертки блоков, установка не кубических объектов (вроде забора), имитация растекания жидкости. Ждём новый выпуск!!!
@drandomprizrak1144
@drandomprizrak1144 Год назад
Очень классный урок по работе с массивами объектов, надеюсь увидем полностью завершённую серию уроков. Ты классный!
@user-mh5dh3sf7y
@user-mh5dh3sf7y Год назад
Огромное спасибо что все еще снимаешь годные уроки по юньке, каждый раз кайфую и частельно пересаматриваю нужные темы🔥 интересно будет посмотреть как реализуешь стрктуры и жидкости если до этого дойдет
@_mirai
@_mirai Год назад
а это правда интересно
@Saltant
@Saltant Год назад
Шейдерами реализует, как еще то, самый оптимальный варик.
@user-yd2wm6gt5k
@user-yd2wm6gt5k Год назад
Разве что со сложными структурами малость повозиться придётся.
@Saltant
@Saltant Год назад
@@user-yd2wm6gt5k хз ваще в майнкрафте все квадратное.
@user-yd2wm6gt5k
@user-yd2wm6gt5k Год назад
Хотя ладно,жидкости здорового человека реализовать сложнее.
@ablic5825
@ablic5825 Год назад
Невероятно полезные и качественные видео! Надеюсь увидеть этот плейлист завершённым. Спасибо за старания!
@user-ct1do2ik2s
@user-ct1do2ik2s Год назад
Блин! Супер! Однозначно лайк! Жду следующий уроков! С нетерпением
@user-bm2ci9sv6o
@user-bm2ci9sv6o Год назад
Пожалуй самый качественный контент по Unity в ru-сегменте. Спасибо большое за такие видео, они кроме того, что учат делать что-то новое, так и узнаешь кучу всего, ещё и мотивируют делать и делать. А ещё мне дико нравится подача, спокойная, непринуждённая, иногда с юмором, одним словом - шикарно. Жду любых дальнейших видео)
@RimuruDev
@RimuruDev Год назад
❤️Великолепный урок! Очень интересно следить за тем как именно ты мыслишь при проектировании и создании игры. Объясняешь максимально понятно. Даже о некоторых фишках языка рассказываешь.🔥 С нетерпением жду продолжения, особенно информации о шейдерах😁
@arturberkgames
@arturberkgames Год назад
на 13:31 проще предварительно очистить Mesh (Mesh.Clear)
@errantwanderer9222
@errantwanderer9222 Год назад
самый понятный урк по генерации который я смотрел, хотелсь бы чаще😍
@tinton7709
@tinton7709 Год назад
Пожалуйста сделай полностью готовый урок, мне кажется это будет очень хорошим уроком новичкам и не только, спасибо) Будем ждать новых роликов)
@theoctan8569
@theoctan8569 Год назад
Лайк не глядя! Будет время, пересмотрю)
@ARTandNet
@ARTandNet Год назад
Ооо. Качественно, качественно
@uso2484
@uso2484 Год назад
Комментарий для продвижения канала
@HTML5Helper1287
@HTML5Helper1287 Год назад
Очень круто!!!
@user-uo4yc4hy2f
@user-uo4yc4hy2f Год назад
Продолжай Хорошо получается!!!
@mrmelog4320
@mrmelog4320 Год назад
Ждёмс продолжения:3333
@sevenseven2687
@sevenseven2687 Год назад
По традиции просто коммент чтобы поддержать автора и его творчество))
@Bertik_klik
@Bertik_klik Год назад
А ты планируешь её полностью закончить и выпустить или это больше видео-урок?
@SchlachtschiffBismarck-gf3fi
эмеральд лучший ютубер по юнити) в видео вложенна душа
@andriihema7934
@andriihema7934 Год назад
Очень круто
@nekokira5596
@nekokira5596 Год назад
Спасибо)
@nikofinlertet6115
@nikofinlertet6115 Год назад
Лучший❤
@Dianom
@Dianom Год назад
Жду сильнее, чем новые серии аниме)
@Soprachev
@Soprachev Год назад
Если блок изменился на границе чанка, этот пограничный тоже нужно регенерировать, иначе при удаление образуются дыры, а при добавление лишние полигоны
@VinDust
@VinDust Год назад
Вот, а регенерировать 2-3 чанка уже ещё более тяжёлая операция, так что очень будем ждать оптимизации
@user-rn5gb4wp9b
@user-rn5gb4wp9b 10 месяцев назад
Вы нашли как это пофиксить?
@Soprachev
@Soprachev 10 месяцев назад
@@user-rn5gb4wp9b а я не повторяю проект, я просто баг потенциальный заметил. Думаю можно просто проверять что блог на границе ченка и если да, то регенерировать чанк смежный с ним. Не думаю что это сильно повлияет на производительность
@user-ue2ng7gi6o
@user-ue2ng7gi6o Год назад
Супер!
@flelllka5530
@flelllka5530 Год назад
лайк не глядя
@cloudysh
@cloudysh Год назад
Полезно :3
@rdragon587
@rdragon587 Год назад
cool
@kochoba
@kochoba Год назад
А может создать собственные типы для каждой системы координат, унаследовав их от соответствующих векторов? Например: тип ChunkPos, унаследованный от Vector2Int для чанков, тип BlockInChunkPos от Vector3Int для позиции блока в чанке, тип BlockWorldPos от Vector3Int для позиции блока относительно мира. А Vector3 напрямую будет использоваться только для координат внутри юнити. У этих классов можно реализовать метод, который принимает Vector3 (метод для BlockInChunkPos также принимает сам чанк помимо вектора) и в нем происходит перевод координат, можно также сделать перевод координат через конструктор, который принимает Vector3. Так и работать будет проще и код будет более чистый и понятный. И вместо того чтобы постоянно писать "* blockScale" можно сделать какой-нибудь метод, в котором будет делаться это умножение. Код короче не станет, но это тоже повысит понимание кода.
@EmeraldPowder
@EmeraldPowder Год назад
Это кстати хорошая идея, с классами. Но почему-то все вектора в UnityEngine помечены как sealed, так что от них унаследоваться не получится. И blockScale да, тоже можно вынести. Но на самом деле как ниже писали лучше бы наверное было всё таки оставить его везде равным единице, и игрока увеличивать, это уж я раз начал дальше его везде использую
@stmihan_
@stmihan_ Год назад
@@EmeraldPowder Ну можно тогда extension методы написать для Vector3 и Vector3Int вместо наследования
@lolopupka
@lolopupka Год назад
Добрый день, огромное спасибо за ваш труд! Вы прям brackeys российского ютуба. Особенно приятно, что помимо того, что радуешься русской речи в уроке после просмотра сотни видео на английском, ещё и качество уроков совсем не уступает!) Хотел поинтересоваться, нет ли в планах сделать свой цельный курс по юнити, на платформе по типу Udemy?
@kraki4
@kraki4 Год назад
ждём пвп как в хайтелье, и релиз)
@philainel
@philainel Год назад
Я бы не стал SpawnBlock в ChunkRenderer делать, как по мне, рендерер должен только рисовать чанки, а никак не менять их данные. Изменение данных следует повесить на ChunkData. Для перерисовки можно вызывать ивент.
@T72TV
@T72TV Год назад
👍 При удалении последнего блока на стороне чанка необходимо регенить прилегающий чанк, если он выше текущего т.к. будет дырка из-за оптимизации.
@user-rn5gb4wp9b
@user-rn5gb4wp9b 10 месяцев назад
У вас есть пример кода, что бы пофиксить это?
@T72TV
@T72TV 10 месяцев назад
@@user-rn5gb4wp9b Добрый день! Нет, я просто смотрел ролик, не пытаясь повторить и развить данную реализацию.
@user-rn5gb4wp9b
@user-rn5gb4wp9b 10 месяцев назад
@@T72TV Ясно, спасибо за ответ )
@demio5183
@demio5183 3 месяца назад
@@user-rn5gb4wp9b Если блок изменился на границе чанка, то образуется дыра, вот как фиксится: Добавляем в переменные: public static Action UpdateChunk; После Start() пишем: private void UpdateThatChunk(Vector2Int _chunkPos) { if(ChunkData.ChunkPosition.x == _chunkPos.x) { if(ChunkData.ChunkPosition.y == _chunkPos.y) { RegenerateMesh(); } } } private void OnEnable() { ChunkRenderer.UpdateChunk += UpdateThatChunk; } private void OnDisable() { ChunkRenderer.UpdateChunk -= UpdateThatChunk; } в void DestroyBlock добавляем: if(blockPosition.x == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x + 1, ChunkData.ChunkPosition.y)); if(blockPosition.z == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y + 1)); } } else if(blockPosition.z == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y + 1)); } if(blockPosition.x == 0 && ChunkData.ChunkPosition.x >= 1) // delete_after { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x - 1, ChunkData.ChunkPosition.y)); if(blockPosition.z == 0 && ChunkData.ChunkPosition.y >= 1) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y - 1)); } } else if(blockPosition.z == 0 &&ChunkData.ChunkPosition.y >= 1) // delete_after { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y - 1)); } Кого беспокоят лишние полигоны, можете добавить что-то подобное в PlaceBlock. ( мне было лень, и все равно рано или поздно эти чанки регенерируются)
@user-mi2zn4lo7m
@user-mi2zn4lo7m Год назад
👍
@WeslomPo
@WeslomPo Год назад
Третье видео Rider умоляет исправить verticies в vertices как у chunkMesh переменная названа... xD
@Storm_VY
@Storm_VY Год назад
Хочу повторить но выглядит немного сложно. Буду пересматривать внимательнее :)
@kuellhyk
@kuellhyk Год назад
Для продвижения
@dareskull6541
@dareskull6541 Год назад
Только сейчас у меня возник один вопрос. А как будет работать размещение в мире предметов в виде неполных блоков? Типа полублоки? Ну это не сложно. А вот что-то типа забора, наковальни, рельс, факелов? И в конце концов жидкости? Можно было бы сделать просто заполнение водой вместо воздуха с определённого уровня, но воду в майне можно ещё и размещать и у неё есть физика. Короче пока что много вопросов и мало ответов. И крайне редкие ролики для столь незначительного содержания
@neroduck
@neroduck 10 месяцев назад
Сейчас меши делаются от 1 до 0, а полублок это от 0.5 до 0. я думаю так, отпишу потом если руки дойдут.
@Good-dg9sk
@Good-dg9sk Год назад
Есть мод, делающий Minecraft не кубическим, а с плавными поверхностями. Можно посмотреть в видео "МАЙНКРАФТ БЕЗ БЛОКОВ". Было бы интересно посмотреть на генерацию таких миров, в вашем исполнении)
@user-yd2wm6gt5k
@user-yd2wm6gt5k Год назад
Вообще-то там есть блоки,если мы говорим об одном и том же моде.Графика перелопачена таким образом,что кажется будто их нет,но их всё еще можно "пощупать".Правда подобное я видел лет 8 назад.
@smarthedgehog3185
@smarthedgehog3185 Год назад
Спасибо за урок Немного смешал визуальную часть с моделью. Renderer по мне должен отвечать за отрисовку Chank Data это модель отвечает за хранение и изменения чанка В идеале Удаление и добавление блока сделать в чанк дате. С последующей перерисовкой, но по подписке через генерацию события. Или хотя бы так: 1) Убрал или поставил блок в чанк дата 2) Запросил перерисовку. Но в идеале это события модели на которые подписан тот же колайдер и рендер.
@AlexStraga
@AlexStraga Год назад
Думаю он потом все разделит. Тоже немного глаза мозолит, но потом понимаю что я для простоты и проверки я вполне мог также писать, просто потом вынес. А из-аз того что это не целый ролик про все, а по чуть чуть, то и возникает мысль что так и останется. Ждем продолжения и рефакторинг )
@BasnicTV
@BasnicTV Год назад
Готовую версию будешь выкладывать где-то?
@Nixonation
@Nixonation Год назад
Комментарий ради комментария для комментария
@ionegamer
@ionegamer Год назад
В планах будет добавление мультиплеера в майнкрафт?
@ianime5967
@ianime5967 Год назад
Круто, жаль что текстура блока старая
@Xuricat
@Xuricat Год назад
Выглядит больше как teardown
@communism8037
@communism8037 Год назад
Решения интересные, но код по-моему ультраужасен (Хотя я не эксперт, может я что-то в этом не смыслю)
@demio5183
@demio5183 3 месяца назад
Если блок изменился на границе чанка, то образуется дыра, вот как фиксится: Добавляем в переменные: public static Action UpdateChunk; После Start() пишем: private void UpdateThatChunk(Vector2Int _chunkPos) { if(ChunkData.ChunkPosition.x == _chunkPos.x) { if(ChunkData.ChunkPosition.y == _chunkPos.y) { RegenerateMesh(); } } } private void OnEnable() { ChunkRenderer.UpdateChunk += UpdateThatChunk; } private void OnDisable() { ChunkRenderer.UpdateChunk -= UpdateThatChunk; } в void DestroyBlock добавляем: if(blockPosition.x == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x + 1, ChunkData.ChunkPosition.y)); if(blockPosition.z == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y + 1)); } } else if(blockPosition.z == 15) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y + 1)); } if(blockPosition.x == 0 && ChunkData.ChunkPosition.x >= 1) // delete_after { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x - 1, ChunkData.ChunkPosition.y)); if(blockPosition.z == 0 && ChunkData.ChunkPosition.y >= 1) { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y - 1)); } } else if(blockPosition.z == 0 &&ChunkData.ChunkPosition.y >= 1) // delete_after { UpdateChunk?.Invoke(new Vector2Int(ChunkData.ChunkPosition.x, ChunkData.ChunkPosition.y - 1)); } Кого беспокоят лишние полигоны, можете добавить что-то подобное в PlaceBlock. ( мне было лень, и все равно рано или поздно эти чанки регенерируются)
@frogpepe2724
@frogpepe2724 Год назад
Я не знаю но я хочу чтобы в игре был у перса друг тоесть он как наставник в начале игры а потом он допустим будет защищать тебя ну когда ты будешь в шахте я не заставляю тебя но желательно чтобы он был в игре
@user-yi4zw9pl3n
@user-yi4zw9pl3n Год назад
А зачем ты в RegenerateMesh() делаешь GetComponent()? При спавне блока можно ж было закешировать, тяжелая всё-таки операция. И если у тебя чанк это префаб (насколько я помню из первых видосов), то почему бы не прокинуть ссылку еще до запуска игры в том же OnValidate()?
@EmeraldPowder
@EmeraldPowder Год назад
Да, всё правильно, надо его как-нибудь закешировать. Но тут я просто перенёс строчку чтобы работало, жалею минуты в роликах на всякие простые улучшения. Будем считать что это зрителям оставляю в качестве домашней работы :)
@herregudgeme
@herregudgeme Год назад
А сможешь после завершения "Майнкрафт на юнити" Сделать "редкон"?
@lackyhaus8921
@lackyhaus8921 Год назад
Ничего не понятно, и при этом интересно:)
@user-qr2tr2tj5u
@user-qr2tr2tj5u Год назад
Сколько всего будет частей?
@LuchkinDS
@LuchkinDS Год назад
привет! в чем может быть проблема, рисую 2d mesh 100x100, все ок, но, если увеличивать количество mesh, например 200x200, по вертикали отрисовываются все mesh, а по горизонтали - часть (условно, 130x200). и чем больше условный плейн (1000х1000 - результат 21х1000). это какое-то техническое ограничение?
@chillcompany1028
@chillcompany1028 Год назад
там ограничения на 65к треугольников и вершин, но это фикситься одной строчкой кода , надо задать в настройках меша размер индекса как int32 и можно будет делать огромные гига меши :)
@Kostya_bro
@Kostya_bro Год назад
Я первый
@josefshif6639
@josefshif6639 Год назад
Первый
@user-qz9em6zi6p
@user-qz9em6zi6p Год назад
Что бы не парится с конвертацией осей в коде, можно в настройке проекта поменять Y на Z
@Unknownhatter
@Unknownhatter Год назад
продолженя
@lazzybag
@lazzybag Год назад
откуда ты это все знаешь? годы практики? можно ли самому изучить юнити до твоего уровня?
@EmeraldPowder
@EmeraldPowder Год назад
Конечно можно, я как-то справился, значит и остальным по силам. Лет пять я уже в Unity работаю, ну и до этого тоже то одно, то другое программировал, так что много всякого из смежных областей знаю
@mrbenjamin7494
@mrbenjamin7494 Год назад
А скачать игру можно будет?? на пк
@777.1
@777.1 Год назад
А кагда будет не абосраный слив кода с объяснением на халу а сращу дан чоткий функционал всех тегов и название програмы?
@whereareyo5603
@whereareyo5603 Год назад
Привет. У меня почему то при нажатии ставятся сразу 5 или 6 блоков за раз
@vladimirkruglov2807
@vladimirkruglov2807 Год назад
Привет, у меня плеер проваливается сквозь меши, подскажи пожалуйста что мог упустить?
@superleague1261
@superleague1261 Год назад
Понятно ето вийшло 5 часов назад. А я незнал
@DygDyg1000
@DygDyg1000 Год назад
А как называется эта среда разработки? Хотел попробовать уйти с vs, а то он мне каким то громоздким кажется...
@russianyoutube
@russianyoutube Год назад
Точно не знаю, но что-то от джетбрейнс или как ких там
@EmeraldPowder
@EmeraldPowder Год назад
Rider называется, рекомендую
@DygDyg1000
@DygDyg1000 Год назад
@@EmeraldPowder я его нашёл, но так и не разобрался, есть ли бесплатная версия? А то не очень люблю заморачиваться с "пробными" версиями...
@EmeraldPowder
@EmeraldPowder Год назад
@@DygDyg1000 там только пробная, так он платный, либо студенческая версия есть бесплатная
@negr199
@negr199 Год назад
Надеюсь игра будет на мобиле если он доделает
@anatoliy9696
@anatoliy9696 Год назад
Интересно, а как в майнкрафт работает сохранение и загрузка )?
@_cyp4ik_201
@_cyp4ik_201 Год назад
Точно не помню, но файлы миров, для уменьшения занимаемого места на диске, в битах записаны. Ну а остальное, как обычно - парсинг.
@anatoliy9696
@anatoliy9696 Год назад
@@_cyp4ik_201 я думаю там немного сложней)
@anatoliy9696
@anatoliy9696 Год назад
@@_cyp4ik_201 Изначально наверное нет смысла хранить все блоки, скорее всего мы храним переменны генерации именно этого мира. В процессе игры измененные блоки будут передаваться в систему сохранения, на запись в динамический список. Сами данные, будут скорее всего представлять из себя одну переменную, я бы ее сделал типом bye или int в зависимости от количества контента. Вовремя загрузки создается мир с заданными сохраненными переменными и подставкой всех изменённых блоков.
@user-yd2wm6gt5k
@user-yd2wm6gt5k Год назад
@@anatoliy9696 неа,майнкрафт сохраняет именно прогруженные игроком блоки.
@neroduck
@neroduck 10 месяцев назад
Что делать если у меня блоки ставятся после двух нажатий, а не после первого
@user-qw5qu5xn5u
@user-qw5qu5xn5u Год назад
Пожалуйста сделай блоки больше Я тысячный !
@vaskrol
@vaskrol Год назад
Ку. Зря аллоцируешь 2 больших массива при установке данных меша, лучше использовать методы SetVertices и SetTriangles, они принимают напрямую листы.
@user-st7qw4kn6j
@user-st7qw4kn6j Год назад
У меня выдаёт ошибку. На строке "chunkData.Renderer.SpawnBlock(blockWorldPos - chunkOrigin)" выдаёт следующую ошибку: "Object reference not set to an instance of an object" Кто-нибудь знает, в чём причина и как исправить?
@agrolordikk5637
@agrolordikk5637 Год назад
понял как решить?
@neroduck
@neroduck 10 месяцев назад
@@agrolordikk5637 камеру надо main сделать, тэгом
@kyleanimation9369
@kyleanimation9369 Год назад
Почему у меня не ломаются и не ставятся блоки по отрицательным координатом помогите пожалуйста😢.
@user-rm2yu2kz4s
@user-rm2yu2kz4s Год назад
ураааааааааааааааааааааааааааааааааааааааааааааааааааааа
@proKaps
@proKaps Год назад
ECS бы сюда кек
@feudGame
@feudGame Год назад
было бы не плохо, но это еще куда сложнее
@exopchis5476
@exopchis5476 Год назад
Конечно это классно, но я написал коды и мне выдают ошибку: "NullReferenceExeption: Object reference not set to a instance of an object" жалуется на строчку:"chunkData.Renderer.SpawnBlock(blockWorldPos - chunkOrigin);" Я не понимаю в чём ошибка
@EmeraldPowder
@EmeraldPowder Год назад
Возможно пропущена строчка с заданием этого Renderer, которая у меня на 9:42 в видосе?
@exopchis5476
@exopchis5476 Год назад
@@EmeraldPowder если про: "chunk.ParentWorld = this" то она у меня есть.
@exopchis5476
@exopchis5476 Год назад
И :"chunkData.Renderer = chunk" тоже есть.
@petrovskyV
@petrovskyV Год назад
Такая же ошибка, вроде всё так же переписал. При этом заметил, что в каких-то местах он всё таки ставит, а в каких-то нет.
@petrovskyV
@petrovskyV Год назад
Тебе удалось решить эту проблему?
@MadnesKi
@MadnesKi Год назад
C++ или java ?
@nukiesto
@nukiesto Год назад
JavaScript
@chillcompany1028
@chillcompany1028 Год назад
в видео C# :)
@bibyter6451
@bibyter6451 Год назад
BlockScale проблема проекта 😅
@kolebynov
@kolebynov Год назад
Тоже так думаю, проще потом поменять размер только игрока, чем менять размер мира :)
@azalothe3150
@azalothe3150 Год назад
Сразу уточнение, я вообще ни за что не шарю, по этому не пинайте. Зачем делать видимыми блоки, при соседсвовании с воздухом? Что теперь, отрисовывать все пещеры, домики изнутри, осратные стороны видимых предметов и прочее? Почему не делать видимость по рейкасту или его аналогам, если таковые имеются?
@EmeraldPowder
@EmeraldPowder Год назад
Мы генерируем меш один раз при спауне чанка, поэтому если он не был виден в момент спауна, то потом игрок подвинется и может его увидеть. А вот если он закрыт другим блоком, тогда точно до следующей генерации не увидит, поэтому их точно можно откинуть. Там дальше видеокарта позаботиься уже, чтобы не тратить много времени на задние грани, и то что закрыто другими объектами
@azalothe3150
@azalothe3150 Год назад
@@EmeraldPowder Понял, спасибо.
@NickProkhorenko
@NickProkhorenko Год назад
А можно сделать что-то что не будет майнкрафтом... Ты мог бы как-то разнообразить свое детище. Майнкрафт уже создан, не надо его копировать.
@user-kirillkorge
@user-kirillkorge 9 месяцев назад
У меня версия движка юнити 2021.3.7f1 и у меня мир пропал🤬🤬🤬
@Maria_Demeneva
@Maria_Demeneva Год назад
за копию могут засудить.
@4ridia
@4ridia Год назад
Он же для видео песочницу создает разве не?
@_mirai
@_mirai Год назад
скажи это клонам майнкрафта из плей маркета
@Maria_Demeneva
@Maria_Demeneva Год назад
@@_mirai их не забанит так как их деньги идут в гугл
@_cyp4ik_201
@_cyp4ik_201 Год назад
А что тут скопировано? Продукт будет реализован совсем по иному. А идея - не облагается авторским правом.
@iceman4854
@iceman4854 Год назад
👍
Далее
ПОЧЕМУ ВСЕ ТРЯСЕТСЯ в UNITY ?
39:14
OMG! Bei der Hochzeit betrogen 😨 #tricks
00:43
Просмотров 2,2 млн
I programmed Minecraft from scratch... again.
11:44
Просмотров 563 тыс.