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

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
Доброе утро, разработчики!
Всем удачной рабочей недели! ❤️
🔥965🎄11
Light Probes в Unity: освещение динамических объектов

Что это?
Система, которая «запоминает» освещение в разных точках сцены. Это навигационные точки для света.

Зачем?
Чтобы движущиеся объекты (персонажи, машины) были реалистично освещены.
• Без проб: динамические объекты освещаются только прямым светом или Lightmaps, выглядят плохо и не вписываются в сцену.
• С пробами: объекты подхватывают отраженный (baked) свет от окружения, выглядят естественно.

Как работает?
1. Расставляешь пробы в сцене (GameObject > Light > Light Probe Group).
2. Запекаешь освещение (Bake Lighting).
3. Unity интерполирует (смешивает) свет между пробами для объекта в реальном времени.

Как настроить?
1. На движущемся объекте должен быть компонент Renderer.
2. В его материалах убедись, что используется Standard или подобный шейдер.
3. В настройках Renderer в разделе Lighting должно быть включено Use Light Probes.

Важно!
• Ставь пробы там, где проходит игрок или двигаются объекты.
• Избегай резких переходов света. Делай сетку проб плотнее в таких местах.
• Не забывай запекать освещение после расстановки проб.

💡 Применяй для: персонажей, врагов, машин, всего, что движется по сцене со baked-освещением.

#Unity #Unity3D #GameDev #Lighting #LightProbes
🔥72
🙁

Проголосуйте за канал, чтобы вернуть премиум реакции. https://t.me/boost/AkrusUnity
Please open Telegram to view this post
VIEW IN TELEGRAM
105🤯11
Unity: мониторинг через график в инспекторе

Зачем?
Вместо того чтобы следить за цифрами в консоли, наблюдай за изменением значений в реальном времени на наглядном графике. Идеально для отладки ИИ, баланса здоровья или скорости.

Как это работает?
Используем атрибут [SerializeField] и специальный тип AnimationCurve.

Как сделать?
1. Объяви публичное поле с типом AnimationCurve.
2. В коде добавляй в него ключевые точки с данными.

Простой пример: отслеживание дистанции до врага.

using UnityEngine;

public class EnemyAI : MonoBehaviour
{
[SerializeField] private AnimationCurve _distanceGraph;

void Update()
{
float distanceToPlayer = Vector3.Distance(transform.position, player.position);
// Добавляем новое значение на график (Время, Значение)
_distanceGraph.AddKey(Time.time, distanceToPlayer);
}
}

1. Добавь скрипт на объект.
2. В инспекторе появится график.
3. Запусти игру и смотри, как значение меняется в реальном времени!

Важно!
• Не забывай очищать график перед новым запуском игры (правый клик по графику -> «Clear All»).
• Используй для отладки сложных систем: HP, скорость, параметры анимаций.

Удобно и наглядно для тонкой настройки геймплея! 📊

#Unity #Unity3D #Gamedev #РазработкаИгр #Отладка
🔥731
Что такое тесты?
Please open Telegram to view this post
VIEW IN TELEGRAM
😁75311
Unity: по каким параметрам тестировать проект

Что проверять?
Не только на баги. Важна стабильность и производительность на разных устройствах.

Ключевые метрики:
- FPS (Кадры в секунду): Цель — стабильные 60 (или 30 для мобильных). Резкие просадки — повод для оптимизации.
- Память: Утечки оперативной памяти (RAM) и рост занимаемого места. Следи за мусором (Garbage Collection) в Profiler.
- Загрузка CPU/GPU: Профилировщик (Profiler) покажет, что нагружает систему: скрипты, рендеринг или физика.
- Нагрев и батарея: Сильный нагрев или быстрый разряд на мобильном устройстве — признак неоптимального кода.
- Размер билда: Следи, чтобы не подключались неиспользуемые ассеты и библиотеки.

Как тестировать?
1. В редакторе: Используй встроенный Profiler (Window > Analysis > Profiler).
2. На целевых устройствах: Собирай Development Build с флажком Autoconnect Profiler. Тестируй на слабом “железе”.
3. Стресс-тесты: Создай сцену с максимальным количеством объектов и эффектов, чтобы проверить пределы производительности.

Пример кода для вывода FPS:
public class FPSCounter : MonoBehaviour
{
private float count;

private IEnumerator Start()
{
while (true)
{
count = 1f / Time.unscaledDeltaTime;
yield return new WaitForSeconds(0.5f);
}
}

private void OnGUI()
{
GUI.Label(new Rect(10, 10, 100, 20), "FPS: " + Mathf.Round(count));
}
}

