Загрузочный экран и смена сцен в Unity 3D
Вставка
- Опубліковано 13 чер 2020
- Как сделать красивое, правильное и быстрое переключение сцен в Unity 3D. С анимацией, полоской и текстом загрузки, и без фриза всей игры. Я расскажу про то зачем и почему вообще в Юнити используются сцены, а потом мы сделаем удобный переключатель сцен с полоской загрузки, научимся делать loading screen'ы с любой анимацией, ну и конечно параллельно покажу вам несколько полезных кнопок, галочек, и хоткеев Unity
Ссылка на скрипт - gist.github.com/Glavak/5eb736...
Patreon канала - / emeraldpowder
Наш Discord - / discord
На этом канале регулярно появляются новые видео, которые позволят тебе научиться создавать игры, или подарят новые идеи и вдохновение, если ты уже умеешь. Подписывайся!
Остались какие-то вопросы, пожелания, или идеи для других видео? Смело пиши в комментарии под видео
У вас талант преподавателя. Вы так филигранно балансируете между "водой" и информацией.
Спасибо!
Если у вас Андройд, то ожидайте это =>
При загрузке большой сцены на слабых устройствах , с вероятностью 99,9% будет вылетать приложение из-за большой потребности оперативной памяти.
Нужно разделять загрузку сцены на этапы.
Разрабатывайте игры с умом ❤
Ты заслуживаешь больше подписчиков, спасибо за полезные видео
+++++++++
Вы бы знали, как этот урок вовремя))!Спасибо!!!
Обожаю смотреть тебя, самые лучшие уроки :)
Отличная подача и полезные видео, спасибо за труды!👍
Охаё! на связи Rimuru Dev. Если вы повторили точ в точ за автором и у вас ничего не получилось. Сделайте следующее () =>
Там где вы жмякаете на кнопку перехода на новую сцену, вместо SceneManager.LoadScene(sceneName); воспользуйтесь SceneTransition.SwitchToScene(sceneName);
sceneName - это название вашей сцены на которую вы хотите перейти.
Пример: “Level_0” вот так SceneTransition.SwitchToScene(“Level_0”);
Проверьте в File=>Build Settings установлены ли ваши сцены.
*Данный текст был написан для новичков которые не смогли осилить данный гайд. Надеюсь спас хотя бы пару горящих пуканов интернов/джунов)
Супер! Алгоритм ютуба знает, что мне надо.
Интересные темы затрагиваешь из ролика в ролик. Потом как-нибудь всё посмотрю)
Как всегда великолепно, большое спасибо!
Крутые видосы, ничего лишнего. Спасибо!!!
Спасибо за материал, очень интересно!
Для тех, у кого не перетаскивается Text Loading Percent.
Используйте библиотеку using TMPro;
далее замените public Text LoadingPercentage; на public TMP_Text LoadingPercentage;
Надеюсь помог, желаю всем удачи!
Удачи тебе, отличные уроки👍👍👍
Спасибо автор, я честно две недели думал как это сделать. Как-то на костылях тогда сделал и оставил! Через месяц смотрю твоё видео и офигел у меня половина всего было почти наоборот.
Спасибо за видос , щас буду смотреть
Спасибо) оч. полезное видео!
Наааайс! Спасибо большое!
Спасибо большое автору !!!
12:44 вооооооу, не знал что там есть такая функция. Спасибо
Пожалуйста, всегда стараюсь побольше фичей которые сам знаю использовать в видео и показывать
Отличный канал,развития и подписоты) Но хотелось бы спросить,будет ли в обозримом будущем туториал или краткий гайд,для тех кто только начал изучение юнити и C+?
Когда узнал, что прогресс бары фейковые: 😭
Ну нет, можно сделать и настоящий, но там гемора больше
@@TeamSLywnow Ну помоги
@@SUBzOnFire brackeys
Тоже считаю хранить файлы не по типу, а по сущности профитнее. Спасибо за уроки! Годно вещаешь)
Спорное утверждение. Допустим, что сначала ты делаешь сущность игрока и забрасываешь туда скрипты. И есть сущность врага, где другие скрипты, которые присущи врагам. А потом тебе вдруг пришло в голову снабдить врагов какой-то функцией, которая уже отлично себя зарекомендовала с игроком. Что ты будешь делать? Дублировать скрипт? Или создашь особый раздел "игрок и враги"? А через месяц ты вдруг решил дополнить игру союзниками, которые не являются игроком и не являются врагами. Дальше как? Ещё один дубль скриптов? Или ещё набор невнятных папок "игрок и союзники", "союзники и враги", "игрок, союзники и враги"... В общем, тупиковое это направление.
@@-unity- я делаю папку существа. В ней все общие скрипты и папки с файлами конкретно игрока, моба Васи, мода феди и тд. Если в какой то момент мне понравилась фича например моба Васи, я ее код переношу в общие скрипты.
Тут дело вкуса, но по типу можно и так отстортировать фильтрами (спрайты/меши), так что такие папки по сути дублируют функционал. А по сущностям - хотя бы примерно знаешь где начинать искать, например надо поменять анимацию врага, не вспоминаешь как она сделана, через скрипт или аниматор, а сразу идёшь в папку врага. Хотя по сути можно так же ввести в поиск "Enemy" и получишь всё связанное с врагом, так что тут тоже некоторое дублирование
@@EmeraldPowder я просто ленивая задница что то искать. Я лучше изначально запарюсь удобно покласть файлики)
спасибо, очень полезное видео)
Настоящий бриллиант среди русскоязычных каналов по Unity! Только с синглтоном, имхо, слегка небрежно получилось. Наверное, лучше заводить в awake, и делать до конца, с проверкой и dontdestroy, чтоб служить примером для адептов) Спасибо за очередной туториал!
Спасибо!
В Awake задавать instance да, это было бы правильнее. С dontdestroy тут бы не зашло, так как он в обычном канвасе у меня лежит, но если сделать префаб вместе с канвасом то это хорошая идея, тогда можно было бы не таскать его в каждую сцену
Видео: 3 минуты назад
Комменты: классное видео
Просто здесь автор фигни не снимает, так что мы заранее знаем, что классное))
@@SHILY-PROJECT это да)
Почти 2 ночи. завтра рано вставать. Я ничуть не геймдевер... И смотрю этот видосик
Спасибо за хорошие ночи
Столкнулся с проблемой зависания LoadSceneAsync на android, так как автор видео меня очень заинтересовал подобным способом загрузки, отказываться от него я не хотел. Пришлось погуглить, что бы избежать проблемы зависания. Немного доработал код согласно официальной документации и проблема решилась. Вот ссылка для тех кто с этим столкнулся. gist.github.com/devskgames/811475dea5f37d020b785fbd9a7d76f3
Спасибо автору за изысканные решения, ваши видео очень помогают в разработке!
Автор Видео, привет!). Подскажи, а не проще переход сцены, в частности как у тебя, сделать через способ Таймлайн? В скрипте меньше записей надо делать и манипуляции меньше чем с Аниматором. Интересно твоё мнение:). Метод из видео используешь потому, что так привык или по другим причинам?
В игре Superliminal, как по мне, очень интересные экраны загрузки)
Спасибо за хороший туториал
Вышло 4 минут назад))
Приятно когда в тебя верят уже заранее)
Спасибо за урок! Планируешь сделать видео по ECS/Job System в Unity?
Сам был бы рад об ECS посмотреть. Но система, как говорит сама Unity и ребята проводившие конференцию, говорили, что система ещё немного сырая. Да и пакет ещё в preview версии.
А Job System уже достаточно полноценная система. Но думаю лучше сделать видео сразу по обоим системам сразу, когда обе будут допилены
@@watermelon0guy а в чем функция job system?
еще как вариант для загрузки сцены можно создать Task, предварительно загрузить небольшой процент бара для видимости процесса и при загрузке сцены await Task.. передавать заполнение бара лерпом\твином до 1
Аниматор и неотключенный канвас будут обновляться каждый кадр, даже если они ничего не воспроизводят. Для анимации UI есть паки вроде UITween, все вещи вроде смены прозрачности или движения влево-вправо в них можно спокойно сделать.
Поправьте если я не прав, но каждый объект на сцене обновляется каждый кадр даже если ничего не делает? Так в чем исключительность аниматора?
@@maxalm3318 отключенные компоненты/целые объекты, как правило, не обновляются. Фишка аниматора в том, что даже при отсутствии анимаций он будет дергать отрисовку. А если мы говорим о канвасе размером с экран, то каждый кадр будет перерисовываться пустой экран, зачем?
Анимации как правило используются при появлении/исчезании элементов, а кроме этих моментов сам элемент большую часть времени статичен, тогда выгоднее использовать не аниматор, а какие-то штуки вроде UITween, которые могут анимировать объект эти пару секунд и потом не забивать видюху/проц ненужной работой
Хорошее видео. Но хочется сделать замечание. Singleton - это не совсем то что было на экране, либо я не совсем понял мысль. Паттерн синглтон - паттерн при котором имеется только ОДИН инстанс класса. Реализуется он как раз похожим способом что ты сделал. Есть статическое приватное поле _instance. Есть статическое публичное свойство Instance => _instance ?? (_instance = new Class()) (если инстанс существует, верни его, если нет, создай новый, сохрани его, и верни) и делается приватный конструктор дабы нельзя было порождать новые инстансы из вне. Только использовать конструкцию Class.Instance.
Такое качество, а так мало подписчиков и лайков. Успехов тебе и спасибо за видео!
65К это не мало скажу честно
"которое принимает число от единицы до одного" :) 14:05
так, и че?
@@tenko4647 ну он хотел сказать от нуля до одного.
Можешь-ли ты сделать видеоурок по теме скриптов, выполняющихся в редакторе. Я знаю, что такое есть, но не знаю, как это реализуется. Для примера, можно показать тайл из урока по процедурной генерации. А именно, сделать какой-то скрипт, который будет на тайле, который, по нажатию кнопки в инспекторе, будет заранее просчитывать боковые стенки и записывать информацию оттуда в массив, находящийся в скрипте. Прям больно становится, когда вижу, сколько расчетов происходит при запуске этой сцены. Для того, чтобы наполнить урок больше, можно рассказать ещё про какие-то способы применения и особенности этого метода. Заранее спасибо
Здоров, дружище, не знаю твоего имени, но видео у тебя супер!
Хочу тебе предложить перенять названия для переходов из Андроидной разработки. У нас эти методы помечаются как enterTransition для входа и exitTransition для выхода. Может понравится ¯\_(ツ)_/¯
Было бы очень здорово увидеть гайд по созданию клона Subway Surfers(управление свайпами по линиям, движение мира на игрока(а не игрока по миру), генерация препятствий и т.д)
Такого не планируется?
Спс)
А что если пишет: не содержит определения для fillAmout и не удалось найти доступный метод расширения fillAmout, принимающий первый аргумент типа AsyncOperation. Вам не хватает директивы using или ссылки на сборку?
Сделай видос про Unity UI Builder. Тема то свежая.
Самый интересный экран загрузки, на мой взгляд, какой-нибудь интерактив, ну это для долгих загрузок - первых запусков, обнов и тд.
В БДМ, например, flappy bird была и потом ещё мини-бонусы в игре дали)
Да, flappy bird точно можно вставить. Но вообще когда вижу такое в играх задумываюсь что может им стоило подумать как ускорить эту загрузку, а не развлекать игрока)
Я разрабатывал свою игру около года, несложная аркада для андройда. Сейчас у нее всего по паре новых игроков в день (чего тоже добиться было трудновато). Мне хотелось бы узнать, каким образом можно продвинуть свое приложение? Возможно есть какие то тонкости настройки в гугл плей консоль? Или как заинтересовать издателя? Каких издателей посоветуете?
Насчёт отображения fillAmount: надо progress / 0.9f просто так 100% не будут отображены.
UPD: даже на скорости 0.25х нет 100%
Есть какой-то скрипт на кнопке? Ты добавил префаб в сцену меню, но никак не привязал работу скрипта к кнопке. Кнопка телепатически воспроизводит скрипт?
Привет, можешь, пожалуйста, сделать видео о том, как можно с помощью некого инструмента (например кирки или бура, неважно), изменять геометрию террейна?
Отличное видео, спасибо за труд, было бы интересно посмотреть о переносе данных из сцены в сцену. Вроде перемещения игрока по комнатам лабиринта, если уже есть что то подобное на канале, поделитесь ссылкой плз. :3
Если переменные, то просто после public делаешь static и там дальше тип м название. Потом из другого скрипта или сцены вместо обычного названия переменной пишешь имя скрипта и через точку название переменной. Всё
Привет, я не могу найти инфу о том, какие требование с технической точки зрения при попытки портирования игры с ПК на android, а также какие есть нюансы с изображениями? HELP!
Здравствуйте, сделал по видео ролику экран загрузки, но использую для красивой анимации перехода в настройки, суть в том что если зайти на уровень, выйти в меню и зайти в настройки то сама игра зависает, то есть анимация не запускается, но в юнити написано что сцена грузится и так может до бесконечности, но если изначально зайти в настройки то все хорошо. Возможно есть предположения с чем это может быть связано?
Если у вас при попытке перехода игра застрявает на чёрном экране, проверьте, *все ли нужные вам сцены включены в билд!* Я дважды всё повторил в точности, убрал все лишние анимации (и свои, и автора) даже, чтобы остался только рабочий скелет, но у меня была вот такая вот проблема.
А ещё, проверьте, не перепутаны ли у вас анимации выключения и включения. На всякий. А то неприятно будет, поверьте.
Спасибо тебе за такой ролик, сам бы точно не сделал) И немного критики, я думаю тебе стоит называть свои переменные немного покороче
А можешь впредь делать захват екрана в меньших размерах? На планшете несмотрибельно.
Спасибо за урок, не могли бы вы создать видео на тему "бесшовный открытый мир на unity3d"?🙏
Ты что Майнкрафт хочешь создать?
14:05 чтож бывает:)
А была бы необходимость создавать билд каждый раз, если по окончании загрузки просто добавить "Нажмите клавишу, чтоб завершить загрузку"?)
Ну типа там есть allowSceneActivation, и его можно ставить на true при нажатии кнопки, или это не сработает, и всё равно надо билд делать?
Отличные уроки, спасибо. Главное, что часто выходят. А можешь записать урок, как настроить визуал код, чтобы методы юнити показывал, я чет пробовал и не вышло ничего.
Держи:
ua-cam.com/video/9GsV9TpWtzw/v-deo.html
@@funnytime4372, попробую. Обнял :)
А можно видео на тему публикации приложений в app store. Статьей много и все говорят об разном и не всегда получается с первого раза выложить.
Все эти сертификаты, вечно забываешь, какой куда сувать и какой нужно создать.
Буду благодарен за этот материал.
По Братски, подскажи, как мне реализовать в онлайн игре на PUN2 и Unity 3D синхронизацию IK очень долго ищу, не смог найти. Пишу тебе потому что у тебя есть курс по PUM2
я наверное никогда все же не стану кодером на Unity... (просто команды понимаю механику скрипта и так далее но как раставлять скобки и почему никак не допираю, максимум что получается учить это python так как их там меньше), но все равно спасибо за твои видео очень расслабляет и информативно! продолжай в том же духе!
А что не так со скобками?
@@user-kn9jr4mw5o да, действительно! Скобки - не самая сложная вещь в программировании.
Я всегда думал как игра понимает сколько ей осталось подгрузить ресурсов, когда рисуется прогресс бар. Оказывается довольно приблизительно. И у нас тут быстро скакнуло до 90% и немного подождало, а я видел плавные варианты. Значит оно зная, что ресурсы будут грузиться 3 сек + - брали и делали бар длительностью 5 сек например, и плавно рисовали прогресс бар, зная, что на загрузку нужно где-то 3 сек. В зависимости не от реального положения дел, а просто по времени.
Очень интересно, но можно было немножко и помедленнее, на такой скорости не понятно то ли слушать и понимать о чем идет речь, то ли смотреть)
Спасибо, одним вопросом стало меньше.
@Даниил Глаголев там же есть update и fixed update, если делать через апдейт, да оно может быть по разному, где-то быстрее, где-то медленнее. Через fixed update на любом компе будет одинаково, потому что там зависит не от частоты, а от времени. Так что можно какой-то средний промежуток подобрать и будет норм. Быстрый комп немножко подождет, у медленного полоса дойдет до конца и чуть позже будет переход.
Мы делали игру матч-3 + ферма, и после матч-3, выдавалась награда и ферма грузилась секунд 5.
Ну я как гейм-дизайнер попросил программистовЮ чтобы после победы на уровне игроку выдавался сундук, для открытия которого нужно дождаться "прогресса взлома" (на фоне загружалась ферма), когда ферма загружалась - сундук открывался, из неё вылетала награда - было клёво.
Пришли заказчики, сказали что им не нравится что сундук с наградой так долго открывается, что открытие должно быть мгновенным, и вернулись к варианту скучного экрана загрузки. -_-
Ну по идеи после первой загрузки сцены в билде она улетает в оперативку и там чилит, при повторном входе в сцену она быстро её достает из этой оперативки. Могу ошибаться, но вроде так.
Спасибо за видео. Очень полезно. Подскажи, пожалуйста, как выводить на экран ингейм FPS?
Зачем?
Самое простое - (int)(1f / Time.deltaTime). Но по хорошему каждый update увеличивать счётчик на единицу, и каждую секунду выводить его и сбрасывать
С тобой можно стать настоящим программистом и получить приглашение от Rockstar games, Valve, Ubisoft, Electronic arts.
Какой редактор кода вы используйте?
Rider
14:06 принимает число от единицы до одного
Спасибо за видео. Расскажите, как правильно работать с Additive сценами. Особенно интересует, как избавиться от ошибки с несколькими AudioListener одновременно и как грамотно выключить камеру одной сцены и переключить на другую, чтобы получилось бесшовно и без ошибок отсутствия камеры.
Может просто переносить камеру между сценами? И в каждой сцене добавить объект, который в методе старт будет перемещать трансформ камеры по нужным координатам? 🤔 Костыль, конечно, но думаю поможет.
С какой целью Вы хотите использовать additive? Переходы между камерами лучше делать в Cinemachine. Сами камеры и AudioListener при этом всегда держать в основной сцене или в отдельной сцене, которую держим постоянно загруженной.
@@ilyanazarov7001 Схема была такая: 1. Сцена с главным меню (Камера, UI, основные менеджеры приложения (реклама, ачивки и т.п.) 2. Сцена с персонажем и уровнем (3D камера, контроллер персонажа и т.п.). Сцену 2 загружал аддитивно, чтобы работали менеджеры приложения, но столкнулся с ошибками для 2 камер. Не получилось отключить одну и сразу же включить другую, не получив ошибку с AudioListener. Правда, я переключал сцену в корутине, дожидаясь ее полной загрузки. В принципе, ошибка эта не страшна и всего 1 раз выходит. Но оказалось, что в webGL билде она вешает приложение.
Помогите, загрузка уровня через главное меню проходит успешно, но когда загружаю главное меню с уровня, то он загружается, почему-то, не корректно.
Вместо меню черный экран.
всё вроди хорошо, но можно ли сделать загрузку более плавной?) У меня дофига времени тратится на создание навмеша, можно ли показать его загрузку? Во время создания навмеша телефон телефон как-будто повисает.
Хм посмотрел видео и получается что никак не сделать то, о чём я говорил)
Смотря чем навмеш создаётся, если прям фризит и нет никакой асинхронной функции, то наверное не получится. А если есть какой-то вариант не блокировать основной поток, то можно показать полоску, даже если не знаем настоящий прогресс, просто сделать чтобы она двигалась с определённой скоростью, и к концу бара замедлялась
Привет, вы очень хорошо объясняете. Спасибо за такой канал. Смотрю каждое видео и хоть знаю это материал, но каждый раз подчеркиваю что то новое. Однако можно более серьёзные вещи . Допустим не знаю как для других хотел бы послушать про шейдеры, про любые. Про arcore углубленно. Про методы редко используемые, лайфхаки, интересные алгоритмы.
Спасибо!
Про шейдеры думаю будут ещё видосы, с ними много идей что можно сделать, и про всякие лайфхаки и методы много всего копится пока работаю с Юнити. Про arcore вот только ничего не знаю
Привет, спасибо, можешь сделать перенос данных между сценами, переносить геймобжекты, стринги,инты .
Даже в видео на 10:19 то, что мы, большие дяди, называем синглтоном 😂
То есть для начала советую создать какой-то класс GameManager, где будет статическое поле Instance.
В методе Start напиши:
if(Instance == null) { Instance = this; DontDestroyOnLoad(gameObject); }
else GameObject.Destroy(gameObject);
Кинешь этот скрипт на объект на первой сцене, при переходе на другую он не будет уничтожаться.
Теперь в нем ты можешь объявлять другие скрипты и обращаться к ним будешь так: GameManager.Instance.Имя_скрипта
@@kawaikami Синглтоны хорошо использовать только в совсем мелких проектах. Несколько таких менеджеров, и уже начнется боль. Вот шикарная презентация, как люди изящно решают эту и другие задачи с помощью Scriptable Objects: ua-cam.com/video/raQ3iHhE_Kk/v-deo.html
@@kawaikami Господи 😍😍😍пупсик я тебе готов дать, спасибо этот код мне как раз нужен 😍❤️спасибооооо.
Пхахаха, рад что помог кому-то. В архитектуре, которую использую я синглтон всего один. Это как точка входа в приложения, в нем уже менеджеры, в менеджерах контроллеры и тд. Спасибо, почитаю как со скриптбл объектами там делают.
@@ilyanazarov7001 а еще можно заюзать Zenject) Хотя, честно говоря, я не совсем понимаю в чем такое уж прям зло синглтонов. Для менеджеров и других штук которые гарантировано существуют в одном экземпляре вроде норм. Я, например, раньше ссылки на префабы хранил в синглтон-контейнерах ( чтобы не через Resource.Load ), сейчас то же самое только через зенджектовский BindInstance.AsSingle, разницы вроде нет особой для работы.
Здравствуйте! А возможно сделать появление сцены с задержкой? Что бы не было видно действий начальных которые в сцене и которые я не хочу чтобы было видно? Буквально на 3 секунды что бы сцена побыла в темноте при этом она уже загрузилась но ещё не показывалась.
Можешь анимацию с чёрным экраном на 3 секунды на новой сцене добавить.
Не получается создать второе соединение New State. Кнопка Make Transition на второй раз просто отсутствует в списке. Что делать?
А загрузочный экран нужен только для красоты или он чем то помогает ?
Отличный ролик) Я бы предпочел просто крутилку на загрузочном экране сделать, т.к. возвращаемый Unity процент загрузки очень резко возрастает, и реальной информации о прогрессе загрузки игроку почти не даёт.
Спасибо! Да, если загрузка так как на видосе работает, то можно и крутилку. Но точно помню что у меня в каком-то старом проекте она прямо как часы прогресс возвращала, то ли там ассеты получились все похожего объёма, то ли просто разбиты на много файлов были
P.S. канал у тебя годный)
@@EmeraldPowder да, наверное равномерно были распределены ресурсы, я на самом деле особо не вникал в алгоритм подгрузки данных, как-то не надо было)
Спасибо за теплый отзыв по каналу)
если загрузка уровня предполагает время в 20-30 секунд.. я бы сделал экран инвентаря или какието дополнительные подсказки или хитрости для игрока. так игрок бы провёл это время с пользой. ещё можно сделать полет камеры гдето над облаками.. или ещё чтото. идей много
Кстати инвентарь интересная идея, нигде вроде бы такого не видел, но вещь была бы полезная игроку! Подсказки-советы это классика, да, они тоже хорошо смотрятся
Не очень понял, как Юнити проверяет используемость ресурсов? если они могут загружаться динамически из Resources.Load по имени?
Что это за среда разработки?
Unity использует .NET и у него интересный способ билдить. Он делает промежуточный код, а во время запуска он по сути компилирует проект. Это решает вопрос кроссплатформенности, но получается проблема первых загрузок. Типо запустил 1 раз - долго. На второй - уже быстро.
Может быть в этом дело. Хотя скриптов почти нет на той сцене, так что скорее всего это просто какие-то ассеты не выгрузились, потому что сцена меню почти ничего не содержит
Какую IDE ты используешь?
Jetbrains Rider
В 2020-м пора уже делать бесшовные переходы. Но за видосы спасибо, много полезного :)
При этом необходимо переключать сцены с помощью SwitchToScene , а не LoadScene и ни в коем случае не в методе OnGUI, у вас все красиво, просто вдруг кто-то решит, что все будет работать и без этого
Сделай гайд по рендерингу. ПЖ
помогите я сделал точно также но без плавного перехода, и когда сцена загрузилась то у меня какая-то беда со светом, то-есть я уже даже пост процессинг отрубил но свет при переходе на сцену становиться зеленоватым и я это уже на сцене никак не могу пофиксить, и причем если я начну игру прямо с основной сцены то такого бага нету
Как идея насчет видеоуроков по Shader Graph Unity?
По нему у меня только старенький видос про пиксельный огонь, если придёт в голову какой-то крутой и оригинальный эффект - буду делать ещё
у меня при старте загрузочный экран висит, не смотря на то, что он находится в idle состоянии
Emerald Powder, а можешь сделать видео на одну тему? Я много где ищу, но нигде нету на это ответа, может ты знаешь? Можно ли в юнити, сделать перед возможность давать игроку выбирать, сколько ОЗУ выделить на работу игры(пример такого - это майнкрафт(больше я такого нигде не видел)). А в самой игре потом где-нибудь выводить то сколько ОЗУ по итогу выделено на игру, и сколько она потребляет в realtime.
Задавать скорее всего нельзя, это фишка java, чтобы в C#/Mono такое было я не слышал. А вот получить сколько используется скорее всего можно через стандартную библиотеку, наверное как-то так
forum.unity.com/threads/how-to-get-entire-memory-usage-at-runtime-in-game-build.465564/
@@EmeraldPowder спасибо. Действительно, получилось через profiler вывести. Оказывается все было так просто.
Автор куда кидать menumanager?
Надо было бы упомянуть что все файлы из папок Resourсes попадут в билд
А как открыть сцену созданную на другом компе?
Я так и не понял куда кидать скрипт MenuManeger
Здравствуйте. Встретился с задачей сделать плейлист с музыкой, который меняет музыку по окончанию на следующую или случайную в списке. Пару дней копаюсь в Гугле и на Ютубе и все только рассказывают как просто добавить музыку на сцену. У вас есть мысли по этому поводу или желание сделать ролик? Если есть материалы почитать, то с радостью ознакомлюсь
Можно просто использовать один AudioSource, навесить на него скрипт с массивом AudioClip'ов, и в этом скрипте в Update проверять, если этот AudioSource.isPlaying == false, задавать ему случайный трек и вызывать Play. И ещё убрать у него галочку loop, чтобы когда трек закончится, он остановился, и isPlaying стало false
@@EmeraldPowder Спасибо большое. Очень выручил
что если пропала вкладка сцен????? как её вернуть,помогите пожалуйста
Есть вопрос, можно ли как то загрузить сцену с сервера и перейти в неё?
кури AssetBundles
добрый день! добавил ваш скрипт в свои сцены как описано в видео(код скопировал с гитхаба, объекты и префаб сделал, аниматор настроил). Переход из меню в игровую сцену работает, из игровой сцены обратно - нет. В режиме Game в Editore в иерархии появляется объект Menu(isLoading) и больше ничего не происходит. Ни ошибок ничего. При повторном нажатии на кнопку выхода - появляется второй такой же объект Menu(isLoading) в иерархии и ничего больше не происходит.
Подскажите, в чем может быть проблема? Думал ошибка в синглтонах (левел контроллер реализован через синглтон), переписал ваш код на публичные классы с вызовом через гейм обджекты на сцене - все тоже самое.. Скорее всего что то с подгрузкой сцен через async, но знаний не хватает понять что именно идет не так.
почитал про синглтоны - проблема точно не в них. Проверю еще раз, возможно, где -о ошибся с названиями булевых операторов и где-то не срабатывает переключение.
не срабатывает триггер sceneOpening при переходе на новой сцене, не срабатывает функция в конце анимации.
Всё отлично, но очень быстро
20 минут на создание экрана загрузки. Куда уж медленнее, брат?😅
Мне очень интересно как реализовать переход межу сценами как у God of War или третий асасин там во времяя загрузки сцены ы можешь бегать по определённой зоне слушать всекие реплики и тд
По идее можно на этом экране загрузки любую мини- (или не мини) игру сделать. Но скорее всего она будет тормозить, по крайней мере если обычным юнитиевским LoadSceneAsync пользоваться
@@EmeraldPowder Может Unity не оптимизирована под данные задачи, а вот UE скорее всего подойдёт