Please open Telegram to view this post
VIEW IN TELEGRAM
❤12🔥3😱2
⚡️ Unity: шпаргалка по Tilemap
Сохрани, чтобы быстро настроить сетку для уровня и не вспоминать долгие туториалы.
1️⃣ Быстрый старт
🔸 Создай Grid GameObject (GameObject → 2D Object → Tilemap)
🔸 Добавь компонент Tilemap Renderer к дочернему объекту.
🔸 Создай палитру (Window → 2D → Tile Palette) и перетащи туда свои спрайты.
💡 Совет: настрой Grid у основного объекта на Cell Size (1, 1, 0) для пиксель-перфекта.
2️⃣ Типы кистей (Brushes) — главный инструмент
🎨 Regular Brush — стандартная кисть для ручной расстановки тайлов.
🎨 Random Brush — рандомно расставляет тайлы из выбранного набора. Идеально для природных объектов!
🎨 GameObject Brush — размещает не спрайты, а целые GameObject-ы (например, камни с коллайдерами).
💡 Чтобы использовать: в Tile Palette выбери Brush и создай Tile Asset (перетащи спрайт в палитру).
3️⃣ Rule Tile — магия автоматизации
Автоматически выбирает нужный тайл исходя из соседей.
🔸 Установи пакет "2D Tilemap Extras" через Package Manager.
🔸 Создай Rule Tile (Create → 2D → Tiles → Rule Tile).
🔸 Настрой правила для каждого соседа (например, тайл травы сверху, земли снизу).
💡 Идеально для быстрого построения земли, стен, дорог.
4️⃣ Коллайдеры на тайлах
🔸 Добавь компонент Tilemap Collider 2D к объекту Tilemap.
🔸 Для оптимизации отметь Used By Composite и добавь Composite Collider 2D на родительский Grid.
💡 Автоматически создаст единый коллайдер для всех тайлов!
5️⃣ Анимация через Animated Tile
Создай анимированную поверхность (вода, лава).
🔸 Создай Animated Tile (Create → 2D → Tiles → Animated Tile).
🔸 Перетащи в него кадры анимации и настрой Speed (частота кадров).
🔸 Рисуй как обычным тайлом — анимация запустится автоматически.
✅ Теперь ты сможешь собрать уровень за минуты, а не часы.
📌 Сохрани шпаргалку!
💬 Часто используешь Tilemap? Делись опытом в комментариях!
🔔 Подпишись — ещё больше гайдов по Unity ждут тебя.
👉Akrus Games | Unity
Сохрани, чтобы быстро настроить сетку для уровня и не вспоминать долгие туториалы.
1️⃣ Быстрый старт
🔸 Создай Grid GameObject (GameObject → 2D Object → Tilemap)
🔸 Добавь компонент Tilemap Renderer к дочернему объекту.
🔸 Создай палитру (Window → 2D → Tile Palette) и перетащи туда свои спрайты.
💡 Совет: настрой Grid у основного объекта на Cell Size (1, 1, 0) для пиксель-перфекта.
2️⃣ Типы кистей (Brushes) — главный инструмент
🎨 Regular Brush — стандартная кисть для ручной расстановки тайлов.
🎨 Random Brush — рандомно расставляет тайлы из выбранного набора. Идеально для природных объектов!
🎨 GameObject Brush — размещает не спрайты, а целые GameObject-ы (например, камни с коллайдерами).
💡 Чтобы использовать: в Tile Palette выбери Brush и создай Tile Asset (перетащи спрайт в палитру).
3️⃣ Rule Tile — магия автоматизации
Автоматически выбирает нужный тайл исходя из соседей.
🔸 Установи пакет "2D Tilemap Extras" через Package Manager.
🔸 Создай Rule Tile (Create → 2D → Tiles → Rule Tile).
🔸 Настрой правила для каждого соседа (например, тайл травы сверху, земли снизу).
💡 Идеально для быстрого построения земли, стен, дорог.
4️⃣ Коллайдеры на тайлах
🔸 Добавь компонент Tilemap Collider 2D к объекту Tilemap.
🔸 Для оптимизации отметь Used By Composite и добавь Composite Collider 2D на родительский Grid.
💡 Автоматически создаст единый коллайдер для всех тайлов!
5️⃣ Анимация через Animated Tile
Создай анимированную поверхность (вода, лава).
🔸 Создай Animated Tile (Create → 2D → Tiles → Animated Tile).
🔸 Перетащи в него кадры анимации и настрой Speed (частота кадров).
🔸 Рисуй как обычным тайлом — анимация запустится автоматически.
✅ Теперь ты сможешь собрать уровень за минуты, а не часы.
📌 Сохрани шпаргалку!
💬 Часто используешь Tilemap? Делись опытом в комментариях!
🔔 Подпишись — ещё больше гайдов по Unity ждут тебя.
👉Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8❤4😱3 1
⚡️ Unity: шпаргалка по Rigidbody для новичков
Rigidbody — это физическое тело твоего объекта. Без него объект просто «виснет» в воздухе. Сохраняй, чтобы не упустить основы!
1️⃣ Добавление силы (AddForce)
• Толкает объект в указанном направлении.
• Режимы силы:
2️⃣ Прыжок через Velocity
• Мгновенно задаёт скорость. Идеально для прыжка!
• Не зависит от массы объекта.
3️⃣ Ограничение движения (Freeze Rotation/Position)
• Замораживает ненужные оси в Rigidbody компоненте
• Предотвращает неконтролируемые падения и кувырки
4️⃣ Определение земли (IsGrounded)
• Лучший способ проверить, стоит ли объект на земле
5️⃣ Включение/выключение физики (isKinematic)
• isKinematic = true — объект не подвержен физике, но двигает другие объекты
• Используй для движущихся платформ или дверей
💥 Главное правило: Не изменяй позицию через transform.position если у объекта есть Rigidbody! Используй rb.MovePosition.
✅ Этих основ хватит для управления персонажем, создания пуль и простых физических взаимодействий.
💬 С какими проблемами с физикой сталкивался ты?
🔔 Подпишись — впереди шпаргалка по Colliders и триггерам!
👉Akrus Games | Unity
Rigidbody — это физическое тело твоего объекта. Без него объект просто «виснет» в воздухе. Сохраняй, чтобы не упустить основы!
1️⃣ Добавление силы (AddForce)
• Толкает объект в указанном направлении.
• Режимы силы:
ForceMode.Force — плавное ускорение (как толкать машину)ForceMode.Impulse — мгновенный толчок (как выстрел)// Выстреливает объект вперёд
rb.AddForce(transform.forward * 10f, ForceMode.Impulse);
2️⃣ Прыжок через Velocity
• Мгновенно задаёт скорость. Идеально для прыжка!
• Не зависит от массы объекта.
// Прыжок вверх
rb.velocity = new Vector3(rb.velocity.x, 10f, rb.velocity.z);
3️⃣ Ограничение движения (Freeze Rotation/Position)
• Замораживает ненужные оси в Rigidbody компоненте
• Предотвращает неконтролируемые падения и кувырки
4️⃣ Определение земли (IsGrounded)
• Лучший способ проверить, стоит ли объект на земле
bool IsGrounded() {
return Physics.Raycast(transform.position, Vector3.down, 1.1f);
}5️⃣ Включение/выключение физики (isKinematic)
• isKinematic = true — объект не подвержен физике, но двигает другие объекты
• Используй для движущихся платформ или дверей
💥 Главное правило: Не изменяй позицию через transform.position если у объекта есть Rigidbody! Используй rb.MovePosition.
✅ Этих основ хватит для управления персонажем, создания пуль и простых физических взаимодействий.
💬 С какими проблемами с физикой сталкивался ты?
🔔 Подпишись — впереди шпаргалка по Colliders и триггерам!
👉Akrus Games | Unity
❤7😱2 2 1 1
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Unity: как оптимизировать код. Советы для профи
Сохрани — эти правила спасут твой проект от лагов и помогут выжать максимум FPS. Не теория, а то, что используют в реальных проектах.
1️⃣ Избегай строковых операций в циклах — невидимый убийца производительности
❌ Плохо:
✅ Правильно:
💡 Сравнение по тегу через CompareTag в 2-3 раза быстрее. Хеширование параметров аниматора исключает дорогостоящие поиски по строке каждый кадр.
2️⃣ Пулинг объектов — создавай объекты заранее
❌ Плохо: Instantiate() при появлении пули.
✅ Правильно: создай массив пуль при старте и переиспользуй их.
💡 Для всего, что появляется часто (пули, враги, эффекты), пулинг — must have. Никакого мусора для GC.
3️⃣ Избегай лишних вызовов в Update()
Вместо проверки каждого кадра:
Используй корутины или InvokeRepeating:
💡 Счетчик раз в секунду вместо 60 раз в секунду — вот оно, спасение CPU.
🔥 Особенно хеширование параметров аниматора — это профессиональный прием, который сразу показывает уровень разработчика.
💬 А ты хешируешь параметры аниматора или все еще используешь строки?
🔔 Подпишись — скоро разберем продвинутые методы: Job System, Burst Compiler и бенчмаркинг.
👉Akrus Games | Unity
Сохрани — эти правила спасут твой проект от лагов и помогут выжать максимум FPS. Не теория, а то, что используют в реальных проектах.
1️⃣ Избегай строковых операций в циклах — невидимый убийца производительности
❌ Плохо:
void Update() {
if (gameObject.tag == "Player") { }
animator.SetTrigger("Attack");
}✅ Правильно:
private static readonly int AttackHash = Animator.StringToHash("Attack");
void Update() {
if (gameObject.CompareTag("Player")) { }
animator.SetTrigger(AttackHash);
}💡 Сравнение по тегу через CompareTag в 2-3 раза быстрее. Хеширование параметров аниматора исключает дорогостоящие поиски по строке каждый кадр.
2️⃣ Пулинг объектов — создавай объекты заранее
❌ Плохо: Instantiate() при появлении пули.
✅ Правильно: создай массив пуль при старте и переиспользуй их.
List<GameObject> _bulletPool = new List<GameObject>();
💡 Для всего, что появляется часто (пули, враги, эффекты), пулинг — must have. Никакого мусора для GC.
3️⃣ Избегай лишних вызовов в Update()
Вместо проверки каждого кадра:
void Update()
{
if (condition) DoSomething();
}
Используй корутины или InvokeRepeating:
IEnumerator CheckWithDelay() {
while (true) {
yield return new WaitForSeconds(1f);
if (condition) DoSomething();
}
}💡 Счетчик раз в секунду вместо 60 раз в секунду — вот оно, спасение CPU.
🔥 Особенно хеширование параметров аниматора — это профессиональный прием, который сразу показывает уровень разработчика.
💬 А ты хешируешь параметры аниматора или все еще используешь строки?
🔔 Подпишись — скоро разберем продвинутые методы: Job System, Burst Compiler и бенчмаркинг.
👉Akrus Games | Unity
🔥10❤6 3 1
Так, маи чуваки. Мои запасы мемов кончаются.
Поэтому пришлите свои мемы в комменты!!!🎉 🎉 🎉
@kittysharky жги 🎧
Поэтому пришлите свои мемы в комменты!!!
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7❤2😱2
Игра подписчика @ZARKI01
The Unknown Parameter / Неизвестный Параметр
Жанр: Atmospheric survival-horror от первого лица.
Сеттинг: Луна. Вы космонавт, отправленный на поиски пропавшей научной экспедиции.
Что ждёт внутри: Найти можно лишь их трупы... и «это», что за ними охотилось. Забрать образцы и бежать к кораблю под аккомпанемент панических сообщений с луны. Атмосфера одиночества, паники и безысходности в духе классических космических ужасов.
Движок: Unity
Пишу на C#, активно учусь и прототипирую. В планах небольшой, но концентрированный и пугающий опыт.
Следите за развитием! Буду делиться скриншотами, гифками и болью геймдева.
Этот проект я буду делать постепенно, так как ещё пока осваиваю Юнити, и поэтому разработка может длиться от нескольких месяцев.
Тгк - https://t.me/minikraft2010fnaf
#геймдев #индиразработка #хоррор #unity #godotengine #indiegames #indiedev
🔥4❤3😱1
Сколько вы заработали на геймдеве за этот месяц?🤔
Anonymous Poll
72%
0 руб 💧
8%
от 100 до 500 руб 🤟
2%
от 500 до 2000 руб🎧
18%
больше 2000 руб 💰
❤6 3🔥2
⚡️ Unity: шпаргалка по библиотекам в C#
Сохрани эту шпаргалку! Библиотеки — это как суперспособности для твоего кода. Не пиши велосипеды, используй готовые и проверенные решения.
1️⃣ LINQ (Language Integrated Query)
🎯 Для чего: Упрощает работу с коллекциями (массивы, списки). Фильтрация, сортировка, поиск — в одну строку.
💡 Простой пример:
📌
2️⃣ Newtonsoft.Json (JSON.NET)
🎯 Для чего: Самый популярный инструмент для работы с JSON. Сохранение данных настроек, загрузка конфигов с сервера.
💡 Простой пример:
📌 Ставь через Package Manager (NuGet) или из Asset Store.
✅ Итог: Освой LINQ — будешь быстро управлять данными. Подключи Newtonsoft.Json — легко работать с сохранениями и API.
📌 Сохрани, чтобы не забыть синтаксис!
💬 Какие библиотеки используешь ты? Делись в комментариях!
🔔 Подпишись — каждый день полезности по C# и Unity!
👉Akrus Games | Unity
Сохрани эту шпаргалку! Библиотеки — это как суперспособности для твоего кода. Не пиши велосипеды, используй готовые и проверенные решения.
1️⃣ LINQ (Language Integrated Query)
🎯 Для чего: Упрощает работу с коллекциями (массивы, списки). Фильтрация, сортировка, поиск — в одну строку.
💡 Простой пример:
// Найти всех врагов с здоровьем > 50
var strongEnemies = enemiesList.Where(e => e.health > 50);
// Получить список только имён
var names = enemiesList.Select(e => e.name);
📌
using System.Linq; — не забудь эту директиву!2️⃣ Newtonsoft.Json (JSON.NET)
🎯 Для чего: Самый популярный инструмент для работы с JSON. Сохранение данных настроек, загрузка конфигов с сервера.
💡 Простой пример:
// Сериализация объекта в JSON-строку
string json = JsonConvert.SerializeObject(playerData);
// Обратно из строки в объект
PlayerData loadedData = JsonConvert.DeserializeObject<PlayerData>(json);
📌 Ставь через Package Manager (NuGet) или из Asset Store.
✅ Итог: Освой LINQ — будешь быстро управлять данными. Подключи Newtonsoft.Json — легко работать с сохранениями и API.
📌 Сохрани, чтобы не забыть синтаксис!
💬 Какие библиотеки используешь ты? Делись в комментариях!
🔔 Подпишись — каждый день полезности по C# и Unity!
👉Akrus Games | Unity
❤8🔥5🎄2 1
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡️ Unity: шпаргалка по Collider
Сохрани, чтобы быстро освежить, какой коллайдер и когда использовать. Без воды — только суть.
1️⃣ Примитивные коллайдеры (Box, Sphere, Capsule)
🎯 Идеально для 90% объектов!
• Box Collider — стены, ящики, платформы.
• Sphere Collider — шары, камни, предметы.
• Capsule Collider — персонажи, вертикальные объекты.
💡 Совет: Ставь
2️⃣ Mesh Collider vs Primitive
• Mesh Collider — точное повторение сложной 3D-модели. Тяжелый! Используй только для статичных объектов (например, скала сложной формы).
• Primitive Collider — легкий, быстрый. Всегда выбирай его для движущихся объектов.
📌 Важно: В Mesh Collider галочка
3️⃣ 2D коллайдеры (Box Collider 2D, Circle Collider 2D)
• Работают только с другими 2D коллайдерами!
• Нужен Rigidbody 2D для физики.
• Для триггера используй
💡 Запомни: 2D и 3D коллайдеры никогда не взаимодействуют.
4️⃣ Важные настройки
• Material — определяет физические свойства (трение, упругость).
• Is Trigger — объект пропускает другие объекты, но генерирует события
• Rigidbody — без него объект будет статичным и не будет реагировать на физическое воздействие.
🔥 Главное правило: Используй самые простые коллайдеры, которые достаточно точно описывают форму объекта. Производительность скажет спасибо!
📌 Сохрани шпаргалку!
💬 Чаще всего используешь Box или Sphere?
👉Akrus Games | Unity
Сохрани, чтобы быстро освежить, какой коллайдер и когда использовать. Без воды — только суть.
1️⃣ Примитивные коллайдеры (Box, Sphere, Capsule)
🎯 Идеально для 90% объектов!
• Box Collider — стены, ящики, платформы.
• Sphere Collider — шары, камни, предметы.
• Capsule Collider — персонажи, вертикальные объекты.
💡 Совет: Ставь
Is Trigger = true, если объект должен быть сквозным (монетки, зона диалога).2️⃣ Mesh Collider vs Primitive
• Mesh Collider — точное повторение сложной 3D-модели. Тяжелый! Используй только для статичных объектов (например, скала сложной формы).
• Primitive Collider — легкий, быстрый. Всегда выбирай его для движущихся объектов.
📌 Важно: В Mesh Collider галочка
Convex позволяет сталкиваться с другими Mesh Collider.3️⃣ 2D коллайдеры (Box Collider 2D, Circle Collider 2D)
• Работают только с другими 2D коллайдерами!
• Нужен Rigidbody 2D для физики.
• Для триггера используй
Is Trigger.💡 Запомни: 2D и 3D коллайдеры никогда не взаимодействуют.
4️⃣ Важные настройки
• Material — определяет физические свойства (трение, упругость).
• Is Trigger — объект пропускает другие объекты, но генерирует события
OnTriggerEnter.• Rigidbody — без него объект будет статичным и не будет реагировать на физическое воздействие.
🔥 Главное правило: Используй самые простые коллайдеры, которые достаточно точно описывают форму объекта. Производительность скажет спасибо!
📌 Сохрани шпаргалку!
💬 Чаще всего используешь Box или Sphere?
👉Akrus Games | Unity
🔥13❤4🎄3 1
⚡️ Unity: шпаргалка по чистому коду
Сохраняй себе — эти правила сделают твой код читаемым, поддерживаемым и профессиональным.
📝 Именование — это всё
•
•
•
• Не используй сокращения:
🎯 Принцип единственной ответственности (SRP)
Один класс = одна задача.
🚫 Избегай магических чисел
Вместо
🔌 Используй [SerializeField] и приватные поля
Так ты скрываешь логику, но оставляешь настройку в Инспекторе.
⚡️ Быстрая инициализация через [SerializeField]
Забудь про
🔄 Кэшируй частые вызовы
Вместо
🎮 События (Events) — для связи между скриптами
Система событий делает код независимым.
💎 Краткость = профессионализм
Читаемый код > умный код.
💬 Какой главный принцип чистого кода используешь ты?
🔔 Подпишись — больше шпаргалок по C# и Unity уже скоро!
👉Akrus Games | Unity
Сохраняй себе — эти правила сделают твой код читаемым, поддерживаемым и профессиональным.
📝 Именование — это всё
•
Классы, Методы — с большой буквы: PlayerMovement, CalculateDamage()•
переменные, поля — с маленькой буквы: health, isGrounded•
CONSTANTS — через подчёркивание: MAX_SPEED• Не используй сокращения:
spd ❌, speed ✅🎯 Принцип единственной ответственности (SRP)
Один класс = одна задача.
PlayerInput → читает ввод.PlayerMovement → двигает.PlayerHealth → отвечает за здоровье.🚫 Избегай магических чисел
Вместо
if (distance < 10) пиши:private float _attackRange = 10f;if (distance < _attackRange)🔌 Используй [SerializeField] и приватные поля
[SerializeField] private float _jumpForce;
Так ты скрываешь логику, но оставляешь настройку в Инспекторе.
⚡️ Быстрая инициализация через [SerializeField]
Забудь про
public GameObject bullet; и ручное перетаскивание. Помечай поле как [SerializeField] private GameObject _bulletPrefab; и назначай префаб прямо в инспекторе. Это безопаснее и быстрее.🔄 Кэшируй частые вызовы
Вместо
GetComponent<>() в Update:private Rigidbody _rb;
void Start() { _rb = GetComponent<Rigidbody>(); }
🎮 События (Events) — для связи между скриптами
Система событий делает код независимым.
public static event System.Action OnPlayerDeath;
// Где-то в другом скрипте:
GameManager.OnPlayerDeath += HandlePlayerDeath;
💎 Краткость = профессионализм
Читаемый код > умный код.
💬 Какой главный принцип чистого кода используешь ты?
🔔 Подпишись — больше шпаргалок по C# и Unity уже скоро!
👉Akrus Games | Unity
❤10🔥6🎄3 1
@mncrzz_dev написал свой собственный движок на C#.
Первый релиз был сегодня. Даже на раннем этапе реализовано несколько функций стандартных движков. Все работает быстро и четко.
Я считаю в будущем это будет достойная замена.
Как скачать:
загрузить этот файл. это сдк C#
Скачать следующий файл.
Канал разработчика @breadlabs_dev
Первый релиз был сегодня. Даже на раннем этапе реализовано несколько функций стандартных движков. Все работает быстро и четко.
Что реализовано:
1. Создание 3д кубов
2. Передвижение объектов
3. Настройка размера, цвета, позиции через инспектор(там он называется Info)
4. Иерархия, что-то вроде консоли и инспектор.
Я считаю в будущем это будет достойная замена.
Как скачать:
загрузить этот файл. это сдк C#
Скачать следующий файл.
Канал разработчика @breadlabs_dev
🔥7😁4❤3 2🎄1
О, нашел прикольный сайт.
Превращает текст в рукописный.
Думаю будет полезно если в свою локацию в игре захотите добавить записку или письмо.
👉 Забираем здесь
Советую НЕ включать впн, когда заходите на сайт👍
Люди, которые делают домашку с гпт, вы знаете что делать 😏
Превращает текст в рукописный.
Думаю будет полезно если в свою локацию в игре захотите добавить записку или письмо.
👉 Забираем здесь
Советую НЕ включать впн, когда заходите на сайт
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥10❤2😱2