Нарешті Displacement в Unreal Engine 5.3. Робимо за 5 хвилин

Нарешті Unreal Engine 5 з'явився Displacement. Можна робити його на рівні матеріалів і застосовувати як до об'єктів, так і до нескінченних ландшафтів.

Геомерія у Displacement створюється не так, як у Nanite, хоч і називається так само. У зв'язку з цим геометрія, створена дисплейсментом, не впливає на кут відображення і відблиски, тому до матеріалу краще застосувати карту нормалей. А так само, особисто у мене, жорстко підвисає комп'ютер, якщо переміщати ІС поблизу геометрії з екраном. Швидше за все, у наступних версіях виправлять.

Проблеми симуляції рідини та чому це дорого?

Завдання зробити 10 секунд симуляції рідини високої деталізації для крупного плану в 60 кадрів в секунду.

Витративши приблизно добу на експерименти і порівняння MantaFlow з Flip Fluis, я вибрав останнє, тк MantaFlow веде себе дуже непередбачувано, залежно від дозволу.

Прикинув, що вода досягне поверхні басейну за 50 кадрів + потрібно 10 секунд самої анімації в 60fps, виходить симуляція 650 кадрів з роздільною здатністю 150 мільйонів вокселів. Така симуляція на Ryzen 3700x зайняла 5 діб.

Далі з'ясувалося, що блендер вилітає на рендері, якщо геометрія у FlipFluids надто високо полігональна. Знову робити симуляцію в меншому дозволі і знову чекати кілька днів, дуже не хотілося. Витратив кілька днів у пошуках вирішення проблеми, навіть почав замислюватися повернутися до MantaFlow.

Переналаштував сцену з Cycles у Octane Render, проблема збереглася, тому вирішив повернутися до Cycles.

Blender взагалі відмінно перетравлює велику кількість полігонів, проблема саме з геометрією FlipFluids. Розробники аддону у себе на гітхабі визнають проблему і пишуть, що вона на стороні блендера тк він погано дружить з HighPoly геометрією зробленою на пітоні або щось на зразок того.

Я вирішив спробувати експортувати геометрію в Alembic, щоб потім її імпортувати назад, так з нею вже проблем бути не повинно. По-різному спробував експортувати, але це завжди закінчувалося вильотом блендера. Один експорт навіть зайняв понад добу.

Потім на американському форумі я знайшов рішення, де було сказано, що в геометрії перед експортом потрібно просто поміняти місцями модифікатори і поставити модифікатор Smooth вниз, після чого FlipFluids геометрія швидко експортувалася в Alembic. Це спрацювало. Я експортував геометрію в Alembic, сховав з рендера та в'юпорта оригінальну геометрію FlipFluids, але залишив бульбашки та піну та імпортував геометрію Alembic.

Був приємно вражений, що Alembic геометрія зберегла інформацію про швидкість і MotionBlur на воді працював коректно і тепер сцена не вилітала. Точніше, вже вилітала не відразу ж, а трохи згодом.

Запустив рендер, вилетів він тільки наступного дня, через приблизно сотню кадрів. Нормально, жити можна, просто перезапустив рендер із місця, де він зупинився.

У місці зіткнення струменя з поверхнею води рідина виглядає темною. Зовсім не «блакитна лагуна». Проблема в обмеження технології PathTracing. У цьому місці відбувається величезна кількість відбитків і заломлень від поверхні води та бульбашок, а рендер рахує максимум 12 перевідбиття, а далі малює чорноту. Можна, звичайно, поставити не 12, а 128, 1024 тощо, але тоді і результат рендеру ми чекатимемо місяці. Тому додав бірюзового самосвічення до бульбашок і в 10 менше від такого ж самосвічення самій воді. Косяк пішов, час рендеру не змінився. Рендер з початку. Заодно вирішив починати не з 50 кадру, а зі 100, де на поверхні води вже видно коливання. Також додав яскравість джерелам світла і трохи туману воді.

Через деякий час тестів, я помітив, що у Blender 3.5, сцена поводиться набагато стабільніше, ніж у версії 3.6, вирішив продовжити роботу в ній. Матеріали з картою Mix довелося переналаштувати, тому що у версії 3,6 вона працює інакше, і доведеться перерендерити перші кадри, тепер деякі матеріали виглядають трохи по-іншому.

Ще через день, подивився перші секунди анімації, що вийшла, і помітив, що рослини колишуться від вітру не так, як я задумав, на гілках немає текстури і зникла трава. Проблема в тому, що я робив проект на ноутбуці, а симуляцію та рендер на ПК, а на ПК на версії 3,5 стояла стара версія аддонів рослинності. Перевстановив аддон рослинності, переналаштував рослинність. Перевстановив плагін для трави, переналаштував траву. Поставив анімацію рендерувати заново.

