Присылайте свои работы в комментарии!👊
Лучшие выложу здесь!
Присылайте лучше видео. Хороший компрессор https://tools.rotato.app/compress
#работыПодписчиков
🎧Akrus Games | Unity
Лучшие выложу здесь!
#работыПодписчиков
🎧Akrus Games | Unity
👍3
Игра подписчика @b4nukk
Канал: а где
Присылайте свои игры сюда
Akrus Games | Unity
Прикольная 2д стрелялка. Идеальный проект для новичков на текущем этапе.
Канал: а где
Присылайте свои игры сюда
Akrus Games | Unity
❤9🔥5
Игра не подписчика @tromgard
Канал: https://t.me/Pigeonofsorrowch
Поиграть онлайн: http://82.202.137.211/ обязательно включите полноэкранный режим
Присылайте свои игры сюда
Akrus Games | Unity
Мой любимый проект из всех, которые я видел.
2д выживач в апокалипсисе. Очень имбовая графика и палитра цветов
Канал: https://t.me/Pigeonofsorrowch
Поиграть онлайн: http://82.202.137.211/ обязательно включите полноэкранный режим
Присылайте свои игры сюда
Akrus Games | Unity
Работа подписчика @MounSword_Gtima
Канал: https://t.me/MSwordStudio
Присылайте свои игры сюда
Akrus Games | Unity
Гриб
+ желаю всем хорошей выходных!!!
Канал: https://t.me/MSwordStudio
Присылайте свои игры сюда
Akrus Games | Unity
This media is not supported in your browser
VIEW IN TELEGRAM
Игра подписчика @code_n_polygons
Канал: @code_n_polygons
Присылайте свои игры сюда
Akrus Games | Unity
Сделал для ГГ квартиру 😁
Игроку — отдых от локации с проверками.
ГГ — свой safe space.
Это уже вторая локация проекта Don't Stay Late. Пока что все накидано довольно широкими мазками, но, самое главное — начало положено
Заинтересовал проект?
Приглашаю подписаться на канал, где выкладываю девлоги по нему. Буду рад каждому вступившему
Канал: @code_n_polygons
Присылайте свои игры сюда
Akrus Games | Unity
❤7👍3🔥1 1
⚔️ Unity: как сделать, чтобы игра не казалась казуальной?
Хочешь, чтобы твою инди-игру воспринимали всерьёз, а не как лёгкий таймкиллер? Вот ключевые точки, где нужно сместить акценты.
1️⃣ Сложность: дай игроку пространство для ошибки, но сделай её дорогой
• Не добавляй «бесконечные жизни». Лучше одна сложная, но честная проверка навыков.
• Откажись от автопомощи в геймплее: никаких автоприцелов или подсказок "нажми сюда" без крайней нужды.
• Введи перманентные последствия: потеря ресурса, изменение мира, перманентная смерть (permadeath) для хардкорного ощущения.
2️⃣ Визуал и атмосфера: серьёзный тон вместо «милоты»
• Цветовая палитра: избегай слишком ярких, "мультяшных" цветов. Используй приглушённые, контрастные тона.
• Звук и музыка: атмосферный саундтрек, а не весёлые мелодии. Звуки должны быть "тяжёлыми" — шаги, удары, скрипы.
• Шейдеры и постобработка: добавь эффекты зерна (Film Grain), хроматических аберраций, виньетирования. Это создаёт "кинематографичную" и взрослую картинку.
3️⃣ Глубина механик: игрок должен думать, а не просто тапать
• Нелинейность: несколько путей прохождения, скрытые зоны, секреты, которые не подсвечены.
• Система крафта/прокачки с выбором: не "улучши всё", а "выбери ветку, откажись от другого". Это создаёт осмысленность.
• Динамические системы: NPC, которые живут своей жизнью, погода, влияющая на геймплей, последствия выбора.
4️⃣ Подача и интерфейс (UI/UX): минимализм и отсутствие "руки-водилки"
• Чистый, сдержанный интерфейс. Никаких пузырьков, мигающих стрелок или детских шрифтов.
• Обучение через практику. Не текстовые стены туториала, а интеграция обучения в геймплей (как в Dark Souls).
• Скрытая статистика и механики. Пусть игрок сам экспериментирует и открывает взаимодействия.
💡 Главный принцип: УВАЖАЙ игрока. Дай ему вызов, доверь его интеллекту, погрузи в атмосферу. Игра перестаёт быть казуальной, когда к ней нужно относиться серьёзно.
🔔 Подписывайся, чтобы не пропустить разборы конкретных техник: от сложного AI до создания мрачной атмосферы в URP.
💬 А что, по-твоему, убивает "казуальность" в игре? Делитесь в комментариях! 👉 Akrus Games | Unity
Хочешь, чтобы твою инди-игру воспринимали всерьёз, а не как лёгкий таймкиллер? Вот ключевые точки, где нужно сместить акценты.
1️⃣ Сложность: дай игроку пространство для ошибки, но сделай её дорогой
• Не добавляй «бесконечные жизни». Лучше одна сложная, но честная проверка навыков.
• Откажись от автопомощи в геймплее: никаких автоприцелов или подсказок "нажми сюда" без крайней нужды.
• Введи перманентные последствия: потеря ресурса, изменение мира, перманентная смерть (permadeath) для хардкорного ощущения.
2️⃣ Визуал и атмосфера: серьёзный тон вместо «милоты»
• Цветовая палитра: избегай слишком ярких, "мультяшных" цветов. Используй приглушённые, контрастные тона.
• Звук и музыка: атмосферный саундтрек, а не весёлые мелодии. Звуки должны быть "тяжёлыми" — шаги, удары, скрипы.
• Шейдеры и постобработка: добавь эффекты зерна (Film Grain), хроматических аберраций, виньетирования. Это создаёт "кинематографичную" и взрослую картинку.
3️⃣ Глубина механик: игрок должен думать, а не просто тапать
• Нелинейность: несколько путей прохождения, скрытые зоны, секреты, которые не подсвечены.
• Система крафта/прокачки с выбором: не "улучши всё", а "выбери ветку, откажись от другого". Это создаёт осмысленность.
• Динамические системы: NPC, которые живут своей жизнью, погода, влияющая на геймплей, последствия выбора.
4️⃣ Подача и интерфейс (UI/UX): минимализм и отсутствие "руки-водилки"
• Чистый, сдержанный интерфейс. Никаких пузырьков, мигающих стрелок или детских шрифтов.
• Обучение через практику. Не текстовые стены туториала, а интеграция обучения в геймплей (как в Dark Souls).
• Скрытая статистика и механики. Пусть игрок сам экспериментирует и открывает взаимодействия.
💡 Главный принцип: УВАЖАЙ игрока. Дай ему вызов, доверь его интеллекту, погрузи в атмосферу. Игра перестаёт быть казуальной, когда к ней нужно относиться серьёзно.
🔔 Подписывайся, чтобы не пропустить разборы конкретных техник: от сложного AI до создания мрачной атмосферы в URP.
💬 А что, по-твоему, убивает "казуальность" в игре? Делитесь в комментариях! 👉 Akrus Games | Unity
🔥9👍4 3
⚙️ Unity: рабочий способ сделать колесо фортуны
Сохрани этот рецепт, когда понадобится рулетка, лутбокс или мини-игра с вращением. Сделаем быстро и без боли.
Идея: вращаем объект через
1️⃣ Скрипт контролируемого вращения:
2️⃣ Как использовать:
• Укажи в
• Вызови метод
🔔 Подпишись — впереди еще больше готовых решений для твоего инди-проекта.
👉Akrus Games | Unity
Сохрани этот рецепт, когда понадобится рулетка, лутбокс или мини-игра с вращением. Сделаем быстро и без боли.
Идея: вращаем объект через
Transform.Rotate по заданному алгоритму — колесо сделает N полных оборотов + смещение до выигрышного сектора.1️⃣ Скрипт контролируемого вращения:
public class ControlledWheel : MonoBehaviour
{
public int totalSectors = 8;
public float spinDuration = 5f;
public int winSectorIndex = 0; // Индекс выигрышного сектора (считай с 0)
public void Spin()
{
float fullCircles = 3; // Количество полных оборотов перед остановкой
float sectorAngle = 360f / totalSectors;
float targetAngle = 360f * fullCircles + (sectorAngle * winSectorIndex);
StartCoroutine(SpinRoutine(targetAngle));
}
IEnumerator SpinRoutine(float targetAngle)
{
float elapsed = 0;
float startAngle = transform.eulerAngles.z;
while (elapsed < spinDuration)
{
float t = elapsed / spinDuration;
t = t * t * (3f - 2f * t); // SmoothStep для плавного замедления
float angle = Mathf.Lerp(startAngle, startAngle + targetAngle, t);
transform.rotation = Quaternion.Euler(0, 0, angle);
elapsed += Time.deltaTime;
yield return null;
}
// Точная остановка на выигрышном секторе
transform.rotation = Quaternion.Euler(0, 0, startAngle + targetAngle);
Debug.Log($"Выпал сектор: {winSectorIndex + 1}");
}
}
2️⃣ Как использовать:
• Укажи в
winSectorIndex номер выигрышного сектора (от 0).• Вызови метод
Spin() по нажатию кнопки.🔔 Подпишись — впереди еще больше готовых решений для твоего инди-проекта.
👉Akrus Games | Unity
❤5👍5👎2🔥1 1
🎨 Unity: палитра для каждого жанра
Выбираешь цвета «на глаз»? Они задают тон всей игре. Подбери палитру под жанр — и игрок с первых секунд поймёт, во что он попал.
Сохраняй шпаргалку для своих проектов!
🔶 Ретро-платформер / Пиксель-арт
▪️ Цвета: Яркие, контрастные. Чистые оттенки без градиентов.
▪️ Пример: Тёмный фон (#0D2B4D), яркий герой (#FF963D), кислотные враги (#FF004D).
▪️ Зачем: Чёткое разделение объектов на экране. Дух старых консолей.
▪️ Ресурс: https://lospec.com/palettes — сотни готовых палитр.
🌌 Космический хоррор / Sci-Fi
▪️ Цвета: Холодные, приглушённые. Синие, зелёные, серые тона. Яркие акценты только на интерфейсе.
▪️ Пример: Основной — #1C2E45, металл — #7A93A5, свет панелей — #00FFE0.
▪️ Зачем: Давление, одиночество, холод техники. Красный сигнал тревоги будет врезаться в память.
▪️ Лайфхак: В постобработке (Color Grading) сдвинь баланс белого в синий.
☀️ Казуальная 3D-аркада / Гонки
▪️ Цвета: Тёплые, «летние». Нежно-голубой небо (#87CEEB), зелёная трава (#7CFC00), яркие элементы геймплея (красный, оранжевый).
▪️ Пример: Фон — пастельный, игровые объекты — насыщенные.
▪️ Зачем: Чувство лёгкости, позитива. Игрок не напрягается.
▪️ Правило: Небо и земля — светлые и ненасыщенные. Герой/машина — самый яркий пятно.
🧟 Выживание / Пост-апокалипсис
▪️ Цвета: Землистые, грязные. Коричневый (#4A3728), тускло-зелёный (#5A7D5A), грязно-жёлтый (#B5A642).
▪️ Пример: Нет чистых красок. Всё будто в пыли.
▪️ Зачем: Передать атмосферу упадка, истощения ресурсов.
▪️ Фишка: Добавь поверх всего лёгкий оверлей (Color Grading) с оттенком сепии или серого.
⚡️ Ключевой принцип: 60-30-10
• 60% экрана — доминирующий цвет (фон, земля).
• 30% — вторичный цвет (объекты, здания).
• 10% — акцентный цвет (герой, враги, кнопки, коллекционные предметы).
Именно эти 10% цвета игрок запомнит. Сделай их контрастными!
💭 Как внедрить?
1. Закрепи в сцене простой материал с нужной палитрой.
2. Настрой освещение (Temperature в лайтах) под цветовую гамму.
3. Используй Pixelator или Palette Editor из Asset Store для быстрого подбора.
✅ Вывод: Цвет — это невидимый геймдизайнер. Он направляет взгляд и создаёт настроение.
📌 Сохрани эту схему перед началом следующего проекта!
🔔 Подпишись — завтра покажу, как через Shader Graph за 5 минут сделать стилизацию под любой жанр.
💬 В каком жанре делаешь игру? Как подбираешь цвета? Пиши в комментах!
👉Akrus Games | Unity
Выбираешь цвета «на глаз»? Они задают тон всей игре. Подбери палитру под жанр — и игрок с первых секунд поймёт, во что он попал.
Сохраняй шпаргалку для своих проектов!
🔶 Ретро-платформер / Пиксель-арт
▪️ Цвета: Яркие, контрастные. Чистые оттенки без градиентов.
▪️ Пример: Тёмный фон (#0D2B4D), яркий герой (#FF963D), кислотные враги (#FF004D).
▪️ Зачем: Чёткое разделение объектов на экране. Дух старых консолей.
▪️ Ресурс: https://lospec.com/palettes — сотни готовых палитр.
🌌 Космический хоррор / Sci-Fi
▪️ Цвета: Холодные, приглушённые. Синие, зелёные, серые тона. Яркие акценты только на интерфейсе.
▪️ Пример: Основной — #1C2E45, металл — #7A93A5, свет панелей — #00FFE0.
▪️ Зачем: Давление, одиночество, холод техники. Красный сигнал тревоги будет врезаться в память.
▪️ Лайфхак: В постобработке (Color Grading) сдвинь баланс белого в синий.
☀️ Казуальная 3D-аркада / Гонки
▪️ Цвета: Тёплые, «летние». Нежно-голубой небо (#87CEEB), зелёная трава (#7CFC00), яркие элементы геймплея (красный, оранжевый).
▪️ Пример: Фон — пастельный, игровые объекты — насыщенные.
▪️ Зачем: Чувство лёгкости, позитива. Игрок не напрягается.
▪️ Правило: Небо и земля — светлые и ненасыщенные. Герой/машина — самый яркий пятно.
🧟 Выживание / Пост-апокалипсис
▪️ Цвета: Землистые, грязные. Коричневый (#4A3728), тускло-зелёный (#5A7D5A), грязно-жёлтый (#B5A642).
▪️ Пример: Нет чистых красок. Всё будто в пыли.
▪️ Зачем: Передать атмосферу упадка, истощения ресурсов.
▪️ Фишка: Добавь поверх всего лёгкий оверлей (Color Grading) с оттенком сепии или серого.
⚡️ Ключевой принцип: 60-30-10
• 60% экрана — доминирующий цвет (фон, земля).
• 30% — вторичный цвет (объекты, здания).
• 10% — акцентный цвет (герой, враги, кнопки, коллекционные предметы).
Именно эти 10% цвета игрок запомнит. Сделай их контрастными!
💭 Как внедрить?
1. Закрепи в сцене простой материал с нужной палитрой.
2. Настрой освещение (Temperature в лайтах) под цветовую гамму.
3. Используй Pixelator или Palette Editor из Asset Store для быстрого подбора.
✅ Вывод: Цвет — это невидимый геймдизайнер. Он направляет взгляд и создаёт настроение.
📌 Сохрани эту схему перед началом следующего проекта!
🔔 Подпишись — завтра покажу, как через Shader Graph за 5 минут сделать стилизацию под любой жанр.
💬 В каком жанре делаешь игру? Как подбираешь цвета? Пиши в комментах!
👉Akrus Games | Unity
👍5👎4❤1
✅ C# Атрибуты в Unity: мета-инструкции для кода
Что это?
Специальные метки для классов, переменных или методов. Они дают подсказки движку и редактору Unity, как с ними работать.
Зачем?
- Делать переменные видимыми в Инспекторе без ключевого слова public
- Задавать диапазоны значений для ползунка
- Добавлять в контекстное меню кнопки для вызова методов
- Скрывать ненужные поля в Инспекторе
Как использовать?
Просто напиши имя атрибута в квадратных скобках [] перед элементом.
Популярные атрибуты:
[SerializeField]
Показывает private поле в Инспекторе.
[Range(min, max)]
Создает ползунок для значения.
[Header("Название")]
Добавляет заголовок в Инспектор.
[Tooltip("Подсказка")]
Показывает текст при наведении курсора.
[HideInInspector]
Прячет public поле из Инспектора.
Важно!
Атрибуты не меняют логику кода, а только управляют его отображением и поведением в редакторе Unity. НО есть атрибут Obsolete который не относится к юнити и не влияет на отображение в редакторе. Еще в поля можно писать только константы, не переменные!
💡 Используй, чтобы сделать процесс настройки объектов интуитивным и удобным.
#Unity #Unity3D #CSharp #Атрибуты #Gamedevelopment
Что это?
Специальные метки для классов, переменных или методов. Они дают подсказки движку и редактору Unity, как с ними работать.
Зачем?
- Делать переменные видимыми в Инспекторе без ключевого слова public
- Задавать диапазоны значений для ползунка
- Добавлять в контекстное меню кнопки для вызова методов
- Скрывать ненужные поля в Инспекторе
Как использовать?
Просто напиши имя атрибута в квадратных скобках [] перед элементом.
Популярные атрибуты:
[SerializeField]
Показывает private поле в Инспекторе.
[SerializeField] private int _health;
[Range(min, max)]
Создает ползунок для значения.
[Range(0f, 10f)] public float speed;
[Header("Название")]
Добавляет заголовок в Инспектор.
[Header("Player Settings")]
public int playerScore;[Tooltip("Подсказка")]
Показывает текст при наведении курсора.
[Tooltip("Сила прыжка в ньютонах")]
public float jumpForce;[HideInInspector]
Прячет public поле из Инспектора.
[HideInInspector] public bool isGrounded;
Важно!
Атрибуты не меняют логику кода, а только управляют его отображением и поведением в редакторе Unity. НО есть атрибут Obsolete который не относится к юнити и не влияет на отображение в редакторе. Еще в поля можно писать только константы, не переменные!
💡 Используй, чтобы сделать процесс настройки объектов интуитивным и удобным.
#Unity #Unity3D #CSharp #Атрибуты #Gamedevelopment
🔥8🎄2
⚡️ Unity: 5 вещей, которые убивают оптимизацию
Твой проект лагает даже на сцене с кубиками? Скорее всего, причина в одной из этих 5 ошибок. Устрани их — и производительность сразу вырастет.
1️⃣ Бесконечный поток новых объектов (Instantiate/Destroy)
Это хаос в памяти! Создание и удаление объекта — тяжёлые операции для Garbage Collector (GC).
📌 Что делать: Используй пул объектов (Object Pooling). Создай заранее 10 пуль, 20 врагов или 100 эффектов. Переиспользуй их, а не создавай заново.
💡 Создай один раз, спрячь (SetActive(false)), доставай когда нужно.
2️⃣ Полноценный Update() там, где можно обойтись
Проверка условия в Update() 60 раз в секунду — дикая нагрузка, если это не требуется.
📌 Что делать: Вместо
💡 Замени
3️⃣ Слишком много объектов на сцене с коллайдерами
Каждый коллайдер — нагрузка на физику (Physics Engine). 100 активных Rigidbody и BoxCollider = гарантированные тормоза.
📌 Что делать: Отключай (
💡 Ставь Static Flag для неподвижных объектов — физический движок их оптимизирует.
4️⃣ Сырые текстуры и модели
Загрузил в проект 4K текстуру для кнопки? Модель с 100к полигонов для камня? Память съедена, а FPS упал.
📌 Что делать: Всегда сжимай текстуры (Format: ASTC, ETC2). Оптимизируй полигоны моделей. Используй спрайт-атласы для 2D.
💡 В окне Import Settings задавай максимальный размер текстуры (Max Size 1024 для фона — уже много).
5️⃣ Глобальные переменные в скриптах
Постоянные обращения типа
📌 Что делать: Кэшируй ссылки! Выполни поиск в Start() или Awake() и сохрани в приватную переменную. Обращайся уже к ней.
💡 Вместо
🔥 Проверь свой проект по этим пунктам прямо сейчас. Чаще всего проблема в первых трёх!
📌 Сохрани этот чек-лист перед каждым билдом.
🔔 Подписывайся — дальше будет про оптимизацию UI, Shader'ов и памяти на мобилках.
💬 А с какой проблемой сталкивался ты? Пиши в комментах!
👉Akrus Games | Unity
Твой проект лагает даже на сцене с кубиками? Скорее всего, причина в одной из этих 5 ошибок. Устрани их — и производительность сразу вырастет.
1️⃣ Бесконечный поток новых объектов (Instantiate/Destroy)
Это хаос в памяти! Создание и удаление объекта — тяжёлые операции для Garbage Collector (GC).
📌 Что делать: Используй пул объектов (Object Pooling). Создай заранее 10 пуль, 20 врагов или 100 эффектов. Переиспользуй их, а не создавай заново.
💡 Создай один раз, спрячь (SetActive(false)), доставай когда нужно.
2️⃣ Полноценный Update() там, где можно обойтись
Проверка условия в Update() 60 раз в секунду — дикая нагрузка, если это не требуется.
📌 Что делать: Вместо
if (isReady) в Update() используй корутину с WaitForSeconds или InvokeRepeating. Для физики — FixedUpdate. Для событий — подписки (event/delegate).💡 Замени
void Update() на IEnumerator MyTimer() везде, где это возможно.3️⃣ Слишком много объектов на сцене с коллайдерами
Каждый коллайдер — нагрузка на физику (Physics Engine). 100 активных Rigidbody и BoxCollider = гарантированные тормоза.
📌 Что делать: Отключай (
enabled = false) коллайдеры у далёких или неактивных объектов. Для статичной декорации используй один Mesh Collider вместо сотни примитивных.💡 Ставь Static Flag для неподвижных объектов — физический движок их оптимизирует.
4️⃣ Сырые текстуры и модели
Загрузил в проект 4K текстуру для кнопки? Модель с 100к полигонов для камня? Память съедена, а FPS упал.
📌 Что делать: Всегда сжимай текстуры (Format: ASTC, ETC2). Оптимизируй полигоны моделей. Используй спрайт-атласы для 2D.
💡 В окне Import Settings задавай максимальный размер текстуры (Max Size 1024 для фона — уже много).
5️⃣ Глобальные переменные в скриптах
Постоянные обращения типа
FindObjectOfType<GameManager>() или GetComponent<>() в Update — это вызовы каждый кадр.📌 Что делать: Кэшируй ссылки! Выполни поиск в Start() или Awake() и сохрани в приватную переменную. Обращайся уже к ней.
💡 Вместо
GetComponent<Renderer>().material.color в цикле — сохрани Renderer _myRenderer один раз.🔥 Проверь свой проект по этим пунктам прямо сейчас. Чаще всего проблема в первых трёх!
📌 Сохрани этот чек-лист перед каждым билдом.
🔔 Подписывайся — дальше будет про оптимизацию UI, Shader'ов и памяти на мобилках.
💬 А с какой проблемой сталкивался ты? Пиши в комментах!
👉Akrus Games | Unity
❤7🔥4
✅ Tilemap в Unity: Создание 2D-уровней
Что это?
Система для быстрого построения 2D-уровней из тайлов (кирпичики-спрайты). Идеально для платформеров, топ-даун игр и пиксель-арта.
Как начать:
1. Создай Tilemap: ПКМ в Hierarchy → 2D Object → Tilemap
2. Добавь Grid (сетка-родитель для всех Tilemap), обычно создаётся автоматически
3. Открой окно Tile Palette (Window → 2D → Tile Palette)
Практика:
Основные инструменты:
• Кисть (Paint Brush) - рисование тайлов
• Заливка (Bucket) - заполнение областей
• Ластик (Erase) - удаление тайлов
• Rule Tiles - умные тайлы с авто-текстурированием
Создание Rule Tile:
1. ПКМ в Project → Create → 2D → Tiles → Rule Tile
2. Настрой правила соседства (например: трава с землёй снизу)
3. Перетащи в Tile Palette
Важные советы:
• Разделяй слои: Foreground, Background, Collision (добавь Composite Collider 2D)
• Используй Animated Tiles для воды/лавы
• Для оптимизации: включи Chunk Culling в Tilemap Renderer
• Экспортируй карты в .json через [SerializeField]
💡 Пример применения:
- Случайная генерация платформ
- Прорисовка подземелий
- Создание разрушаемых блоков
#Unity2D #Tilemap #GameDev #IndieDev
---
🔥 Дополнительные хаки:
1. Разрушаемые тайлы:
2. Авто-коллайдеры:
• Добавь Tilemap Collider 2D
• Выбери Used By Composite
• Добавь Composite Collider 2D (настрой форму в Rigidbody 2D)
3. Слои для сортировки:
• Настрой Sorting Layer в Tilemap Renderer
• Используй Order in Layer для переднего/заднего плана
Пост создан в вашем стиле: минимум теории, максимум практики! 🚀
Что это?
Система для быстрого построения 2D-уровней из тайлов (кирпичики-спрайты). Идеально для платформеров, топ-даун игр и пиксель-арта.
Как начать:
1. Создай Tilemap: ПКМ в Hierarchy → 2D Object → Tilemap
2. Добавь Grid (сетка-родитель для всех Tilemap), обычно создаётся автоматически
3. Открой окно Tile Palette (Window → 2D → Tile Palette)
Практика:
// Генерация случайного тайла в коде:
public Tile[] groundTiles; // Перетащи тайлы в инспектор
void GeneratePlatform()
{
Tilemap tilemap = GetComponent<Tilemap>();
Vector3Int position = new Vector3Int(Random.Range(-5, 5), 0, 0);
// Выбираем случайный тайл
Tile randomTile = groundTiles[Random.Range(0, groundTiles.Length)];
tilemap.SetTile(position, randomTile);
}
Основные инструменты:
• Кисть (Paint Brush) - рисование тайлов
• Заливка (Bucket) - заполнение областей
• Ластик (Erase) - удаление тайлов
• Rule Tiles - умные тайлы с авто-текстурированием
Создание Rule Tile:
1. ПКМ в Project → Create → 2D → Tiles → Rule Tile
2. Настрой правила соседства (например: трава с землёй снизу)
3. Перетащи в Tile Palette
Важные советы:
• Разделяй слои: Foreground, Background, Collision (добавь Composite Collider 2D)
• Используй Animated Tiles для воды/лавы
• Для оптимизации: включи Chunk Culling в Tilemap Renderer
• Экспортируй карты в .json через [SerializeField]
💡 Пример применения:
- Случайная генерация платформ
- Прорисовка подземелий
- Создание разрушаемых блоков
#Unity2D #Tilemap #GameDev #IndieDev
---
🔥 Дополнительные хаки:
1. Разрушаемые тайлы:
void DestroyTile(Vector2 worldPos)
{
Tilemap tilemap = GetComponent<Tilemap>();
Vector3Int cellPos = tilemap.WorldToCell(worldPos);
tilemap.SetTile(cellPos, null); // Удаляем тайл
SpawnExplosionEffect(worldPos);
}
2. Авто-коллайдеры:
• Добавь Tilemap Collider 2D
• Выбери Used By Composite
• Добавь Composite Collider 2D (настрой форму в Rigidbody 2D)
3. Слои для сортировки:
• Настрой Sorting Layer в Tilemap Renderer
• Используй Order in Layer для переднего/заднего плана
Пост создан в вашем стиле: минимум теории, максимум практики! 🚀
🔥5