Яковлев Илья | Gamedev – Telegram
Яковлев Илья | Gamedev
4.97K subscribers
277 photos
36 videos
19 files
242 links
Download Telegram
И снова всем #ПриветИзПрошлого!)

А вот вам ещё кусочек необычного кода, который реально работал в Юньке!

➡️ В прошлом посте про старый Юнити мы обсуждали, что раньше можно было писать скрипты аж на трёх языках. И если один из них - Boo, - оказался почти никому не нужен и вскоре забыт, то второй, - UnityScript, - зашёл немалому числу людей, и долгое время был настоящим конкурентом C#.

⚙️ И это не удивительно. Boo интегрировали в Юнити чисто "чтобы был". Создателя языка просто наняли в штат компании, и он как-то там поддерживал своё детище на фоне. А вот UnityScript разрабатывали самостоятельно, эксклюзивно для движка, поэтому этот язык умел некоторые штуки, о которых даже современный C# может только мечтать.

💡 Например, в скриптах было необязательно писать класс - просто лепи код, как есть, а движок сам поймёт, что нужно отнаследоваться от монобеха. А ещё все сущности, написанные на этом языке, сразу умели отображаться в Инспекторе, потому что аттрибут [System.Serializable] применялся к ним автоматически.

ℹ️ Само название UnityScript намекает, что его основные идеи нагло спёрли подсмотрели у JavaScript. Даже файлам с кодом оставили расширение .js, из-за чего некоторые начинающие разработчики игр потом искренне верили, что именно так и выглядит ДжаваСкрипт - с классами и статической типизацией 😂

📉 К сожалению, хоть этот язык и шёл гораздо лучше Boo, в итоге они разделили одну судьбу. Со временем разработчики всё больше склонялись в сторону C#, считая, что альтернативы - ерунда и детский лепет. В итоге Unity Technologies объявили, что и Boo, и UnityScript будут полностью удалены из движка.

📊 И пусть на тот момент меньше 3% всех проектов использовали UnityScript как основной язык, всё равно в каждой пятой игре, сделанной на Unity, был хотя бы один .js-файл. Поэтому, в отличие от Boo, нашего героя не забыли полностью. Более того, именно из-за него по сей день некоторые новички верят, что в Unity можно писать код на ДжаваСкрипте... или вообще на Java))

А ещё ходят слухи, что где-то в тёмных подвалах разработчики до сих пор поддерживают старые игры, написанные на UnityScript...

А вы встречали UnityScript в проектах? 🧐 Пишите в комментариях и ставьте 🔥 , если хотите узнать больше о старой Юньке!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3114🐳7
⭐️ Screenshot Saturday! ⭐️

Делимся своими наработками/проектами/идеями в комментариях!🔥🔥🔥
10🔥5🐳4
Недавно мы с вами уже рассматривали интересности из старых версий движка. Но и в настоящем есть, что посмотреть, так что сегодня тестируем рубрику, в которой будем рассказывать, #ЧтоНового крутого появилось в новых релизах Юньки!)) Поддержите 🔥, если хотите ещё таких выпусков!

Запекать красивый свет никогда не было так просто, как в Unity 6!

💡 Свет - невероятно мощный инструмент, который может в корне преобразить визуал игры и бесконечно радовать глаз игрока. А запекание освещения заблаговременно, на этапе разработки, позволяет всей этой красоте ещё и не нагружать устройство пользователя расчётами в реальном времени.

Если какие-то объекты на сцене статичны, значит, падающий на них свет и отбрасываемая ими тень не будут меняться в процессе игры, так что, вместо того, чтобы просчитывать их каждый кадр в рилтайме, можно сделать это единожды заранее и записать все затемнения и засветы прямо в текстуры сущностей.

Но что делать с динамичными объектами? Ведь вшивать в связанные с ними материалы данные освещения явно не стоит, а то игрок очень удивится, когда сломает ящик, а тень от него останется на стене 😄

⚡️ Для решения этой задачи в Unity давно существуют так называемые Light Probes. Они работают по прямо противоположному принципу: запоминают степень освещённости не на поверхностях, а на пустых пространствах вокруг себя. Впоследствии, если в зоне их действия появляется какой-то объект, движок не тратит время на раздумья "как сильно нужно освещать эту сущность," а просто вытаскивает из лайт пробы заранее просчитанные значения для этого куска сцены и применяет их во всех нужных местах. Удобно! Но не совсем. Объективным недостатком технологии Light Probes является необходимость вручную расставлять их в нужных местах. Этот процесс довольно кропотливый, да ещё и приходится повторять его каждый раз, когда архитектура сцены изменяется.

