Найважливіша функція Numivo невидима: у вашій випущеній грі немає жодної його частинки. Кожен інструмент у наборі, скатер, mesh blending, гріди, створює звичайні ассети рушія і нічого більше. Ця стаття пояснює, що це означає технічно, і чому ми вважаємо це таким, що не підлягає обговоренню.
Що «нативний» означає конкретно
Коли ви запікаєте прохід скатера в Unreal, Numivo записує компоненти Hierarchical Instanced Static Mesh або інстанси foliage, ті самі структури, які ви отримали б, розставляючи об'єкти вручну. В Unity це звичайні інстанси префабів або деталі терейну. Матеріали з mesh blending компілюються у звичайні матеріали рушія з ідеальними на рівні пікселя переходами нормалей; немає жодного користувацького проходу шейдера, жодної роботи плагіна на кадр, жодного модуля «Numivo runtime» у вашому Build.cs чи маніфесті пакета.
Числа, що з цього випливають:
- 0 рядків коду Numivo у вашому білді
- 0 мс доданого часу кадру, виконувати нічого
- < 150 МБ ОЗП редактора в типових сценах, бо редакторський інструментарій — це весь слід
- 1 спільне ядро для Unreal і Unity, тож пресети переходять між рушіями
Чому ми відмовляємося від залежності під час виконання
Залежності під час виконання — це борг, який доводиться сплачувати комусь іншому:
- Сертифікація. Команди консольної сертифікації запитують, що робить кожен сторонній модуль. «Його немає» — найкоротша можлива відповідь.
- Довговічність. Ігри переживають підписки на інструменти. Оскільки запечені результати , звичайні ассети, сцена, створена в Numivo, відкривається й виходить через десять років, з нами чи без нас. Якщо ви скасуєте підписку, ви зберігаєте все, що зробили — це не обіцянка в наших умовах, а властивість архітектури.
- Володіння продуктивністю. Ваш профайлер показує примітиви рушія, які ви вже вмієте оптимізувати, дистанції куллінгу, LOD, налаштування Nanite, а не чорну скриньку.
Що це означає для вашого репозиторію
Запечені результати версіонуються як будь-який інший ассет: їх можна diff-ити, зливати, рецензувати. Пресети видів і грідів Numivo — це маленькі прості файли, які ви можете комітити й ділити з командою. Єдине, що не має потрапляти в контроль версій, — це локальний кеш індексу контенту (він перебудовується сам); одне правило ігнорування, і готово.
Компроміс, названий чесно
Неруйнівне процедурне редагування потребує плагіна: раз запечений схил — це дані рушія, а повторне процедурне редагування означає повторне відкриття в Numivo. Ми вважаємо це правильним компромісом, альтернатива (тримати сцени залежними від шару часу виконання) тихо бере ваш проєкт у заручники. Ваші рівні мають належати вашій грі, а не вашим інструментам.
Якщо ця філософія збігається з тим, як працює ваша команда, безкоштовний рівень, найпростіший спосіб її перевірити: розсипте щось, запечіть це, видаліть плагін і подивіться, як сцені байдуже.