GetComponent vs [SerializeField] — битва подходов 🔥Раньше я всегда считал: если
Rigidbody2D висит на том же объекте, что и скрипт, надо брать его через GetComponent в Awake. Зачем захламлять инспектор, если компонент и так рядом?Но копнув глубже в архитектуру и оптимизацию, я понял, почему в серьезных проектах (и в AAA) часто предпочитают ручной проброс ссылок через
[SerializeField].Давайте разберем неочевидные нюансы👇
1️⃣ Проблема архитектуры (Parent/Child)
В простых играх у нас "все в одном": скрипт, спрайт и физика на одном объекте. Но в сложных проектах структуру разделяют:
--> Root: Логика, AI, Здоровье.
--> Visual: Спрайты, Аниматор (чтобы модельку можно было крутить/скейлить отдельно от коллайдера).
--> Physics: Rigidbody, Коллайдеры.
❌ Если вы используете
GetComponent, ваш скрипт на Root просто не найдет физику, так как она на дочернем объекте. ✅ С
[SerializeField] вы просто перетаскиваете ссылку на дочерний объект Physics в поле скрипта. Код менять не нужно, архитектура остается чистой.2️⃣ Микро-оптимизация (Пример с пулей)
GetComponent — это поиск. Unity пробегает по списку компонентов, сравнивает типы и возвращает результат. Представьте, что у вас пулемет. Вы спавните 1000 пуль в минуту.Вариант А: Каждая пуля при рождении тратит процессорное время на поиск своего Rigidbody. В момент интенсивной стрельбы это может вызвать микро-фриз (GC Alloc и нагрузка на CPU).
Вариант Б (
SerializeField): Ссылка на Rigidbody уже "запечена" в префабе пули. При спавне Unity просто копирует готовые данные. Ноль затрат на поиск.💡 Решение Best Practice
1️⃣ Магия
OnValidate (Лучшее из двух миров) Если вам лень перетаскивать ссылки руками, но вы хотите производительность
SerializeField, используйте этот лайфхак:[SerializeField] private Rigidbody2D _rb;
// Вызывается ТОЛЬКО в редакторе Unity, когда вы что-то меняете
private void OnValidate() {
// Если ссылка пустая — найди её сама!
if (_rb == null) _rb = GetComponent<Rigidbody2D>();
}
Как это работает: Вы вешаете скрипт на объект — Unity сама мгновенно находит компонент и прописывает его в поле
_rb прямо в инспекторе. В игре (Runtime) этот метод даже не запускается, у вас сразу есть готовая ссылка.Для любителей
GetComponent тоже есть лайфхак - используйте [RequireComponent]:[RequireComponent(typeof(Rigidbody2D))]
public class Player : MonoBehaviour {
private Rigidbody2D _rb;
void Awake() => _rb = GetComponent<Rigidbody2D>();
}
Этот атрибут заставит Unity автоматически добавить нужный компонент на объект и не даст вам его удалить случайно.
🤔 Вывод: Для прототипов
GetComponent — ок. Для продакшена, сложных префабов и высоконагруженных объектов — лучше [SerializeField].А какой подход используете вы?
1. Только
[SerializeField], люблю полный контроль! 👌2. Всегда
GetComponent, лень двигать мышкой 🥱3. Использую
GetComponent, но с [RequireComponent] 🏆4.
OnValidate — наше всё 👾И накидайте 🔥, чтобы я понял, интересны вам такие посты или нет.
P.S. Спасибо @koiiiapik за идею поста.
1🔥83❤9👌8🤯3👍1🥱1
Друзья, поздравляю вас с новым годом!
Новый год это всегда начало чего-то нового, новых надежд и свершений!
Желаю, чтобы в следующем году вы достигли того, чего бы вам самим хочется!
Будь то создание игры своей мечты, поступление в универ, поиск работы или просто спокойная жизнь.
С новым годом!🎄 🦌 🚗 🎁
Новый год это всегда начало чего-то нового, новых надежд и свершений!
Желаю, чтобы в следующем году вы достигли того, чего бы вам самим хочется!
Будь то создание игры своей мечты, поступление в универ, поиск работы или просто спокойная жизнь.
С новым годом!
Please open Telegram to view this post
VIEW IN TELEGRAM
3❤75🎉17🎄5☃3
This media is not supported in your browser
VIEW IN TELEGRAM
Как праздники?
Все салаты доели?
Пилите игру своей мечты или полный релакс?
Все салаты доели?
Пилите игру своей мечты или полный релакс?
1❤20😁1
Помните, я планировал сделать инструмент, который берет размытую картинку из нейросети и превращает её в настоящий, четкий Pixel Art?
Я сел кодить эту штуку на выходных и понял: а зачем вам бегать между двумя окнами? В одном генерить, в другом чистить... Неудобно.
🧠 Короче, концепция поменялась. Я объединил всё в одного бота.
👉 @indiemate_bot
Теперь это полноценный конвейер для создания ассетов.
Бот делает всё сам:
1. Генерирует изображение по вашему описанию.
2. Сам удаляет фон (получаете PNG с прозрачностью).
3. Прогоняет картинку через постобработку. На выходе — Pixel Perfect, готовый к импорту в Unity в разных размерах.
🔥 Бонус-фича: Поскольку я контролирую и генерацию тоже, я добавил Inpainting (Режим правки). Сгенерировал персонажа, но забыл меч? Пишешь «дай ему меч в руки», и бот дорисовывает. Нужно ответить на изображение и написать, что добавить (смотри GIF к посту).
Проект находится в ранней бете, поэтому возможны ошибки и падения. Если такое произойдет - пишите мне.
💸 Про условия: Сервера с GPU дорогие, поэтому полная халява невозможна. Сделал символические тарифы (дешевле кофе), чтобы проект не ушел в минус. Оплата пока переводом на Тинькофф (автоматику прикручу позже, сейчас лень). Всё на доверии.
Скидывайте в комментарии, что у вас получилось!
Я сел кодить эту штуку на выходных и понял: а зачем вам бегать между двумя окнами? В одном генерить, в другом чистить... Неудобно.
🧠 Короче, концепция поменялась. Я объединил всё в одного бота.
👉 @indiemate_bot
Теперь это полноценный конвейер для создания ассетов.
Бот делает всё сам:
1. Генерирует изображение по вашему описанию.
2. Сам удаляет фон (получаете PNG с прозрачностью).
3. Прогоняет картинку через постобработку. На выходе — Pixel Perfect, готовый к импорту в Unity в разных размерах.
🔥 Бонус-фича: Поскольку я контролирую и генерацию тоже, я добавил Inpainting (Режим правки). Сгенерировал персонажа, но забыл меч? Пишешь «дай ему меч в руки», и бот дорисовывает. Нужно ответить на изображение и написать, что добавить (смотри GIF к посту).
Проект находится в ранней бете, поэтому возможны ошибки и падения. Если такое произойдет - пишите мне.
💸 Про условия: Сервера с GPU дорогие, поэтому полная халява невозможна. Сделал символические тарифы (дешевле кофе), чтобы проект не ушел в минус. Оплата пока переводом на Тинькофф (автоматику прикручу позже, сейчас лень). Всё на доверии.
Скидывайте в комментарии, что у вас получилось!
🔥17❤🔥3❤1👍1
Обновил бота: теперь вы управляете детализацией
Не спал, докручивал алгоритмы.
Что нового:
1️⃣ Режимы детализации (Low / Mid / High)
Раньше бот сам решал, насколько сложным будет рисунок.
Теперь решаете вы:
• Low: Минимализм, чистый 8-bit, крупные пиксели. Идеально для ретро-игр или массовки.
• Mid: Золотая середина (уровень SNES/Sega).
• High: Высокая детализация, много мелких элементов. Для главных героев и портретов.
Изменить можно в меню бота. По умолчанию
2️⃣ Качество генерации 2.0
Перебрал промпты под капотом. Теперь спрайты выходят чище, сетка ровнее, а мусора меньше — во всех режимах.
🔜 Что дальше?
Начинаю работать над базовыми анимациями (Idle, Run, Attack). Задача сложная, но план уже есть.
👇 Заходите тестить новые режимы:
@indiemate_bot
Не спал, докручивал алгоритмы.
Что нового:
1️⃣ Режимы детализации (Low / Mid / High)
Раньше бот сам решал, насколько сложным будет рисунок.
Теперь решаете вы:
• Low: Минимализм, чистый 8-bit, крупные пиксели. Идеально для ретро-игр или массовки.
• Mid: Золотая середина (уровень SNES/Sega).
• High: Высокая детализация, много мелких элементов. Для главных героев и портретов.
Изменить можно в меню бота. По умолчанию
High. 2️⃣ Качество генерации 2.0
Перебрал промпты под капотом. Теперь спрайты выходят чище, сетка ровнее, а мусора меньше — во всех режимах.
🔜 Что дальше?
Начинаю работать над базовыми анимациями (Idle, Run, Attack). Задача сложная, но план уже есть.
👇 Заходите тестить новые режимы:
@indiemate_bot
🔥45❤6👍3🥰2❤🔥1
Всем привет!
Давно не писал.
В комментариях спрашивают, когда новые видео.
После нового года меня сразу захлестнула работа. Наверное, у вас также. Очень много работы.
Поэтому пока не было времени заниматься созданием видео.
Я продолжаю делать бота, но совсем по чуть-чуть, когда появляется свободная минута. Планирую выкатить первую версию анимаций и улучшить генерацию спрайтов.
Такие дела.
Скоро увидимся 🙋♂️
Давно не писал.
В комментариях спрашивают, когда новые видео.
После нового года меня сразу захлестнула работа. Наверное, у вас также. Очень много работы.
Поэтому пока не было времени заниматься созданием видео.
Я продолжаю делать бота, но совсем по чуть-чуть, когда появляется свободная минута. Планирую выкатить первую версию анимаций и улучшить генерацию спрайтов.
Такие дела.
Скоро увидимся 🙋♂️
🔥36👍2👨💻2❤1😢1
Еле нашел старую аватарку)
Новый год кончился!
Пора претворять в жизнь все обещания, которые давали себе под бой курантов 😁
Новый год кончился!
Пора претворять в жизнь все обещания, которые давали себе под бой курантов 😁
2👍34😁5💯5❤2💩1💅1
Всем привет!
Давно не писал.
Все думал, надо написать что-нибудь... А потом думаю, а что я писать буду, что вообще не занимаюсь каналом?
Когда новые видео будут не знаю. Тяжело это видео такие снимать. На работе завал, наверное, как и у многих из вас. Вот так и получается - в будни работа, вечером тренировка. Если минута найдется, то сидишь свой проект пилишь. В выходные все распланирован, да они и проходят очень быстро.
Но, я надеюсь, что у вас все хорошо, и вы в меру своих сил делаете игру своей мечты или может пока отдыхаете от разработки.
В любом случае, желаю вам удачи. Пока могу только так помочь вам, добрым словом 😉
Давно не писал.
Все думал, надо написать что-нибудь... А потом думаю, а что я писать буду, что вообще не занимаюсь каналом?
Когда новые видео будут не знаю. Тяжело это видео такие снимать. На работе завал, наверное, как и у многих из вас. Вот так и получается - в будни работа, вечером тренировка. Если минута найдется, то сидишь свой проект пилишь. В выходные все распланирован, да они и проходят очень быстро.
Но, я надеюсь, что у вас все хорошо, и вы в меру своих сил делаете игру своей мечты или может пока отдыхаете от разработки.
В любом случае, желаю вам удачи. Пока могу только так помочь вам, добрым словом 😉
👍75❤45🕊5👏2❤🔥1🔥1🤝1
#промо
⚡️ГЕЙМДЕВ В 2026. АРХИТЕКТУРА ИГР, ПОИСК РАБОТЫ, СВОИ ПРОЕКТЫ ⚡️
Всем привет! Давно не виделись!) Я - Илья Яковлев, разработчик игр со стажем 7+ лет, веду проекты в студии и обучаю Unity-разработчиков) Возможно многие из вас видели мои ролики на ютубе:) И сегодня я хочу пригласить вас на открытый вебинар!
🔜 Когда?
17, 18 и 19 марта, в 19:00 по МСК на прямой трансляции (вебинар пройдет в 3 дня - полезной инфы будет очень много)
🖥 Как попасть?
Для регистрации на вебинар нужно просто перейти к боту ТЫКНУВ СЮДА и нажать кнопочку "зарегистрироваться". Ссылка на трансляцию автоматически придет в день вебинара
👀 Что будет?
Впереди нас ждет 3 дня инструкций, разборов, практических примеров, следуя которым ты поймешь:
👉 Почему разработка игр становится сложнее и как не отставать от этого поезда
👉 Что не дает выйти на уровень выше, чем создание гиперказуальных/одноразовых игр
👉 Основу архитектуры игр. То, что должен знать каждый разработчик
👉 Из каких главных модулей состоит любая игра
👉 Как происходит поиск работы. Важность резюме и проектов
👉 Почему кажется, что ты много всего знаешь, но твои проекты/решения тестовых заданий не проходят собесы
👉 Как разрабатывать игры самому и развиваться в этом направлении. Площадки и гиблые пути
👉 Основные ментальные ошибки, которые стопорят вас на пути к становлению разработчику
Это далеко не все, чего мы коснемся.
Я хочу осветить множество важных моментов геймдева на сегодняшний день, необходимых для становления разработчиком игр, разработки своих проектов и поиска работы в этой области. В том числе я поделюсь кейсами из наших проектов, чтобы на РЕАЛЬНЫХ примерах вы могли понимать в какую сторону стоит двигаться и каких ошибок можно избежать (получится своего рода инструкция по миру разработки игр)
😇 Ну и конечно же, по традиции будут подарки:
👉 Ссылки на все озвученные в ходе вебинаров обучающие материалы
👉 Ссылка на дорожную карту нашего вебинара
👉 Розыгрыш нескольких личных консультаций
Буду всех ждать🥰
#текстприслан
⚡️ГЕЙМДЕВ В 2026. АРХИТЕКТУРА ИГР, ПОИСК РАБОТЫ, СВОИ ПРОЕКТЫ ⚡️
Всем привет! Давно не виделись!) Я - Илья Яковлев, разработчик игр со стажем 7+ лет, веду проекты в студии и обучаю Unity-разработчиков) Возможно многие из вас видели мои ролики на ютубе:) И сегодня я хочу пригласить вас на открытый вебинар!
🔜 Когда?
17, 18 и 19 марта, в 19:00 по МСК на прямой трансляции (вебинар пройдет в 3 дня - полезной инфы будет очень много)
🖥 Как попасть?
Для регистрации на вебинар нужно просто перейти к боту ТЫКНУВ СЮДА и нажать кнопочку "зарегистрироваться". Ссылка на трансляцию автоматически придет в день вебинара
👀 Что будет?
Впереди нас ждет 3 дня инструкций, разборов, практических примеров, следуя которым ты поймешь:
👉 Почему разработка игр становится сложнее и как не отставать от этого поезда
👉 Что не дает выйти на уровень выше, чем создание гиперказуальных/одноразовых игр
👉 Основу архитектуры игр. То, что должен знать каждый разработчик
👉 Из каких главных модулей состоит любая игра
👉 Как происходит поиск работы. Важность резюме и проектов
👉 Почему кажется, что ты много всего знаешь, но твои проекты/решения тестовых заданий не проходят собесы
👉 Как разрабатывать игры самому и развиваться в этом направлении. Площадки и гиблые пути
👉 Основные ментальные ошибки, которые стопорят вас на пути к становлению разработчику
Это далеко не все, чего мы коснемся.
Я хочу осветить множество важных моментов геймдева на сегодняшний день, необходимых для становления разработчиком игр, разработки своих проектов и поиска работы в этой области. В том числе я поделюсь кейсами из наших проектов, чтобы на РЕАЛЬНЫХ примерах вы могли понимать в какую сторону стоит двигаться и каких ошибок можно избежать (получится своего рода инструкция по миру разработки игр)
😇 Ну и конечно же, по традиции будут подарки:
👉 Ссылки на все озвученные в ходе вебинаров обучающие материалы
👉 Ссылка на дорожную карту нашего вебинара
👉 Розыгрыш нескольких личных консультаций
Буду всех ждать🥰
#текстприслан
👍15❤7
Всем привет!
У меня на работе есть необходимость регулярно говорить на английском на созвонах с коллегами. Я учу его уже много лет, но понимаю, что без постоянной практики прогресс идёт медленно.
Хожу на занятия раз в неделю, но этого недостаточно. В какой-то момент не нашёл подходящий инструмент и сделал свой — под себя. Почему бы и нет 🙂
Сейчас постепенно улучшаю его в процессе использования.
В нём можно:
- добавлять слова и фразы в личный словарь
- тренировать их через упражнения разной сложности
- отслеживать прогресс
- сохранять проблемные предложения и прорабатывать их отдельно
Всё работает на нейросетях.
Если есть желание попробовать — напишите в личку. Дам доступ нескольким людям.
🎈НА ДАННЫЙ МОМЕНТ МЕСТА ЗАКОНЧИЛИСЬ.
Это бесплатно (будете сжигать мои токены 😄)
@ddpotapov
У меня на работе есть необходимость регулярно говорить на английском на созвонах с коллегами. Я учу его уже много лет, но понимаю, что без постоянной практики прогресс идёт медленно.
Хожу на занятия раз в неделю, но этого недостаточно. В какой-то момент не нашёл подходящий инструмент и сделал свой — под себя. Почему бы и нет 🙂
Сейчас постепенно улучшаю его в процессе использования.
В нём можно:
- добавлять слова и фразы в личный словарь
- тренировать их через упражнения разной сложности
- отслеживать прогресс
- сохранять проблемные предложения и прорабатывать их отдельно
Всё работает на нейросетях.
Если есть желание попробовать — напишите в личку. Дам доступ нескольким людям.
🎈НА ДАННЫЙ МОМЕНТ МЕСТА ЗАКОНЧИЛИСЬ.
Это бесплатно (будете сжигать мои токены 😄)
@ddpotapov
❤28👍10🤬1
