Кодерские работы
101 subscribers
651 photos
205 videos
31 files
129 links
Немного (а может и нет) программирую 👾

Сайт - https://wixdev.netlify.app
Download Telegram
This media is not supported in your browser
VIEW IN TELEGRAM
👌 Наконец-то проект починил, для решения проблемы пришлось перейти на Unity 6.
👾 Для тех, кто не шарит, это самая новая версия движка, которая релизнулась буквально пару недель назад.

👨‍💻 Поэтому в разработке игры есть некоторые продвижения.
🗺️ Написал скрипт, который делит один большой тайлмап на более мелкие - чанки, нужного мне размера.
🎮 Скоро покажу, как работает в игре подгрузка чанков.
🎥 Код уже написан и всё работает, но с записью процесса возникли проблемы.
👏8🤯2
👾 Загрузка чанков готова.

🐢 Первый вариант подгрузки был очевидно прост, но очень ресурсозатратный — перебор всех чанков с проверкой, насколько близко игрок. ФПС от этого, мягко говоря, пострадал и качался где-то на уровне 1.
🗑️ Поэтому быстро отмёл эту идею и приступил к другой реализации.

📌 Суть в чем: теперь каждый чанк окружен коллайдером-триггером. Как только игрок входит в зону триггера — чанк активируется, выходит — рендер прекращается.
🏎️ Так сказать чутка добавил оптимизации, для начала сойдет.
🚶‍♂️ При перемещении по миру переход незаметен, потому что буферная зона коллайдера чуть больше самого чанка.

🎥 Первое видео, попытки отладить, найти подходящие параметры, второе видео более менее конечный вариант.
❤61
💬 Хочу позвать вас в один интересный канал, где я тоже есть!
👾 Его цель — объединить всех девелоперов и их зрителей в одно большое, дружное комьюнити.

💻 Там сможете следить за интересными проектамии просто знакомиться с людьми, которые так же интересуются разработкой.

😏 Присоединяйтесь, обязательно (если интересно) -> тут
61
✌️ Решено, стрим на этой неделе на Ютубе.
🎥 В какой день вам будет удобно?
Final Results
47%
👾 Суббота
53%
🎮 Воскресенье
This media is not supported in your browser
VIEW IN TELEGRAM
🤔 Как думаете, чем я здесь занимаюсь?

🙃 Не обращайте внимания на ФПС. Запись+игра много ресурсов от ноута требует, а он не вывозит чутка)
6💊11
👾 Optimization.
🇬🇧 Perfect English
🔥 Ставьте много (10) реакций расскажу что тут происходит и как я этого добился.
🔥12
Кодерские работы
✌️ Решено, стрим на этой неделе на Ютубе.
🎥 В какой день вам будет удобно?
👾 В воскресенье, так в воскресенье, буду ждать вас и готовиться сам)
🤝1
⌛ В какое время будет удобно присутствовать на стримчанском (по МСК)?
Final Results
29%
13:00 - 15:00
24%
15:00 - 17:00
47%
17:00 - 19:00
Кодерские работы pinned «⌛ В какое время будет удобно присутствовать на стримчанском (по МСК)?»
Кодерские работы
👾 Optimization. 🇬🇧 Perfect English 🔥 Ставьте много (10) реакций расскажу что тут происходит и как я этого добился.
🔥 Подогрею ваш интерес, чтобы ставили реакции)

P.s. Молодцы, что набрали, я щас немного на учебе, как освобожусь дам вам инфу)
👾72
1️⃣ Полная отрисовка

В режиме полной отрисовки весь тайлмап всегда активен и постоянно отрисовывается, вне зависимости от того, находится ли игрок рядом или нет.

📊 Результат: FPS — 17.9, CPU загрузка — 56.0ms.
🏁 Итог: Способ не подходит, т.к. даже при пустой карте ФПС низкий

2️⃣ Частичный рендер — оптимизация первого уровня

Здесь карта остается активной, но рендерятся только те объекты, которые находятся рядом с игроком. Это снижает нагрузку за счет отключения рендеринга дальних объектов, которые игрок не видит.

🔹 Принцип работы: При удалении объектов от игрока (например, за пределами видимости) их рендеринг отключается, хотя сами объекты остаются активными. Такой подход уменьшает количество треугольников и вершин в кадре.

🔹 Недостатки: Хотя это снижает нагрузку на графический процессор, активные объекты по-прежнему используют память и CPU ресурсы, даже если они не рендерятся.

📊 Результат: FPS — 34.2, CPU загрузка — 29.2ms.

🏁 Итог: Уже получше, но можно еще добавить отимизации)
❤41
3️⃣ Выборочная загрузка и рендеринг — максимальная оптимизация, до которой я додумался

В этом режиме активны и отрисовываются только чанки рядом с игроком, а остальные полностью отключены. Это решение дает лучший баланс производительности и использования ресурсов.

🔹 Принцип работы: Объекты вокруг игрока активируются и рендерятся, а когда игрок отдаляется, они деактивируются. При этом неактивные объекты не потребляют ресурсы, поскольку они полностью отключены.

🔹 Преимущества: Этот способ обеспечивает большую оптимизацию за счет меньшей нагрузки на CPU и GPU. Это отличный вариант для меня, лучше пока не придумал.

📊 Результат: FPS — 44.4, CPU загрузка — 22.5ms.

🛠 Оптимизация чанков: изнутри 🛠

Когда игрок приближается к тригеру чанка, мы активируем его рендеринг и включаем соседние чанки:

tilemapRenderer.enabled = true;
public void ActivateNeighbour()
{
foreach (Chunk chunk in neighborChunks)
{
chunk.gameObject.SetActive(true);
}
}


Когда игрок уходит, мы отключаем чанк и его ненужных соседей через отложенную деактивацию, чтобы избежать резких переходов:

private IEnumerator DeactivateTime(float time) 
{
yield return new WaitForSeconds(time);
tilemapRenderer.enabled = false;
DeactivateNeighbour();
}


⚙️ Как-то так и работает)
🔥41
LWT.apk
36.1 MB
⚙️ Ребят, вот вам пре пре пре альфа.
🎮 Скажите, у кого запускается игра, т.е. видно меню.
🐞 А то я протестировал на двух телефонах и на одном просто черный экран.

P.s. Если игра при нажатии на "Play" зависает, это не баг)
❤4
Игра работает?
Если нет, то напишите или сделайте скриншот, что у вас.
Anonymous Poll
44%
Да
56%
Нет
📱 А какой у вас телефон?
Anonymous Poll
76%
Android
24%
IOS
Pixel Dystopia
<unknown>
🎸 Прочувствуйте вайб битвы с боссом первого уровня.
👾 Босса ещё нет, а музыкальная атмосфера уже есть!
🔥8
❗Завтра стрим в 18:00 по МСК❗

👋 Всем добрейший вечерок.
👨‍💻 Сегодня у меня прям нагруженный день, утром экзамен, а сейчас активная подготовка к стриму.
🎮 Уже выбрал игру для стрима, картинка это пасхалка)
☺️ Так что буду рад всех видеть и пообщаться с вами.

⚙️ Пойду дальше настраивать нужные программы.
🌐 Все ссылочки будут завтра.
❤411