Важно!
- Тестируй с самого начала разработки, а не в конце.
- Проверяй на разных платформах (Android, iOS, PC).
- Используй Build Report для анализа размера билда.

💡 Регулярное тестирование сэкономит недели фиксов перед релизом!

#Unity #GameDev #Оптимизация #Тестирование #Performance
4🎄422😱11
Смешно и грустно😐🙁
Please open Telegram to view this post
VIEW IN TELEGRAM
😁8🔥7632
Unity: ключевые инструменты тестирования и оптимизации

Что проверять перед билдом?
Быстрая проверка проекта на основные узкие места: производительность, память, размер сборки.

1. Статистика (Stats) во вкладке Game
Зачем? Мгновенная оценка производительности в реальном времени.
Смотри на:
FPS (кадры в секунду): цель — стабильные 60+.
CPU: общее время рендера и обработки скриптов.
Render Thread: нагрузка на рендер.
Batches (батчи): чем их меньше — тем лучше. Объединяй объекты!
Saved by batching: сколько вызовов отрисовано за 1 батч. Цифра должна быть высокой.
Tris/Verts: количество треугольников и вертексов на кадр.

2. Профайлер (Window > Analysis > Profiler)
Зачем? Найти точную причину падений FPS.
Как использовать?
1. Открой окно.
2. Запусти игру.
3. Смотри графики. Пики — это проблемы.
CPU: ищи тяжёлые скрипты и методы.
Rendering: проблемы с рендером, сложные шейдеры.
Memory: утечки памяти (кнопка «Take Sample» для снимка).
Audio: нагрузка от звуков.

3. Размер билда (File > Build Settings > Build)
Зачем? Узнать итоговый вес игры и что его увеличивает.
Что делать?
• В окне билда нажми «Build» и посмотри итоговый размер.
• Для деталей: в билде открой «Build Report» (включи в настройках Player).
• Смотри: какие ассеты самые тяжёлые (текстуры, аудио, модели).
• Сжимай текстуры, оптимизируй аудио (формат .ogg).

4. Батчинг (Batching)
Зачем? Снизить количество вызовов отрисовки (draw calls).
Как работает?
Static Batching: для статических объектов (отмеченных Static). Unity объединяет их в одну сетку.
Dynamic Batching: Unity автоматически объединяет мелкие объекты с общими материалами.
Важно! Используй общие материалы для одинаковых объектов — это ключ к батчингу.

💡 Вывод: перед билдом всегда проверяй Stats и Профайлер, чтобы найти слабые места. Оптимизируй батчинг и следи за памятью.

#Unity #Unity3D #Optimization #GameDev #Профайлер #Батчинг
🔥64
В какое время лучше всего выкладывать посты?
Anonymous Poll
39%
11 00
29%
13 00
41%
15 00
41%
17 00
67%
19 00
32
Фатальная ошибка😠

Посты будут выходить в таком расписании:
пост с фишками по unity/c# - 11:00
мем - 17-18:00
Please open Telegram to view this post
VIEW IN TELEGRAM
😁7211
Unity: способы увлечения игрока в игру

🎯 Что это?
Техники геймдизайна и реализации, которые создают глубокое погружение и удерживают интерес к геймплею с первых секунд.

Зачем?
- Сделать игру запоминающейся и уникальной
- Увеличить время игровой сессии
- Получить положительные отзывы и рекомендации

---

🚀 Ключевые методы
1. Сильная первая минута
Дайте игроку почувствовать силу и действие сразу.
➡️ Пример: взрыв в начале, погоня, быстрое получение крутой способности.
2. «Ещё один ход»-эффект
Создавайте короткие игровые циклы с быстрым вознаграждением.
➡️ Пример: быстрая перезарядка, ежесекундные бонусы, ежеуровневые апгрейды.

3. Визуальный прогресс
📊 Визуализируйте рост через интерфейс.
➡️ Пример: шкала опыта, которая заполняется после каждого боя, или дерево навыков с мгновенными улучшениями.

4. Сочноть геймплея
🎮 Базовые действия должны доставлять радость.
➡️ *Пример: сочные прыжки в платформере, приятная отдача от выстрела.*

---

💻 Пример кода: система мгновенного вознаграждения

public class InstantReward : MonoBehaviour
{
[Header("Настройки визуала")]
public ParticleSystem rewardParticles;
public AudioClip rewardSound;

[Header("Награда")]
public int goldAmount = 10;
public int xpAmount = 15;

public void GiveReward()
{
// Добавляем ресурсы
PlayerInventory.Gold += goldAmount;
PlayerProgress.XP += xpAmount;

// Визуальная обратная связь
Instantiate(rewardParticles, transform.position, Quaternion.identity);
AudioSource.PlayClipAtPoint(rewardSound, Camera.main.transform.position);

// Лёгкая тряска камеры для эффекта
CameraShake.Instance.Shake(0.2f, 0.5f);
}
}

