- PVSM.RU - https://www.pvsm.ru -
Возрадуйтесь все, кому хоть раз в силу жизненной необходимости приходилось декомпилировать .NET-код Unity! Теперь код C#-части движка и редактора Unity доступен для изучения на Github [1]. Доступны все основные ветки, начиная с версии 2017.1 и заканчивая свежей 2018.1.0b12.
Код был выложен вчера, официальный анонс состоится только в понедельник.
Ложка дегтя: код может быть использован только в справочных целях. Полную лицензию на использование можно посмотреть здесь [2].
Впрочем, это ничуть не остановило товарища, уже оформившего пулл-реквест с фиксом производительности [3].
Далеко не секрет, что крупные студии (например, авторы Cities: Skylines) имеют доступ к исходному коду (и C#, и C++) уже довольно давно — для этого необходимо приобретать отдельную лицензию [4]. Раньше это было критически необходимым, если вам требовалось модифицировать стандартный процесс рендеринга (начиная с версии 2018, можно будет менять все под себя при помощи SRP [5] и кода на C#).
За данную инициативу дружно благодарим Aras Pranckevičius [6], который занимался подготовкой кода к публикации последние несколько недель.
Движок Unity становится более модульным и проходит масштабное обновление: в нем появился пакетный менеджер, появилась система задач C# (позволяющая писать безопасный многопоточный код), была переработана система ECS (Entity Component System) с учетом низкоуровневых оптимизаций, а к версии 2018.3 наконец-то появятся (sic!) Nested Prefabs.
Глубокий уход Unity в сторону data-oriented design [7] происходит под чутким надзором Майка Эктона (Mike Acton, бывший глава разработки движков в Insomniac Games), присоединившегося к компании прошлой осенью [8] вместе с другим соратником по Insomniac, чей подход к игровой оптимизации приобрел широкую известность после доклада на CppCon 2014 «Data-Oriented Design and C++» [9]).
Интересное недавнее интервью CTO Unity, главой R&D и Эктоном можно прочитать на английском по ссылке [10]. По всей видимости, публикация исходного кода — это еще один из важный шагов для нового курса компании.
Автор: Владимир Маслов
Источник [11]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/unity3d/276129
Ссылки в тексте:
[1] доступен для изучения на Github: https://github.com/Unity-Technologies/UnityCsReference
[2] здесь: https://unity3d.com/ru/legal/licenses/Unity_Reference_Only_License
[3] оформившего пулл-реквест с фиксом производительности: https://github.com/Unity-Technologies/UnityCsReference/pull/1
[4] приобретать отдельную лицензию: https://store.unity.com/contact?type=source-code
[5] при помощи SRP: https://blogs.unity3d.com/2018/01/31/srp-overview/
[6] Aras Pranckevičius: https://twitter.com/aras_p
[7] Глубокий уход Unity в сторону data-oriented design: https://forum.unity.com/threads/ecs-or-why-should-i-bother-making-my-game-efficient.519100/
[8] к компании прошлой осенью: https://blogs.unity3d.com/ru/2017/11/08/were-joining-unity-to-help-democratize-data-oriented-programming/
[9] «Data-Oriented Design and C++»: https://www.youtube.com/watch?v=rX0ItVEVjHc
[10] по ссылке: https://www.mcvuk.com/development/exclusive-unity-takes-a-principled-step-into-triple-a-performance-at-gdc
[11] Источник: https://habrahabr.ru/post/351978/?utm_source=habrahabr&utm_medium=rss&utm_campaign=351978
Нажмите здесь для печати.