Дальше самым часто выискиваемым мною вопросом встала анимация дверей. У меня дом с кучей этажей и на каждом много дверей и многие будут открываться. Да и в целом будут предметы с простой анимацией, а точнее просто сменой картинок. Animator и animaton делать на каждую дверь - глупо. Это хорошо для персонажа у которого много анимаций под разные события, или как я смотрела в уроках для каких-то сложных предметов. Создавать варианты animation, это тоже значило плодить кучу сущностей, когда по сути у меня есть атлас с картинками, и мне просто надо по нему бежать и всё это проще написать кодом. Было принято решение утащить часть кода из старых игр. А для объекта, например двери, в классе просто указывать массив спрайтов для анимации. Когда нужна анимация, то подменяю основной спрайт по таймеру.
В Update не надо делать GetComponent, это относительно затратная операция. Лучше это сделать в Start(), которая выполняется до начала выполнения Update() и кэшировать.
То есть сделать что–то типа
private SpriteRenderer spriteRenderer;
public void Start()
{
spriteRenderer = GetComponent<SpriteRenderer>();
}
После этого в spriteRenderer будет ссылка на этот компонент, который можно будет использовать легко в Update.
Поначалу это незаметный удар по производительности, но если объектов с поиском компонентов будет много в сцене, это может привести к сбору мусора, что всегда приводит к снижение FPS и небольшим тормозам на небольшое время.
Спасибо большое за уточнение. Обязательно учту.
Свои костыли писать это, конечно, хорошо в качестве тренировки и набивания руки. Но если есть готовые решения стандартных проблем, то почему бы не взять их и сконцентрироваться на том, что уникально для игры? Ну и в целом время и силы сэкономить.
Я в частности вот про это - https://assetstore.unity.com/packages/tools/game-toolkits/adventure-creator-11896
Для point and click очень сильно облегчает жизнь.
Я извиняюсь, а в чем прикол получается?
Ну будет еще один клон (причем буквально), с теми же механиками. Работать с чем-то готовым в попытках кастомизировать может еще сложнее оказаться.
Я без наезда, искренне не понимаю
Спасибо. Подумаю
Лайк за пенпайнаплаплпен, когда ручка в яблоке оказалась, сразу понял о чём речь)
Лайк за внимательность)