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

Сотрудничество/реклама/помощь @Akrus001
Download Telegram
🚗 Racing Starter Kit FREE

Стартовый набор для гонок.

🔗Ссылка

💵Цена: бесплатно

👉Akrus Games | Unity

#ассеты #бесплатно #полезно #Unity #CSharp #RacingGame
Please open Telegram to view this post
VIEW IN TELEGRAM
3🔥21
Пишите в комментариях, какие ассеты вам нужны!
321
Подборка пиксельных ассетов!

2D TopDown Tilesets Fantasy Dreamland
ссылка: тык
Что внутри:
25000 тайлов
800 анимированных тайлов
Различные локации и структуры
100 персонажей с анимациями

Ссылка на скачивание: тык


2D Pixel-art Town Environment kit
ссылка: тык
Что внутри:
Этот набор представляет собой коллекцию нарисованных от руки 2D-пиксельных спрайтов, предназначенных для использования в различных игровых средах.

Ссылка на скачивание: тык
🔥4
➡️Screenshot Saturday!

⚡️Вот и настала суббота. Делитесь своими проектами, мыслями и наработками в комментариях!

👉Akrus Games | Unity

#screenshotsaturday
Please open Telegram to view this post
VIEW IN TELEGRAM
4
This media is not supported in your browser
VIEW IN TELEGRAM
Работа подписчика @OneFlewOverIT.
Делаю хоррор про сумашествие и добавил уровень где мы вместо комнаты пробегаем целый лес


Присылайте свои работы, лучшие выложим сюда
933
Какую тему ты хочешь увидеть в следующем посте?

Я стараюсь делать практичные, чёткие и мощные материалы по Unity и C#, которые действительно помогают в работе.

Хочу сделать следующий пост именно под тебя👇

🎯 Что тебя интересует сейчас больше всего?

🧱 Архитектура в Unity
🎮 Геймплейные системы
📦 ScriptableObject и Events
⚡️ Оптимизация и производительность
📚 Полезные ресурсы и книги
🧠 Паттерны и структура кода
🧪 Тестирование, дебаг, отладка
🎨 Визуал, UI, Shader Graph
🌐 Сохранения, мультиплеер, Firebase
🧩 Инспекторы и Editor Tools

💬 Напиши в комменты или каналу, что тебе реально нужно — я сделаю пост не “в общем”, а именно под твой уровень и задачи.

🔔 Подписывайся, чтобы не пропустить — дальше будет только сильнее.

👉Akrus Games | Unity

#CSharp #Unity #советы #GameDev #сишарп
Please open Telegram to view this post
VIEW IN TELEGRAM
4🔥22
Все заходите в наш чат! Там будем общаться про темы для поста, чтобы помочь вам.
https://t.me/chatAkrus001

Давайте сделаем 60 участников.

Распространите
32🔥1
Akrus Games | Unity
Выбираем тему для поста
Давайте наберём 100 голосов!
🔥522
Akrus Games | Unity
Выбираем тему для поста
Спасибо вам большое, что набрали 100 голосов, в ближайшее время подготовлю для вас супер пост по мультиплееру❤️
Please open Telegram to view this post
VIEW IN TELEGRAM
5🔥33
322
Raycast в Unity: основа взаимодействий

Что это?
Воображаемый луч, который проверяет столкновения с объектами. Как лазерная указка!

Зачем?
• Проверять попадания пуль/лучей
• Определять, видит ли враг игрока
• Измерять дистанции (например, для ИИ)
• Работать с 2D (Physics2D.Raycast) и 3D (Physics.Raycast)

Как работает?
1. Задаешь стартовую точку и направление
2. Указываешь максимальную длину луча
3. Получаешь данные о первом столкнувшемся объекте

Пример 3D:
RaycastHit hit;
if (Physics.Raycast(transform.position, transform.forward, out hit, 20f))
{
// Если луч попал в объект:
Debug.Log("Объект: " + hit.collider.name);
Destroy(hit.collider.gameObject);
}

Пример 2D:
RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.right, 15f);
if (hit.collider != null)
{
Debug.Log("Попал в 2D объект: " + hit.collider.name);
}

Важно!
• Не забывай про теги и слои (LayerMask) для фильтрации объектов
• Для визуализации в редакторе: Debug.DrawRay(startPos, direction * length, Color.red)
• Используй RaycastAll для множественных попаданий

💡 Применяй для: оружия, путей ИИ, взаимодействий с окружением.
Практикуйся! Чем чаще используешь — тем интуитивнее становится.

#Unity #Unity3D #GameDev #Raycast #Gamedevelopment
1062
Что же такое пост обработка в Unity?
Пост обработка - это добавление визуальных эффектов в игру, например свечение или размытие.

Как использовать?
1. Добавь Post-process Volume на сцену.
2. Создай профиль (Profile) в компоненте.
3. На главной камере добавь Post-process Layer.
4. Выбери слой Volume в настройках камеры.
5. Добавляй эффекты в профиль и настраивай параметры.

