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

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
Tilemap в Unity: Создание 2D-уровней

Что это?
Система для быстрого построения 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🔥11
Unity: Sprite Mode Multiple - Разрезаем спрайт-листы!

Зачем это?
Когда импортируешь изображение со множеством спрайтов (анимации, тайлы) — выбери 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
Изменяемое окно игры в Unity

Как настроить?
В сборках под ПК (Windows/Mac/Linux) это делается в настройках плеера.

Пошагово:
1. Открой File → Build Settings
2. Выбери платформу (PC)
3. Нажми Player Settings
4. В разделе Resolution and Presentation:
- Default Is Full Screen — сними галочку
- Fullscreen Mode — выбери "Windowed"
- Resizable Window — отметь галочку (доступно для Windows/Mac)

Важные нюансы:
• Размер окна при старте задаётся в полях Default Screen Width/Height
• Игрок может менять размер перетаскиванием краёв окна
• В коде можно отслеживать изменение размера:

void Update()
{
if (Screen.width != lastWidth || Screen.height != lastHeight)
{
// Пересчитать интерфейс или камеру
UpdateLayout();
lastWidth = Screen.width;
lastHeight = Screen.height;
}
}


Что проверить:
- Интерфейс (UI) должен адаптироваться под разные разрешения
- Камера может требовать перенастройки при изменении пропорций
- Для Windows убедись, что в Target Platform выбрана версия с DX11/OpenGL

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

Советую прочитать предыдущий пост про настройку Canvas

#Unity #GameDev #Сборка #Unity2D #Unity3D
4331
Изменяемое окно игры в Unity

Как настроить?
В сборках под ПК (Windows/Mac/Linux) это делается в настройках плеера.

Пошагово:
1. Открой File → Build Settings
2. Выбери платформу (PC)
3. Нажми Player Settings
4. В разделе Resolution and Presentation:
- Default Is Full Screen — сними галочку
- Fullscreen Mode — выбери "Windowed"
- Resizable Window — отметь галочку (доступно для Windows/Mac)

Важные нюансы:
• Размер окна при старте задаётся в полях Default Screen Width/Height
• Игрок может менять размер перетаскиванием краёв окна
• В коде можно отслеживать изменение размера:

void Update()
{
if (Screen.width != lastWidth || Screen.height != lastHeight)
{
// Пересчитать интерфейс или камеру
UpdateLayout();
lastWidth = Screen.width;
lastHeight = Screen.height;
}
}


Что проверить:
- Интерфейс (UI) должен адаптироваться под разные разрешения
- Камера может требовать перенастройки при изменении пропорций
- Для Windows убедись, что в Target Platform выбрана версия с DX11/OpenGL

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

Советую прочитать пост про настройку Canvas

#Unity #GameDev #Сборка #Unity2D #Unity3D
🔥94😱21
Tilemap в Unity: Создание 2D-уровней

Что это?
Система для быстрого построения 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