Відкрив для себе програму Batch Render Creator, завдяки їй кількість вильотів під час рендеру скоротилася ще більше.

Самосвічення в цьому ракурсі, біля темної щілини, звідки витікає вода, виглядає не дуже. На жаль, у блендері немає карти Distance, яка є в 3ds Max і Corona, тому доведеться ще раз відрендерити варіант без самосвічення та заміксувати їх в AfterEffecs, щоб у районі щілини самосвічення не було, а в інших місцях було.

Були ще й інші проблеми, наприклад зі становищем камери, тому я змістив початок анімації з 50 на 100 кадр, теж довелося перерендерити частину. І з Geometry Nodes довелося повозитися, щоб обрізати дно біля води, тому симуляцію я робив не на всю глибину басейну.

У відповідь потенційним критикам, які ніколи нічого подібного не робили, але вважають, що в гудіні або PhoenixFD проблем менше і можна все зробити швидше, пропоную вам спочатку зробити симуляцію 150 млн вокселів і відрендерити її на GPU разом з анімованою рослинністю і дисплейсментом, а потім написати, скільки часу у вас це зайняло і з якими нюансами та несумісностями зіткнулися.

Чому я перейшов із 3ds Max на Blender?

Перший комп'ютер мені купили 2002 року, мені було 12 років. Приблизно за рік, ігри перестали мені бути цікавими, і я, відклавши зі шкільних обідів 60р, купив свій перший диск з 3ds Max 6. У 2003 і до 2006 року у мене не було інтернету. Все, що було – сама програма. І щоразу, запускаючи комп'ютер, насамперед я запускав 3ds Max і вивчав його «методом наукового тику». Перші 500р. на 3ds Max я заробив у 2006 у 16 років. Мені їх заплатили за візуалізацію нічного клубу у моєму місті Іваново. На жаль, ні цей рендер, ні інші не збереглися, т.к. 2007-го, жорсткий диск комп'ютера посипався разом з усією інформацією. з 2007 року роботи збереглися і ось, наприклад, пара робіт тих часів.
https://vk.com/album2903316_71222494

Потім я працював в ігровій студії, потім у дистриб'ютора Autodesk, потім вів курси з 3ds Max і робив проекти в ньому. З 13 до 32 років моє життя щільно було пов'язане з цією програмою. Але вже рік як я роблю всі проекти в Blender, а на моєму робочому комп'ютері, 3ds Max навіть не встановлений і ось чому:

  1. Blender Cycles X – дуже швидкий GPU рендер. Колись я написав статтю, що немає сенсу вчитися тонким налаштуванням V-Ray, тому що ПК стають потужнішими і дуже скоро ми перейдемо на PathTrace рендери. Статтю я писав у 2013. Corona Render (PathTrace) з'явився і став популярним у 2015-2016. У 2019 році вийшли відеокарти з RTX прискоренням, що направило вектор розвитку в бік GPU PathTrace рендера і зараз, якщо ви ще не перейшли на GPU рендер, то варто це зробити. Якщо Corona Render на моєму ПК рендерит сцену 1-2 години до 50-100 сабдівів, а потім її денойзит, то Blender на RTX 3060ti рендерит 1024 сабдіва за 2 хв. 30 сек. у такому ж інтер'єрі. А до 50-100 сабдів рендер доходить за лічені секунди. Тобто. на рендер 8 ракурсів інтер'єру в гарній деталізації, набагато вище, ніж була б у короні, у мене сумарно йде 20 хвилин замість 8+ годин.
    V-Ray GPU теж програє Cycles у тому, що out of core у V-Ray не працює, а отже, ваша сцена може просто не відрендеритися, якщо в ній інтер'єр і, наприклад, більше двох 8к текстур.
  2. Blender – безкоштовне OpenSource рішення. Що означає величезну економію на покупці софту, або, якщо ви пірат, зайвий раз уберігає вас від «геморою» пошуку хорошого робочого кряка без вірусів, який все одно може злетіти, наприклад, після встановлення паралельно свіжішої версії.
  3. Швидкість завантаження. Blender запускається за кілька секунд на відміну від 3ds Max, який запускається секунд 30-60.
  4. Гарячі клавіші в Blender реалізовані просто як вау. Переміщення об'єктів відбувається набагато швидше і весь процес прискорюється. Також для створення планувань я відмовився і від AutoCad, тому що в блендері можна гарячими клавішами переміщати полігони і вертекси на точні відстані.
  5. Бібліотека BlenderKit та подібні аддони. Якщо вам потрібен якийсь готовий 3d об'єкт, вам не потрібно лізти на стоки, завантажувати його, розархівувати, потім натискати кнопку Імпорт і тп. Ви просто вибираєте потрібний об'єкт усередині інтерфейсу блендера і просто одразу перетягуєте його в сцену.
  6. Скульптинг та текстурування. Для них не потрібно окремо купувати MudBox, Zbrush, Mari або SustancePainter, експортувати модель у Fbx, потім відкривати в цих програмах, потім експортувати назад і тп. У блендері досить просто зайти у вкладку скульптинг чи текстурування та зробити те, що потрібно. Якщо ви не вузьконаправлений фахівець із скульптингу або текстурування, функціоналу блендера вам буде за очі.
  7. Налаштування світла та матеріалів відбувається набагато швидше, завдяки п.1. Тобто. більше немає такого, що поставив рендер на ніч, зранку побачив, що якийсь матеріал не той, чи світло не той чи якийсь плакат у дисплейсменті провалився і тп, і знову ставиш на рендер. Всі подібні косяки видно відразу ж, тому що на чорновий рендер йдуть частки секунди, навіть відходити і кави собі робити непотрібно.