Какие бывают эффекты?
- Bloom: Свечение вокруг ярких объектов.
- Depth of Field: Размытие фона (как в фотоаппарате).
- Motion Blur: Размытие при быстром движении.
- Vignette: Затемнение краёв экрана.
- Color Grading: Настройка цветов и контраста.
- Ambient Occlusion: Реалистичные тени в углах.
- Chromatic Aberration: Цветные блики у контрастных краёв.

Используй постобработку, чтобы графика выглядела профессионально! 💥
#Unity #gamedev #постобработка
4🔥1🤯1
🧩 Мультиплеер на Photon PUN 2: Код
Хочешь делать мультиплеер, но нет нормальных гайдов? Здесь основы кода!

🔥 Базовая настройка за 2 шага:
1. Скачай PUN 2 в Unity Asset Store
2. В главном меню вызови подключение:
using Photon.Pun;
void Start() {
PhotonNetwork.ConnectUsingSettings();
}

(Добавь скрипт на пустой объект в сцене)

---

🔹 1. 📡 PhotonView - Сердце синхронизации
• Объекты с PhotonView видны всем игрокам (пули, стены)
Observed Components: компоненты для синхронизации (Transform, Rigidbody)

Код (синхронизация переменной):
public class PlayerHealth : MonoBehaviour, IPunObservable {  
public int health;

public void OnPhotonSerializeView(PhotonStream stream, PhotonMessageInfo info) {
if (stream.IsWriting) // Твой игрок → отправка
stream.SendNext(health);
else // Чужой игрок → прием
health = (int)stream.ReceiveNext();
}
}

---

🔹 2. 📨 RPC (Remote Procedure Call)
• Вызов методов на всех клиентах/конкретном игроке

Код (выстрел):
[PunRPC]  
void RPC_Shoot(Vector3 pos, Vector3 dir) {
Instantiate(bulletPrefab, pos, Quaternion.LookRotation(dir));
}

void ShootLocally() {
photonView.RPC("RPC_Shoot", RpcTarget.All, gunPosition.position, gunPosition.forward);
}

---

🔹 3. 👑 Master Client - Хозяин комнаты
• Главный клиент (первый вошедший)
• Решает: начало игры, спавн боссов

Код (старт игры):
if (PhotonNetwork.IsMasterClient && allPlayersReady) {  
photonView.RPC("RPC_StartGame", RpcTarget.All);
}

---

🎯 Итог:
PUN 2 дает готовые инструменты:
PhotonView: синхронизация объектов
RPC: сетевое взаимодействие
MasterClient: контроль комнаты
Пишешь логику → PUN обрабатывает сеть!

#Unity #GameDev #Multiplayer #Photon #PUN2 #NetworkCode
4🔥2😁22
ScriptableObjects: Данные без сцен

Что это?
Классы-контейнеры для хранения данных и логики, не привязанных к GameObject. Как "ресурсы" в проекте.

Зачем?
• Хранение настроек (оружие, враги, уровни)
• Создание системы событий (GameEvents)
• Реализация архитектуры на основе данных
• Упрощение балансировки игры

Как создать?
1. Создай класс-наследник ScriptableObject:
[CreateAssetMenu(fileName = "NewWeapon", menuName = "Items/Weapon")]
public class WeaponSO : ScriptableObject
{
public string weaponName;
public int damage;
public Sprite icon;
}


2. ПКМ в Project View → Create → Items/Weapon
3. Настраивай параметры в инспекторе

Как использовать?
public WeaponSO currentWeapon;

void Start()
{
Debug.Log($"Урон: {currentWeapon.damage}");
}


Важно!
• Идеально для конфигов и событий
• Не для динамических объектов
• Для runtime изменений нужен паттерн Memento

💡 Применяй: настройки игрока, система диалогов, глобальные ивенты.
#Unity #CSharp #ScriptableObjects #GameDev
🔥21😁11
Coroutines: Асинхронные операции

Что это?
Функции, выполняющиеся с задержками между кадрами. Не блокируют основной поток.

Зачем?
• Плавные анимации
• Таймеры и задержки
• Постепенная загрузка контента
• Работа с WWW/UnityWebRequest

Как использовать?
IEnumerator Fade() 
{
float alpha = 1f;
while (alpha > 0)
{
alpha -= Time.deltaTime * 0.5f;
GetComponent<Renderer>().material.color = new Color(1, 1, 1, alpha);
yield return null; // Ждём следующий кадр
}
}

// Запуск:
StartCoroutine(Fade());


Важные нюансы:
• Всегда объявляй как IEnumerator
yield return new WaitForSeconds(2f) - пауза
yield return new WaitUntil(() => condition) - ожидание условия
• Останавливай через StopCoroutine()

💡 Не используй для физики! Только для визуала и таймеров.
#Unity #Coroutines #CSharp #GameDev
🔥521