Unity 6.3: Новий підхід до кастомізації рендерерів без втрати продуктивності!
У Unity 6.3 буде крута новинка — Renderer Shader User Value (RSUV). Ця функція дозволяє кожному рендереру (MeshRenderer або SkinnedMeshRenderer) отримати унікальне
💡 Навіщо це потрібно?
Раніше для кастомізації кожного об’єкта використовували Material Property Blocks (MPB) або створювали окремий матеріал для кожного рендереру. MPB часто сильно гальмували при великій кількості об’єктів, а дублювання матеріалів з’їдало багато ресурсів і ускладнювало batching.
RSUV вирішує обидві проблеми:
🔹 дозволяє використовувати один матеріал для всіх об’єктів,
🔹 дає можливість унікальної кастомізації через
🔹 не створює додаткового навантаження на CPU,
🔹 не порушує batching і зберігає високу продуктивність.
📊 Продуктивність
Бенчмарк на 900 об’єктах показав, що RSUV працює швидше, ніж підхід з окремими матеріалами — 1,08 мс проти 1,42 мс.
А комбінація GRD + RSUV забезпечує максимальну оптимізацію і може бути до 5 разів швидшою за класичний варіант із дубльованими матеріалами.
🔧 Як працює:
MeshRenderer.SetShaderUserValue(uint value);
SkinnedMeshRenderer.SetShaderUserValue(uint value);
І у шейдері доступно:
uint userValue = unity_RendererUserValue;
RSUV — це ідеальне рішення, коли треба робити унікальні шейдерні ефекти на великій кількості об’єктів, але не хочеться дублювати матеріали і гальмувати гру.
#новини #Unity #оптимізація #RSUV
Немає коментарів
Додати коментар Підписатись на коментаріВідписатись від коментарів