🎮 TinyGames
2.09K subscribers
90 photos
10 videos
15 files
58 links
🎮 Учим Unity с нуля: просто о сложном. Пишем первый код и создаем миры вместе.

💬 Чат - https://t.me/tinygameschat

🧑‍💻 Вопросы и предложения @ddpotapov
Download Telegram
Помните, я говорил, что у меня была тяжёлая неделя? Так вот эта была такая же загруженная.

Но я уже давно хотел записать новое видео и сегодня нашел время сделать это ☺️

Так что если вечером успею домонтировать, то выложу новое видео.
28❤‍🔥3👍3
Чем я только ни занимался, лишь бы не выпускать новое видео по top down игре 😀

Но вот я исправляюсь 💪

🚀 Новое видео на канале!

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

👉 YouTube

👉 VK

Приятного просмотра друзья!
🔥417👍3
Ибо нефиг в глаза долбиться!
🤣68👏5😁5
На работе продолжается жара. Непонятно, сколько это ещё продлится, надеюсь следующая неделя и все. Соскучился уже по записи новых виде, да и сам юнити давно не открывал.

У нас выпал снег, я радуюсь, как в детстве)

А вы что больше любите: зиму или лето?
409🎄3🔥2👨‍💻2
Йоу! Делюсь последними новостями.

В итоге мы успешно запустили проект на работе, но там ещё делать и делать)

Я же хочу курс запилить по Unity и сейчас доделываю игру для курса. Это будет игра про гонки 🏎. В принципе, осталось немного. Потом только сами видео записать.

Также готовлю следующее видео для канала.

Скоро все будет, так что не теряйте!
135👍10🔥9
Как дела разработчики игр?)

Я записал новое видео, осталось только смонтировать и залить 😊

И наша команда сделала видео того, чем я занимаюсь на работе. Вдруг вам будет интересно)
https://youtu.be/LJUBn9u4SZU?si=30AOQsHv4uUeknHo
🔥18👍82
🚀 Новое видео на канале!

В этом видео мы закончим создание уровня и рассмотрим, что такое Prefab Variant и как его использовать.

👉 YouTube

👉 VK

Приятного просмотра друзья!
🔥287👍4
5🕊1
Сегодня каналу TinyGames 2 года 🎉

Столько всего было за эти 2 года. Я останавливал ведение канала почти на 1 год, потому что считал, что ведение ютуба - это не мое. Но со временем я понял, что вы даете силу мне, а у меня получается хорошо объяснять и мотивировать вас.
Я и сейчас продолжаю работать над качеством подачи и самого материала.

Ваши успехи, первые шаги, маленькие и большие победы - это лучшая награда для меня.

Спасибо за то, что вы со мной!
И вперед вместе к новым победам!
463🎉25🔥9👍42🐳1
Вчера в нашем чате опять затрагивался вопрос создания спрайтов для своей игры и какая это боль, если не умеешь рисовать.
У меня была мысль сделать бота, который бы брал сгенерированное изображение и переделывал его в тру пиксельную графику.

В чем идея?

1. Вы генерируете нужный спрайт в каком-нибудь генераторе изображений (в sora или qwen).
2. Закидываете его в бота. Выбираете нужный размер на выходе (128х128, 256х256, 512х512) и ждете.
3. Бот удаляет фон, делает настоящие пиксели и приводит к нужному размеру (на приложенном изображении видно, как это будет работать).

Я даже готов немного разориться и развернуть это все бесплатно, но главный вопрос - нужно ли это вам? Может вы нашли другие способы делать это или вообще нет такой потребности.

Накидайте реакций и комментов, чтобы я понял надо это или нет и я закодю это дело, если необходимо.
3👍8119❤‍🔥12🔥5🤔1💩1😇1🎄1
По результатам опроса вижу, что большинство сидит на Visual Studio. Подозреваю, это просто потому, что Unity «впаривает» её при установке по умолчанию 😅

Я сам плотно перешел на VS Code и недавно откопал несколько расширений, которые реально меняют опыт разработки и делают ее куда приятнее.

Есть мысль сделать гайд по правильной настройке VS Code под Unity + обзор этих плагинов.

👇 Как лучше поступить?
✍️Пиши статью, видео лень смотреть
🐳 Запиши видео, хочу видеть, как это работает
🤩 Не, Visual Studio (или Rider) ван лав
Please open Telegram to view this post
VIEW IN TELEGRAM
1🐳13415🤩103🔥1
Так, ну вы накидали немыслимое количество китов, значит видеу быть!
В ближайшее время залью (реально в ближайшее 😁)
🐳2322👍3😁2
Мужик сказал - мужик сделал! 💪


🚀 Новое видео на канале!

Видео про VS Code. Как установить, настроить и обзор прикольных расширений.

👉 YouTube

👉 VK

Приятного просмотра друзья! 👍

P.S. Обложку сгенерировал в nano banana pro буквально со второй попытки. Я в шоке от того, как быстро они прокачиваются.
134👍164❤‍🔥1👨‍💻1
Вы знаете, что я арендую студию для записи видео?
С профессиональным оборудованием и освещением 🧐

На фото как раз она.
1😁5231🔥11👍5🥰2🍓1
Channel photo updated
🚀 Новое видео на канале!

В этом видео мы создадим полноценный контроллер персонажа для Top-Down игры на Unity!
Вы узнаете, как реализовать движение в 8 направлениях (включая диагонали) и оживить героя с помощью Blend Tree анимаций.

Это первое видео из небольшой серии. В следующих видео мы подключим новую систему управления и сделаем управление через джойстик на экране для мобильных игр.

👉 YouTube

👉 VK

Приятного просмотра друзья! 👍
55👍8🔥5
Немного оффтопик.
Ну мой канал, могу и туалетную тему осветить 🚽

Первый успешный опыт применения нейросетей в быту!

В общем, у нас частенько отключают воду и обычно после этого начинает течь унитаз, просто перестает держать воду. Раньше это решалось парочкой мощных смывов, но не в этот раз.

Сразу надо сказать, что я очень далек от сантехники и от электричества тоже. Что-то знаю, но очень поверхностно.

У меня инсталляция и бачок внутри стены, из доступа только маленькое окошко.
Вот я снял эту крышку, там какие-то шланги, рычажки. Хз, что делать.
Ну думаю, пусть Gemini разбирается. Описал ему проблему, скинул фотку. И он по фотке мне все разложил - поверни синий рычажок, та хрень слева это заливной клапан, достань его и промой.
В общем, шаг за шагом я все сделал, промыл, собрал обратно - все работает.
Спасибо искусственному интеллекту!

Очень горд собой!
Мужиииик в доме! 💪💪💪
2🔥75😁18🤪9🤣31👍1
Пост про унитаз набрал больше реакций, чем пост про новое видео. Кажется, я не про то снимаю видео...
1😁65🤣24😭3🔥2🤯2❤‍🔥1💯1
🚀 Новое видео на канале!

Продолжаем наш мини-гайд по top-down движению.
В этом видео мы добавим эффект пыли и поворот в сторону движения при остановке.

👉 YouTube

👉 VK

Приятного просмотра друзья! 👍
1🔥459👍7🐳1
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🔥839👌8🤯3👍1🥱1
Как у вас конец года? Держитесь? 😬
🔥27👌11😢4👻32👍1💩1🍌1💋1