💥 В Unity 6 и эту проблему постарались решить! На одной из презентаций была представлена новая технология - Adaptive Probe Volumes (APV). Идея проста: нажмите одну кнопку, и движок расставит Light Probe-группы за вас, основываясь на источниках освещения сцены и её архитектуре! Более того, в целях оптимизации APV по-разному распределяет пробы на каждом конкретном участке локации. Чем сложнее архитектура сегмента, тем кучнее группы Light Probe'ов будут расположены. И наоборот - там, где толком ничего нет, много лампочек пихать не будут. Незачем.

✏️ Чтобы использовать Adaptive Probe Volumes в URP- или HDRP-проекте на Unity 6 или выше, открываем ассет нашего пайплайна и в поле Lighting > Light Probe System переключаем "Light Probe Groups" на "Adaptive Probe Volumes". Далее в окне глобальных настроек освещения (Открывается на Ctrl+9) на вкладке Scene выключаем флаг Realtime Global Illumination, если он включён, и нажимаем Generate Lighting в нижней панели. После этого группы Light Probes должны сгенерироваться для всех Baked- или Mixed-источников освещения. А посмотреть, как эти группы расставило по сцене, можно, включив флаг Probe Visualization > Display Probes в дебаггере рендеринга (В верхней панели выбираем Window > Analysis > Rendering Debugger, вкладка Probe Volumes).

ℹ️ Стоит отметить, что технология ещё молодая и требовательная к настройке проекта, поэтому на некоторых сценах может сбоить и ставить отдельные лайт пробы невпопад, а сами лампочки иногда просвечивают между стенами, если последние слишком тонкие. Но, уверены, в будущем это поправят, как уже довели до ума многие другие инструменты, без которых мы сейчас просто не можем представить работу в Unity. Да и уже сегодня эта технология выглядит очень многообещающе! 😎

Такая вот сегодня интересность о новом движке:) Делитесь в комментариях своим опытом использования APV и не забывайте про 🔥, если интересно узнать, #ЧтоНового ещё принёс нам Юнити шестого поколения!
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8410🐳3
🔥 Бесплатные ассеты 🔥

Подписчик поделился проходящими сейчас акциями (спасибо ему!), а я делюсь с вами!)

🔣 Набор прикольных мультяшных ассетов для прототипирования от KayKit можно забрать тут

🔣 Деревья, природные ассеты можно забрать тут по промокоду: BLACKHORIZON2025

Пользуйтесь на здоровье:) Будем стараться отлавливаться подобные приятности и дальше🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥398🐳2👍1
InspectorMagicWithLogo.gif
24 MB
Инспектор может больше, чем ты думаешь!

Полгода назад в одном из постов про #лайфхаки я уже рассказывал, что Юнька позволяет вставлять в float-поля не только стандартные значения, но и бесконечность. Однако тогда из финального текста пропал кусок с объяснением, как именно это можно сделать:)

Так что расскажу про такие возможности по подробнее)

Если вам временно нужно сделать бесконечным количество патронов или секунд в таймере, настраиваемом float-значением через Инспектор, не спешите лезть в код и переписывать логику. Просто напишите в нужном поле inf или Infinity, и Юнити автоматически подставит туда соответствующее значение.

Также можно получить отрицательную бесконечность, написав -inf или -Infinity соответственно, если вам вдруг это зачем-то надо.

А ещё таким образом можно вставить в float-поле число Пи (pi) и Not a Number (NaN). Конкретно это на практике не особо полезно, но прикольно же! 😎

Ну и фактик напоследок - Инспектор ещё и считать умеет! Если по заветам Сида Мейера захотите увеличить или уменьшить какое-то значение в два раза, не тянитесь за калькулятором. Просто введите в Инспектор математические выражения, и он всё посчитает за вас. Помимо базовых операций поддерживаются возведение числа в степень при помощи символа ^ и взятие квадратного корня через sqrt()

На сегодня у меня всё. Как всегда, если пост понравился, обязательно ставьте 🔥
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥8412👍10🥱2🐳2
🔥 Еще пачка ассетов 🔥

Подписчики продолжают делиться проходящими сейчас акциями (спасибо!), а я делюсь с вами!)

🔣 Интересная моделька рыцаря в реализме: [ЗАБРАТЬ ТУТ]

🔣 Симпотный природный ассет: [ЗАБРАТЬ ТУТ]

🔣 Крутая моделька зомби: [ЗАБРАТЬ ТУТ] по промокоду STUDIONEWPUNCH

Пользуйтесь на здоровье:) Будем стараться отлавливаться подобные приятности и дальше🥰
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥254🐳2❤‍🔥1👍1
Новый Unity рвётся в Web! 🔥