Як бачите, всі ці пункти сильно економлять час і прибирають непотрібний геморой. Але є і мінуси.

  1. Для інтер'єрної візуалізації бібліотеки під блендер поки не можуть зрівнятися з бібліотекою під 3ds Max, яка є на сайті 3ddd. Однак, це не заважає вам завантажити з 3ddd те, що вам потрібно, у форматі FBX і переналаштувати матеріали.
  2. Displacement Cycles X реалізований гірше, ніж у Corona чи Octane рендерах. Він більш ресурсомісткий. Для рендерів з дисплейсментом у роздільній здатності вище, ніж 1600*1200, 8гб відеопам'яті може не вистачити. Однак, можна:
    а) зменшити параметр Subdivision
    б) поставити Octane, який під блендер - безкоштовний, правда, в такому разі, доведеться вручну переналаштувати всі матеріали під октан
    в) дочекатися нових версій блендера, він розвивається дуже швидко
    г) купити RTX 3090 з 24гб відеопам'яті

Для мене плюси дуже сильно переважили мінуси. А згодом, як на мене, й останні два мінуси — пропадуть.

PS Якщо ви спробували блендер і вам здалося, що він працює повільніше за 3ds Max, переконайтеся, що він у вас запускається на дискретній відеокарті, а не на вбудованій.

Якщо ви хочете спробувати, що таке Blender і протестувати його швидкість та зручність, рекомендую подивитися цей відеоуроктам все коротко, ясно, по суті і без води.

Вирівнюємо тон текстури щоб уникнути тайлінгу

Урок роботи з текстурами
Вирівнюємо тон текстури, щоб уникнути нав'язливих повторень «частотне розкладання»

0. Відкриваємо текстуру у Photoshop
1. ctrl+j
2. Фільтр - Розмиття - Середнє (Filter - Blur - Average)
3. Подвійне клацання по «Фон» - Ок
4. Фон на верхній шар
5. Непрозорість у шару Фон 50% та метод накладання «Лінійне світло» (Linear Light)
6. Фільтр - Інше - Колірний контраст ставимо значення (50-100) (Filter - other - High Pass)
7. Об'єднуємо шари Фільтр - Інше - зсув (Filter - other - offset) і зрушуємо текстуру на око, щоб по центру виднілися шви.
8. Замазуємо шви Штампом або видаленням з урахуванням вмісту.

Проект «острівка» для торгового центру

Наша студія займається створенням проектів острівців та виставкових стендів від ескізів до 3D візуалізації та креслень у AutoCAD. Приклад кількох наших робіт для франшизи «Сонцетур» нижче:

3d модель змальована в актуальному масштабі в реальне фото.

3d модель змальована в актуальному масштабі в реальне фото.

Розробка дизайн-проекту «острівка» для ТЦ від ескізів до 3d візуалізації та креслення у AutoCAD.

Замовити проект острівця під ключ - +7 (985) 468-80-21 або mail@andreykozlov.ru

Вартість:

Візуалізація вашого концепту за вашими ескізами та референсами – 20.000р.

Візуалізація вашого концепту за вашими ескізами та референсами + відео обліт - 30.000р.

Експрес дизайн, візуалізація та відео обліт, без вашого ескізу, лише за референсами, без правок – 40.000р.