Архив рубрики: Статьи

Наконец-то 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гб видеопамяти

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

P.S. Если вы попробовали блендер и вам показалось, что он работает медленнее, чем 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. Замазываем швы Штампом или удалением с учётом содержимого.

Материал плитки


http://andreykozlov.ru/lp/materials/ — полный курс по материалам.

В этом видеоуроке мы создадим фотореалистичный материал плитки в 3ds Max и V-Ray. С помощью всего одной карты и скрипта Floor Generator. Настроим эффект рассеивания в зависимости от угла отражения, свойственный для некоторых видов плитки с помощью карты falloff. Вспомним основные принципы создания фотореалистичных материалов и основные карты, которые используются для их создания. Также вспомним, как их настраивать, как убирать шумы у материала на рендере.

Материал стекла и хрома в 3ds Max

Комментарий из 2023 — перестаньте мучаться с 3ds Max, вот почему. Далее идёт оригинальная статья

В этом уроке мы разберём принципы создания фотореалистичных материалов. Создадим материал хрома, хрома с царапинами, ржавчину, хром с ржавчиной, научимся менять размер текстуры, узнаем, какие параметры влияют на шумы в материале, разберём карту Mix.Далее — урок по созданию материала стекла в 3ds Max и V-Ray. В Corona Render и других рендерах, материал делается аналогично. Важно понимать, что стекло не только прозрачное, но и отражает, когда на него смотришь под углом. Также необходимо добавить эффект «тумана». Вы обращали внимание, что срез стекла не прозрачный, а имеет зелёный оттенок? Все эти нюансы необходимо учитывать при создании фотореалистичного материала стекла. В Этом уроке мы разберём простое стекло, матовое стекло, неровное стекло, цветное стекло, запотевшее стекло и мокрое стекло с капельками. Также разберём, почему стекло может не пропускать свет.

Полный курс по материалам>>>

Как обманывает PayPal

http://joxi.ru/zAN57KgCBQe529
http://joxi.ru/BA04qyPHJG5RAy

Ниже вы увидите мой реальный отзыв о работе с PayPal. Вернее, это не отзыв а история о том, как PayPal забрал 30% переведённой мне суммы. И так, поехали.

Перед переводом мне средств в валюте, я отправил запрос в техподдержку: «Как сделать так чтобы средства, переведённые мне в определённой валюте, не конвертировались, а оставались в этой же валюте на моём счёте?» мне на это пришёл ответ, что я могу получать и хранить средства в 21 валюте мира. И переведённые средства автоматически зачисляются на счёт соответствующей валюты.

f1bfe64bee

 (Обратите внимание: «Вы можете…»)

После того, как деньги мне перевели, они автоматически конвертировались в рубли по очень невыгодному курсу.6c27eef3e3

После чего я опять обратился в поддержку, где мне ответили ровно обратное:

910db84d75

Т.е. я не могу хранить деньги в валюте? Мало того, что двенедели назад мне писали совершенно обратное. Так ещё и средства в валюте на счёте у меня есть, и появились они от перевода в рублях всего пару недель назад =) Т.е. мне переводили рубли, а PayPal по своей инициативе переводил их в доллары, хотя по их правилам он этого делать не мог. Правилам, которые они якобы мне отправили в октябре и я должен был их прочитать и помнить об этом, а ответ двухнедельной давности: «дал вам другой специалист, я за его ответы не отвечаю, мб вы его неправильно поняли» — из разговора по телефону.

dc42f50619

Учитывая то, что в этот момент мне нужны именно евро и мне придётся переводить деньги обратно в валюту, на всех комиссиях я теряю ТРЕТЬ! Треть суммы! Хорошо, что сумма небольшая, но представьте, вам переводят $10 000 за крупный проект и $3 000 оставляет себе PayPal. А техподдержка просто бросает трубки и ни о каком возмещении не может быть и речи.

Видео для тех, кому лень читать.

Лично моё мнение, что PayPall, как МММ, прибыль с огромных комиссий и средства пользователей вбухивают в маркетинг, на этом и живут. А на сам сервис и его качество наплевали.