🎥 Cinemachine: Профессиональные камеры в Unity
Что это?
Система для создания кинематографичных камер. Настраивай поведение камер без тонн кода!
Зачем?
• Плавное слежение за игроком/объектом
• Автоматические переходы между камерами
• Эффектные ракурсы в кат-сценах
• Умное избегание препятствий
• Реакция на события (тряска, зум)
Базовый пример:
1. Установи Cinemachine через Package Manager
2. Создай Virtual Camera: Cinemachine > Create 2D Camera
3. Настрой:
- Follow Target: укажи игрока
- Look At Target: выбери объект фокуса
- Body/Lens: регулируй отступы и FOV
Типы камер:
- FreeLook: Камера-шарнир (подходит для 3D-персонажей)
- StateDriven: Автопереключение камер по анимациям
- Dolly Track: Движение по рельсам для кат-сцен
- MixerCamera: Совмещение нескольких ракурсов
Лайфхак для следящей камеры:
Важно:
• Настрой Noise Profiles для органичных движений
• Используй Confiner для ограничения камеры коллайдером
• Регулируй Damping для резкости/плавности поворотов
💡 Замени стандартные камеры на Cinemachine — это уровень PRO!
#Unity #Cinemachine #GameDev #Gamedevelopment
Что это?
Система для создания кинематографичных камер. Настраивай поведение камер без тонн кода!
Зачем?
• Плавное слежение за игроком/объектом
• Автоматические переходы между камерами
• Эффектные ракурсы в кат-сценах
• Умное избегание препятствий
• Реакция на события (тряска, зум)
Базовый пример:
1. Установи Cinemachine через Package Manager
2. Создай Virtual Camera: Cinemachine > Create 2D Camera
3. Настрой:
- Follow Target: укажи игрока
- Look At Target: выбери объект фокуса
- Body/Lens: регулируй отступы и FOV
Типы камер:
- FreeLook: Камера-шарнир (подходит для 3D-персонажей)
- StateDriven: Автопереключение камер по анимациям
- Dolly Track: Движение по рельсам для кат-сцен
- MixerCamera: Совмещение нескольких ракурсов
Лайфхак для следящей камеры:
// Добавить тряску при выстреле:
public void ShakeCamera() {
CinemachineImpulseSource impulse = GetComponent<CinemachineImpulseSource>();
impulse.GenerateImpulse();
}
Важно:
• Настрой Noise Profiles для органичных движений
• Используй Confiner для ограничения камеры коллайдером
• Регулируй Damping для резкости/плавности поворотов
💡 Замени стандартные камеры на Cinemachine — это уровень PRO!
#Unity #Cinemachine #GameDev #Gamedevelopment
❤5
Forwarded from Dimatit Games 🚨
This media is not supported in your browser
VIEW IN TELEGRAM
Dimatit jam
Геймджем будет проходить с 15 по 18 августа.
💰Призовой фонд 4500+* рублей:
🥇 1 место — 2 000 ₽
🥈 2 место — 1 250 ₽
🥉 3 место — 750 ₽
🍺 4 место — 500 ₽
Бонус:
📱 5 место – любая игра в стим до 50₽
*можно увеличить призовой фонд! Или написать в лс: @bodr5
Голосование будет проходит по следующим критериям:
🍒 Геймплей
🍒 Визуал
🍒 Соответствие теме
🍒 Общее впечатление
БОНУСНЫЕ ИСПЫТАНИЯ:
Дополнительные условия (каждое = +1 балл):
✅ Обучение встроено в геймплей
✅ Дневник разработчика
✅ У игры есть финал
Результаты будут объявлены в канале организатора: Dimatit Games. 23.08.2025
Огранизатор: @bodr5
Подробнее читайте на странице джема:
https://itch.io/jam/3000-dimatit-jam
Dimatit Games
Геймджем будет проходить с 15 по 18 августа.
💰Призовой фонд 4500+* рублей:
🥇 1 место — 2 000 ₽
🥈 2 место — 1 250 ₽
🥉 3 место — 750 ₽
Бонус:
*можно увеличить призовой фонд! Или написать в лс: @bodr5
Голосование будет проходит по следующим критериям:
🍒 Геймплей
🍒 Визуал
🍒 Соответствие теме
🍒 Общее впечатление
БОНУСНЫЕ ИСПЫТАНИЯ:
Дополнительные условия (каждое = +1 балл):
✅ Обучение встроено в геймплей
✅ Дневник разработчика
✅ У игры есть финал
Результаты будут объявлены в канале организатора: Dimatit Games. 23.08.2025
Огранизатор: @bodr5
Подробнее читайте на странице джема:
https://itch.io/jam/3000-dimatit-jam
Dimatit Games
Please open Telegram to view this post
VIEW IN TELEGRAM
❤6🎄2 2
This media is not supported in your browser
VIEW IN TELEGRAM
🕹️ New Input System: Кроссплатформенное управление
Что это?
Новая система ввода от Unity. Управляй игроком с клавиатуры, мыши, тача или геймпада через единый интерфейс.
Зачем переходить?
• Поддержка любых устройств "из коробки"
• Четкое разделение действий (Actions) и устройств (Devices)
• Проще ремаппинг (смена клавиш)
• Мощная система событий и состояний
• Визуальная отладка через Input Debugger
Как начать?
1. Установи пакет Input System через Package Manager
2. Создай Input Actions Asset (ПКМ в Project View → Create → Input Actions)
3. Настрой Actions (например: "Move", "Jump", "Shoot")
4. Привяжи устройства к Actions (WASD/Стрелки/Стик геймпада → "Move")
5. Добавь компонент Player Input на игрока
Пример кода (чтение ввода):
Важно!
• Используй Input Action Assets вместо старых
• Для UI используй Input System UI Input Module
• Настрой Control Schemes для разных устройств (PC, Mobile, Gamepad)
• Тестируй ремаппинг через Rebinding UI
💡 Применение:
- Плавное переключение между геймпадом и мышью
- Кастомизация управления в настройках игры
- Мобильные джойстики за 5 минут
Переходи на New Input System — пиши универсальный код!
#Unity #GameDev #InputSystem #Gamedevelopment
Что это?
Новая система ввода от Unity. Управляй игроком с клавиатуры, мыши, тача или геймпада через единый интерфейс.
Зачем переходить?
• Поддержка любых устройств "из коробки"
• Четкое разделение действий (Actions) и устройств (Devices)
• Проще ремаппинг (смена клавиш)
• Мощная система событий и состояний
• Визуальная отладка через Input Debugger
Как начать?
1. Установи пакет Input System через Package Manager
2. Создай Input Actions Asset (ПКМ в Project View → Create → Input Actions)
3. Настрой Actions (например: "Move", "Jump", "Shoot")
4. Привяжи устройства к Actions (WASD/Стрелки/Стик геймпада → "Move")
5. Добавь компонент Player Input на игрока
Пример кода (чтение ввода):
public class Movement : MonoBehaviour
{
private InputActions controls;
void Awake()
{
controls = new InputActions();
controls.Player.Move.performed += ctx => Move(ctx.ReadValue<Vector2>());
}
void Move(Vector2 direction)
{
// Перемещаем объект (напр., Rigidbody.velocity = direction * speed)
Debug.Log("Движение: " + direction);
}
void OnEnable() => controls.Enable();
void OnDisable() => controls.Disable();
}
Важно!
• Используй Input Action Assets вместо старых
Input.GetKey() • Для UI используй Input System UI Input Module
• Настрой Control Schemes для разных устройств (PC, Mobile, Gamepad)
• Тестируй ремаппинг через Rebinding UI
💡 Применение:
- Плавное переключение между геймпадом и мышью
- Кастомизация управления в настройках игры
- Мобильные джойстики за 5 минут
Переходи на New Input System — пиши универсальный код!
#Unity #GameDev #InputSystem #Gamedevelopment
❤7
Поздравляю с днём рождением тебя, Телеграм!
Ты помог мне найти много знакомых, помог создать канал, где я набрал любимых папищиков.
Помог пообщаться с людьми в разных чатах и узнать много нового!
Спасибо Дуров, за то что создал телеграм!
Ты помог мне найти много знакомых, помог создать канал, где я набрал любимых папищиков.
Помог пообщаться с людьми в разных чатах и узнать много нового!
Спасибо Дуров, за то что создал телеграм!
❤5
✅ Unity: Addressables — умная загрузка ассетов
Что это?
Система для динамической загрузки ресурсов (модели, текстуры, сцены) без захламления памяти. Как "умный склад" для ваших ассетов!
Зачем?
• Уменьшает размер начальной сборки игры
• Загружает контент по требованию (например, уровни)
• Обновляет ассеты без перевыпуска приложения
• Упрощает работу с большими проектами
• Подходит для всех платформ (PC, мобильные, WebGL)
Как начать?
1. Включи в Package Manager:
2. Пометь ассет как Addressable:
- Выбери ресурс (префаб, текстуру)
- В инспекторе нажми "Addressable" + задай уникальный ключ
3. Загрузи в коде:
Важно!
• Всегда выгружай ненужные ассеты через
• Группируй ассеты в Addressables Groups (например: "UI", "Уровни")
• Используй Analyze Tool для поиска ошибок зависимостей
• Для сцен:
💡 Применяй для: DLC, загрузки HD-текстур, управления памятью в мобильных играх.
Тестируй в Play Mode с профилем "Use Existing Build".
#Unity #Addressables #GameDev #Optimization
Что это?
Система для динамической загрузки ресурсов (модели, текстуры, сцены) без захламления памяти. Как "умный склад" для ваших ассетов!
Зачем?
• Уменьшает размер начальной сборки игры
• Загружает контент по требованию (например, уровни)
• Обновляет ассеты без перевыпуска приложения
• Упрощает работу с большими проектами
• Подходит для всех платформ (PC, мобильные, WebGL)
Как начать?
1. Включи в Package Manager:
Window > Asset Management > Addressables 2. Пометь ассет как Addressable:
- Выбери ресурс (префаб, текстуру)
- В инспекторе нажми "Addressable" + задай уникальный ключ
3. Загрузи в коде:
using UnityEngine.AddressableAssets;
// Загрузка префаба
Addressables.LoadAssetAsync<GameObject>("Ключ_Ассета").Completed +=
(handle) =>
{
Instantiate(handle.Result);
};
// Выгрузка (обязательно!)
Addressables.Release(handle);
Важно!
• Всегда выгружай ненужные ассеты через
Release() • Группируй ассеты в Addressables Groups (например: "UI", "Уровни")
• Используй Analyze Tool для поиска ошибок зависимостей
• Для сцен:
Addressables.LoadSceneAsync("Scene_Key") 💡 Применяй для: DLC, загрузки HD-текстур, управления памятью в мобильных играх.
Тестируй в Play Mode с профилем "Use Existing Build".
#Unity #Addressables #GameDev #Optimization
🔥4❤1
Я создал канал, где буду писать про разработку игр.
Кому интересно вот ссылка https://t.me/AkrusDnevnik
Посты там красиво оформляться не будут
Кому интересно вот ссылка https://t.me/AkrusDnevnik
Посты там красиво оформляться не будут
🤯4 3🔥1
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8
Сохрани — экономит куча времени:
Please open Telegram to view this post
VIEW IN TELEGRAM
Telegram
Akrus Games | Unity
Самые годные лайфхаки по unity c#
Сотрудничество/реклама/помощь @Akrus001
Сотрудничество/реклама/помощь @Akrus001
Please open Telegram to view this post
VIEW IN TELEGRAM
😁6❤2
✅ Unity: Sprite Mode Multiple - Разрезаем спрайт-листы!
Зачем это?
Когда импортируешь изображение со множеством спрайтов (анимации, тайлы) — выбери
Как разрезать?
1. Выбери текстуру в Project окне.
2. В Inspector найди
3. Важно! Поставь
4. Нажми
В Sprite Editor:
• Авто-резка: Нажми
• Ручная резка: Выдели спрайты мышью, поправь границы.
• Подтверди: Нажми
Готово! Теперь в Project окне разверни текстуру — увидишь все отдельные спрайты.
Зачем так делать?
• Создавать анимации из кадров.
• Использовать тайлы для построения уровней (Tilemap).
• Работать с отдельными элементами UI или объектов.
💡 Совет: Всегда проверяй
#Unity #Unity2D #GameDev #Sprites #Gamedevelopment
Зачем это?
Когда импортируешь изображение со множеством спрайтов (анимации, тайлы) — выбери
Multiple! Иначе весь лист считается одним большим спрайтом. Как разрезать?
1. Выбери текстуру в Project окне.
2. В Inspector найди
Texture Type -> Sprite (2D and UI). 3. Важно! Поставь
Sprite Mode в Multiple. 4. Нажми
Sprite Editor (откроется новое окно). В Sprite Editor:
• Авто-резка: Нажми
Slice -> Выбери тип (Grid по ячейкам, Automatic по прозрачности). • Ручная резка: Выдели спрайты мышью, поправь границы.
• Подтверди: Нажми
Apply (в правом верхнем углу). Готово! Теперь в Project окне разверни текстуру — увидишь все отдельные спрайты.
Зачем так делать?
• Создавать анимации из кадров.
• Использовать тайлы для построения уровней (Tilemap).
• Работать с отдельными элементами UI или объектов.
💡 Совет: Всегда проверяй
Sprite Mode при импорте спрайт-листов! Одна настройка — и работа с анимациями/тайлами становится в разы проще. #Unity #Unity2D #GameDev #Sprites #Gamedevelopment
🔥6
Media is too big
VIEW IN TELEGRAM
Привет геймдев-энтузиасты! 🎮 У нас горячий подарок для тех, кто хочет заглянуть под капот крутого проекта: разыгрываем полный исходник Minecraft Sandbox на Unity!
Ссылка
Идеально для:
Подписаться на Akrus Games ❤️
Нажать кнопку "Участвовать"
До 20 августа 2025! Победителя выберем рандомом, результат закрепим тут.
Победитель один!
#розыгрыш #unity3d #gamedev #исходники #minecraft #кликер #AkrusGames #программирование
Please open Telegram to view this post
VIEW IN TELEGRAM
❤8🔥3😁1🎄1 1 1
✅ Unity ECS & Jobs System: революция производительности
Что это?
Архитектура, где данные хранятся отдельно от логики (Data-Oriented Design). Позволяет обрабатывать десятки тысяч объектов без падения FPS.
Зачем?
- Массовые симуляции (орды врагов, частицы, песочницы)
- Полное использование многоядерных процессоров
- Предсказуемое управление памятью (Zero GC Allocations)
Базовые понятия:
- Entity — не объект, а легковесный ID.
- ComponentData — чистые данные (struct, без методов).
- System — логика, которая работает с массивами компонентов.
Пример (спавн кубов):
Важно!
- Требуется пакет
- Это полный разрыв с
- Идеально для VR/AR с strict performance требованиями
💡 Начинай с гибридного подхода:
#Unity #ECS #Performance #Optimization #JobSystem
Что это?
Архитектура, где данные хранятся отдельно от логики (Data-Oriented Design). Позволяет обрабатывать десятки тысяч объектов без падения FPS.
Зачем?
- Массовые симуляции (орды врагов, частицы, песочницы)
- Полное использование многоядерных процессоров
- Предсказуемое управление памятью (Zero GC Allocations)
Базовые понятия:
- Entity — не объект, а легковесный ID.
- ComponentData — чистые данные (struct, без методов).
- System — логика, которая работает с массивами компонентов.
Пример (спавн кубов):
// Компонент (данные)
public struct RotationSpeed : IComponentData
{
public float RadiansPerSecond;
}
// Система (логика)
public class RotationSystem : SystemBase
{
protected override void OnUpdate()
{
float deltaTime = Time.DeltaTime;
Entities
.ForEach((ref Rotatable rotatable, in RotationSpeed speed) =>
{
rotatable.Value = math.mul(
math.normalize(rotatable.Value),
quaternion.AxisAngle(math.up(), speed.RadiansPerSecond * deltaTime)
);
}).ScheduleParallel();
}
}
Важно!
- Требуется пакет
Entities и Unity.Burst- Это полный разрыв с
MonoBehaviour и ООП- Идеально для VR/AR с strict performance требованиями
💡 Начинай с гибридного подхода:
MonoBehaviour -> преобразование в Entity через ConvertToEntity.#Unity #ECS #Performance #Optimization #JobSystem
🔥3
Akrus Games | Unity
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥4
✅ Shader Graph: создание материалов без кода
Что это?
Визуальный редактор для написания шейдеров. Собираешь нодами, как в редакторе материалов.
Зачем?
- Быстрая итерация: видишь результат в реальном времени
- Не нужно знать HLSL/GLSL на продвинутом уровне
- Создание сложных эффектов (свечение, прокрутка текстур)
Как создать эффект прокрутки текстуры:
1. Создай
2. Создай
3. Создай
4. Соедини:
5. Подключи
Сильные стороны:
- Vertex Displacement (трава, волны на воде)
- Custom Lighting Models (стилизованная графика)
- Procedural Patterns (генерируемые узоры)
Важно!
- Для мобильных платформ используй низкую точность (
- Для UI шейдеров ставь
💡 Комбинируй с
#Unity #ShaderGraph #Shaders #Graphics #URP
Что это?
Визуальный редактор для написания шейдеров. Собираешь нодами, как в редакторе материалов.
Зачем?
- Быстрая итерация: видишь результат в реальном времени
- Не нужно знать HLSL/GLSL на продвинутом уровне
- Создание сложных эффектов (свечение, прокрутка текстур)
Как создать эффект прокрутки текстуры:
1. Создай
Texture2D ноду, подключи текстуру.2. Создай
Time ноду для анимированного параметра.3. Создай
Tiling And Offset ноду.4. Соедини:
Time -> Multiply (на скорость) -> Fraction -> в Offset порт Tiling And Offset.5. Подключи
Tiling And Offset к Base Color материала.Сильные стороны:
- Vertex Displacement (трава, волны на воде)
- Custom Lighting Models (стилизованная графика)
- Procedural Patterns (генерируемые узоры)
Важно!
- Для мобильных платформ используй низкую точность (
Half)- Для UI шейдеров ставь
Blend Mode на Alpha💡 Комбинируй с
Scriptable Render Pipeline (URP/HDRP) для полной мощности.#Unity #ShaderGraph #Shaders #Graphics #URP
🔥8
✅ Custom Editor Tools: ускорь workflow в редакторе
Что это?
Создание собственных окон и кнопок в редакторе Unity для автоматизации рутины.
Зачем?
- Массовое переименование префабов
- Автоматическое размещение объектов по правилу
- Валидация данных на сцене
- Создание уникального инструментария под ваш проект
Пример: кнопка для спавна префабов в сцене:
Пример 2: Утилита для переименования:
Важно!
- Весь код инструментов оборачивай в
- Не используй в редакторе
💡 Создавай инструменты для дизайнеров уровней и художников — они скажут спасибо!
#Unity #Editor #Tools #Productivity #Workflow
Что это?
Создание собственных окон и кнопок в редакторе Unity для автоматизации рутины.
Зачем?
- Массовое переименование префабов
- Автоматическое размещение объектов по правилу
- Валидация данных на сцене
- Создание уникального инструментария под ваш проект
Пример: кнопка для спавна префабов в сцене:
[CustomEditor(typeof(LevelManager))]
public class LevelManagerEditor : Editor
{
public override void OnInspectorGUI()
{
DrawDefaultInspector(); // Рисует стандартные поля
LevelManager myScript = (LevelManager)target;
if(GUILayout.Button("Spawn Enemy Wave")) // Кнопка в инспекторе
{
myScript.SpawnEnemyWave(); // Вызывает метод из скрипта
}
}
}
Пример 2: Утилита для переименования:
public class RenamerTool : EditorWindow
{
private string baseName = "Enemy_";
[MenuItem("Tools/My Renamer")] // Добавляет пункт в меню
public static void ShowWindow() => GetWindow<RenamerTool>("Renamer");
void OnGUI()
{
baseName = EditorGUILayout.TextField("Base Name", baseName);
if (GUILayout.Button("Rename Selection"))
{
foreach(GameObject obj in Selection.gameObjects)
{
obj.name = baseName + obj.GetInstanceID();
}
}
}
}
Важно!
- Весь код инструментов оборачивай в
#if UNITY_EDITOR ... #endif- Не используй в редакторе
GameObject.Find, используй Selection.gameObjects или FindObjectsOfType💡 Создавай инструменты для дизайнеров уровней и художников — они скажут спасибо!
#Unity #Editor #Tools #Productivity #Workflow
🔥8 1 1