---

🎮 Что запомнить:
- Мгновенная обратная связь (визуал, звук, вибрация)
- Избегайте затяжных туториалов — учите в процессе
- Создавайте «моменты величия» для игрока
- Тестируйте на новых игроках — где они теряют интерес?

---

Действуй! Проанализируй свою игру: где игрок может заскучать? Убери это.

#Unity #GameDesign #Gamedev #ИгровойДизайн #Юнити
🔥711
PyGame и Scratch самая имба⌨️

Приятно видеть что вы стали писать все больше комментариев, и ставить больше реакций🎩
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥632
Новости, правда не по юнити.

Я вчера и сегодня делал приложения на питоне. Да, забросил юнити и весь геймдев.
НО зато приложения получились отличными!
Я сделал:
БРАУЗЕР.
Его функционал:
вкладки
поиск через яндекс
скачивание вкладок
кнопки вперед, назад
ноль оптимизации

Также
Мини приложения для мониторинга нагрузки пк.
Функционал:
Процентная нагрузка цп и оперативки.
приложение открывается поверх всего.
минимализм.
красивые иконки.
две темы.


Ссылка на скачивание:
https://disk.yandex.ru/d/p3Bo16UHE3e5nw
Вирусов там нет! я их делать не умею.
Приложения для windows(может и еще гдето работает, я не проверял)

Напишите пожалуйста свой отзыв, мне интересно!

@AkrusUnity
🔥632
Unity vs Unreal Engine: что выбрать?

Ключевое отличие
Unity — гибкость и доступность для инди и мобильных проектов.
Unreal — мощь для AAA-графики и больших команд.

Когда выбрать Unity?
• Делаешь мобильные или казуальные игры
• Работаешь один или в небольшой команде
• Хочешь быстро прототипировать и выпускать проекты
• Основной язык — C# (более простой для новичков)
• Платформа: Windows, Mac, Android, iOS, Web — из коробки

Когда выбрать Unreal?
• Создаешь шутер или проект с топовой графикой
• Готов работать с Blueprints (визуальное скриптование) или C++
• Команда крупная, есть технические художники

Графика
Unity: хороша, но требует ручной настройки под высокий уровень.
Unreal: фотореализм «из коробки» благодаря продвинутому рендереру.

Стоимость
Оба движка бесплатны с роялти после определенного порога доходов.

Итог
Нет «лучшего» движка. Есть инструмент, который подходит под твои конкретные задачи.
Начинаешь — стартуй с Unity. Хочешь кинематографичную графику — смотри в сторону Unreal.

#Unity #UnrealEngine #Gamedev #GameDevComparison
221😱111
И в правду кто этот идиот?
точно не я
Please open Telegram to view this post
VIEW IN TELEGRAM
105511
🔍 Godot vs Unity: что выбрать в 2025?

Ключевые различия:

• Движок:
Unity — промышленный стандарт для 3D и мобильных игр.
Godot — легкий, открытый движок с акцентом на 2D и простоту.

• Язык:
Unity — C# (строгая типизация, большой синтаксис).
Godot — GDScript (Python-подобный, легкий для новичков) + C#.

• Графика:
Unity — мощный рендеринг, URP/HDRP, шейдеры Shader Graph.
Godot — Vulkan/Metal, собственный язык шейдеров, проще настройка.

• Сообщество:
Unity — огромная база tutorials, ассетов, форумов.
Godot — быстрорастущее комьюнити, но материалов меньше.


Когда что выбрать?
→ Unity: если нужна графика AAA, кроссплатформенность или работа в студии.
→ Godot: для инди-проектов, быстрого прототипирования.

Оба движка достойны. Выбор зависит от задач, опыта и предпочтений! 🎮

#Unity #Godot #GameDev #Gamedevelopment
8🔥432
Ооооооо. Скоро будет обновление real life🎧
Please open Telegram to view this post
VIEW IN TELEGRAM
8🔥51
Присылайте фотографии своих клавиатур!
Желаю вам продуктивного дня.

На фото моя клавиатура, в будущем скорее всего поменяю. Она слишком маленькая🙁
Please open Telegram to view this post
VIEW IN TELEGRAM
😱42
🥲
Please open Telegram to view this post
VIEW IN TELEGRAM
8211