Много всего у юнити происходит последнее время:) Поэтому давайте постепенно разгребать это дело в рубрике #ЧтоНового

🌐 На первой презентации Unity 6 в сентябре 2024-го Юнитеки объявили, что планируют сделать Web-игры great again, и даже показали Project Prismatic - демку полноценного 3D-шутера, работающего прямо в браузере. А сразу после этого ещё и объявили совместный геймджем с Crazy Games, предлагая всем желающим разработать игру на веб-рантайме новой Юньки.

Но что такого добавили в Unity 6, что все сразу так оживились? 🤔

🥇 Новый WASM - новые возможности. Веб-приложения на Unity 6 поддерживают Web Assembly нового поколения, что позволяет эффективнее использовать процессор и удваивает максимальный размер кучи вашей игры. Бесил лимит памяти для браузерных игр в 2 гига? Начиная с Unity 6, можно поставить до 4 GB!)) 🔼

🥈 WebGPU - используй видеокарту на 120%! Уже давно стандартом браузерной индустрии считается WebGL 2.0. Вот только вышел он больше десяти лет назад, так что не поддерживает кучу возможностей современных видеочипов - например, вычислительные шейдеры. Поэтому, начиная с Unity 6.1, юнитеки разрешили всем желающим использовать свежий крутой стандарт WebGPU, который убирает эти ограничения и открывает новые горизонты для оптимизации и сложного рендеринга в браузере. 😎

🥉 Мобилки + Веб = Unity 6. Последнее по порядку (но не значению) нововведение - официальная поддержка мобильных браузеров! Теперь в веб-игры, сделанные на Юнити, можно будет комфортно рубиться не только дома на компе, но и где угодно, прямо с телефона. Раньше тоже можно было, но теперь поддержка этого дела официальная, а значит будет меньше непредвиденных ситуаций:)

Все эти фишки ещё находятся в активной разработке, но уже сегодня выглядят перспективно. На проде использовать не советуем пока, но потыкать очень рекомендуем. Смотря на них, начинаешь верить, что в будущем нас правда может ждать возрождение Web-игр... А вы что думаете? 🧐

❗️ Ставьте 🔥, если хотите видеть больше постов про Unity 6. А если кому-то захотелось потрогать демку Project Prismatic, то затестить её можно на официальном сайте:)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥134👎43🐳2💅1
Недавно Юнитеки провели ежегодную конференцию Unite, где показали, что ждёт нас в недавно релизнувшихся и более отдалённых версиях движка. Специально для тех, кому некогда или лень смотреть, #ЧтоНового добавят? Вот список самых интересных анонсов! 💥


🔄 Обновлённый Unity Editor - быстрее, гибче, сильнее!

Юнитеки наконец-то поняли, что с интерфейсом и производительностью редактора надо что-то делать. Поэтому в новых версиях Unity нам обещают:

✔️ Переработанное окно Иерархии, которое сделали шустрее и гибче текущего
✔️ Прокачанный поисковик объектов
✔️ Улучшенную производительность при работе с ассетами и не только


⚙️ New Input System - ещё более новая, чем была

Начиная с Unity 6000.3, пакет Input System (бывший New Input System) будет предустановленным и рекомендованным для использования в дальнейшем. Из обещанных улучшений:

✔️ Уменьшенная задержка ввода
✔️ End User Rebinding - Идущее "из коробки" решение, позволяющее игрокам перебинживать кнопки управления под себя


✏️ Из приятных мелочей:

⭐️ DirectX 12 для Windows оптимизировали, чтобы он быстрее работал и ел меньше памяти

⭐️ Фича Multiplayer Building Blocks позволит быстрее создавать многопользовательские проекты

⭐️ Добавят низкоуровневый API, чтобы удобно писать собственную 2D-физику


Ну и, пожалуй, самое главное:

🔥 Unity 6 мигрирует на CoreCLR! 🔥

Постепенно движок будет переходить с бэкенда Mono на .NET, что должно значительно ускорить всю работу Unity (прощай, рекомпиляция в две минуты после каждого изменения кода!) и наконец-то дать нам доступ к фичам C# 10 и выше, таким как file scoped-неймспейсы, например:) Непонятно, естественно сколько времени это займет и что в итоге получится, но новость крутая

____
Вот тако
й получился списочек будущих фич. Всё это ещё не окончательно, но пока что создаётся ощущение, что компания наконец-то нащупала понятное направление развития.

А вы что думаете? Смотрели Unite 2025? Как вам анонсы?
🧐 Ставьте 🔥 и пишите в комментариях:)
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥695🐳4❤‍🔥3👏3