Akrus Games | Unity
2.95K subscribers
408 photos
89 videos
11 files
351 links
Самые годные лайфхаки по unity c#

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Хочешь дозу отборных мемов?
Тогда тебе к нам!
92
Не убивайте меня после трех реклам😠😠😠😠
я тоже кушать хочу
Please open Telegram to view this post
VIEW IN TELEGRAM
😁15522
⚙️ Unity: настройки камеры — 2 ключевых параметра, которые ты обязан знать

Сохрани, чтобы твоя камера всегда работала как надо — и в 2D, и в 3D!

1️⃣ Field of View (FOV) — твой главный инструмент глубины

📌 Что это: Угол обзора камеры в градусах.
60° — стандарт, похоже на человеческое зрение
90°+ — экшн-кадр, видно больше вокруг (отлично для шутеров)
30°- — телеобъектив, акцент на детали

💡 Совет: В 3D увеличивай FOV, когда нужна скорость и динамика. В 2D-платформере уменьшай для кинематографичного кадра.

2️⃣ Projection: Orthographic vs Perspective

🎯 Perspective (Перспектива)
• Объекты уменьшаются с расстоянием — как в реальной жизни
• Идеально для 3D-игр, гонок, RPG
• Настрой глубину через Clipping Planes → Far меньше 1000, если не нужны далёкие объекты

🎯 Orthographic (Ортографическая)
• Нет перспективы, размер объектов не меняется
• Must have для 2D-игр, пиксель-арта, интерфейсов, изометрических игр
• Размер сцены контролируй через Size

💡 Лайфхак: В ортографической камере Size = половина высоты экрана в юнитах. Для пиксель-перфекта выставляй Size = (высота экрана в пикселях) / (2 * Pixels Per Unit)

Всего два параметра — а результат: кадр, который не режет глаза и работает как задумано.

💬 А ты используешь ортографию или перспективу в своих проектах?
🔔 Подпишись — впереди разбор Cinemachine и скриптов для камеры.

👉Akrus Games | Unity
8🔥52🎄11
🤚

Доброе утро.
Желаю всем продуктивного дня!🎼
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥4311
Stack Overflow не умер, он делает мощный камбэк

Да, наш любимый Stack Overflow снова в игре. Они запустили Stack Overflow AI

На первый взгляд это может напоминать ChatGPT или другие AI-инструменты, но ключевое отличие в том, что он работает на базе огромной базы знаний разработчиков, которую Stack Overflow собирал годами. Это обеспечит быстрые и точные ответы
85😱2221
Вообще-то линукс имба😐

Кстати, рекомендую посмотреть закрепы. там самая полезная информация!😮
Please open Telegram to view this post
VIEW IN TELEGRAM
843
😰



блин, надо посты писать
Please open Telegram to view this post
VIEW IN TELEGRAM
115😁7😱2
Архитектурные ошибки, которые мешают скейлиться

📌 Вот что часто делает мидл, когда ещё не думает как senior:

1️⃣ Всё в одном MonoBehaviour

// И логика, и UI, и данные — всё в одном классе 😵


📌 Разделяй по слоям:
• Model — данные (например, ScriptableObject, runtime state)
• View — отображение и UI (MonoBehaviour с UI-ссылками)
• Controller/Manager — логика и управление

🧠 Это основа MVC / MVVM / ECS — двигайся в сторону слабосвязной архитектуры.

2️⃣ Прямые ссылки между объектами

enemy.healthBar.SetValue(enemy.hp); // жёсткая связь


📌 Лучше через:
• Action и event-события
• интерфейсы (например, IDamageable)
• ScriptableObject-сигналы (EventChannel)
• Service Locator / Dependency Injection (Zenject, Extenject)

3️⃣ Нет централизованного GameManager или FSM

📌 Когда логика разбросана по сцене — сложно дебажить, сохранять и управлять состоянием игры.

🛠️ Сделай GameState-машину:

GameState.Menu → GameState.Playing → GameState.Paused

Добавь централизованную точку входа:
• UIManager
• SceneController
• AudioManager

4️⃣ Мешанина из public переменных

public int hp; // открыто для всех


📌 Используй:

[SerializeField] private int hp;
public int HP => hp;


🧠 Это защищает от случайных изменений и делает код самодокументируемым.

5️⃣ Нет разделения Editor и Runtime

📌 Всё, что относится к редактору (например, EditorGUILayout, Handles, MenuItem) — в папку /Editor и под #if UNITY_EDITOR.

Если этого не сделать:
• код попадёт в билд (ошибка)
• появится ненужный вес
• сломается на мобильных/в WebGL

💡 Средний уровень — это уже мышление архитектора: ты создаёшь систему, которую другие смогут поддерживать, расширять и не бояться трогать.

💬 Хочешь пост про конкретные архитектурные подходы: EventBus, ScriptableSignals или Scene Flow?

🔔 Подписывайся — впереди про UI-архитектуру, async-менеджеры и паттерны уровня Senior

👉Akrus Games | Unity
7🔥3🎄2
🙃

Завтра будет годная шпаргалка по не скажу. Не пропустите
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
64🔥2😱11
🥲
а как же мой лабубу шутер эволюция
Please open Telegram to view this post
VIEW IN TELEGRAM
😁84😱31
⚡️ Unity: шпаргалка по Rigidbody для новичков

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😱2211
😒
Please open Telegram to view this post
VIEW IN TELEGRAM
95😁41
⚡️ 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
🔥10631
Так, маи чуваки. Мои запасы мемов кончаются.

Поэтому пришлите свои мемы в комменты!!
!🎉🎉🎉


@kittysharky жги🎧
Please open Telegram to view this post
VIEW IN TELEGRAM
😁72😱2
Присылайте свои работы в комментарии!👊
Лучшие выложу здесь!

#работыПодписчиков

🎧Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥53🎄2
Игра подписчика @ZARKI01

The Unknown Parameter / Неизвестный Параметр

Жанр: Atmospheric survival-horror от первого лица.

Сеттинг: Луна. Вы космонавт, отправленный на поиски пропавшей научной экспедиции.

Что ждёт внутри: Найти можно лишь их трупы... и «это», что за ними охотилось. Забрать образцы и бежать к кораблю под аккомпанемент панических сообщений с луны. Атмосфера одиночества, паники и безысходности в духе классических космических ужасов.

Движок: Unity

Пишу на C#, активно учусь и прототипирую. В планах небольшой, но концентрированный и пугающий опыт.

Следите за развитием! Буду делиться скриншотами, гифками и болью геймдева.

Этот проект я буду делать постепенно, так как ещё пока осваиваю Юнити, и поэтому разработка может длиться от нескольких месяцев.

Тгк - https://t.me/minikraft2010fnaf

#геймдев #индиразработка #хоррор #unity #godotengine #indiegames #indiedev
🔥43😱1
Рисунок подписчика @Gtima_Orion

А я пожелаю всем хорошей недели!
8🔥6🎄3
Сколько вы заработали на геймдеве за этот месяц?🤔
Anonymous Poll
72%
0 руб 💧
8%
от 100 до 500 руб 🤟
2%
от 500 до 2000 руб🎧
18%
больше 2000 руб 💰
63🔥2