Turbulence fd не работает с видеокартой

Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Forums › Maxon Cinema 4D › Turbulence FD don’t want to render with my GPU

Turbulence FD don’t want to render with my GPU

Maxim Fischer

So I’m trying to do a simulation with the Turbulence FD plugin. The default render hardware is my cpu and it takes so much time to render a frame.
When I choose my gpu instead of my cpu it switches back to my cpu. I don’t get it. I can select my gpu while rendering and shows the vram from the gpu, but after few seconds its switching again to my cpu. I updated my drivers to the latest and the internet isn’t helpful. Maybe some of you guys have a solution.

My gpu: GTX 1060 6GB Gainward Phoenix
CPU: i5-4690k 4,4GHz

Jim Scott

I know that Turbulence FD will switch back to the CPU when it runs out of GPU memory, but I wouldn’t think that would happen after only a few seconds unless you are trying to run a massive simulation.

Читайте также:  Акцент не работает моторчик омывайки

If you want to post your project file I’ll try running it on my GTX 980 Ti 6GB and see what happens.

Maxim Fischer

thanks for your fast response. Here is the file:

Jim Scott

When you say “render” I’m assuming you were referring to running the cached simulation. When I ran it, it took about 3 min. 30 seconds for the full 300 frames. As far as I could tell it was running on the GPU the whole time, indicating that it was using around 1.7GB of the available 6GB. If I run it with CPU selected it estimates over 20 minutes.

What do you see when it switches back to the CPU? Does the selection window switch to that, or what?

I am leaving to go to my granddaughter’s 1st birthday party, so I will check back later.

Adam Trachtenberg

Do you have the most recent nVidia drivers installed? If not that could be the problem.

Maxim Fischer

Okay now I get an error message.

Источник

TurbulenceFD fails with eGPU card selected.

Has anyone had any luck using your eGPU to simulate in TurbulenceFD/Cinema4D? Using the CPU or internal GPU is fine, however the simulation fails when set to my external card.

I’ve sent the log file to the developer, but was wondering if anyone else had had this happen?

Akitio Node/EVGA 1080Ti | TB3>TB1 (Apple adapter) | Macbook Pro (15″ Retina, late-2012)

Same Here!
When I switch in Simulation Window the Card to the 1080Ti, it instantly switches Back to the CPU.
Did someone found a workarround?

EGFX Breakaway Box 550 / EVGA 1080Ti > TB3>TB2 (Apple Adapter) > Mac Pro (Late 2013) macOS Sierra

I have been waiting for this also. I don’t believe the current version of C4D R19 supports eGPU officially but I think it IS coming in an interim update — possibly as soon as NAB. They demo’d an unofficial eGPU setup a couple months ago on ProRender; that was supposed to be impressive according to the publication that covered it. Back then they said an update was coming in January but that turned out to not be true.

I think more likely MAXON has something in place, are waiting for official Mac support (which could be as early as next week) and once that’s out, they’ll make any fine-tunes and release for demos at NAB? If we’re lucky? Then R20 at SIGGRAPH this summer probably with God knows What. Should be a big year for MAXON fans.

So if it’s not working in TFD or similar rendering plugins, it may be because the hooks aren’t there yet in C4D. May see a cascade effect where it works first in ProRender, then in plugins as devs update for same. Personally hoping for full integration with Cycles4D as well.

Bring peace to your computing life: stop trying to understand Apple.

Источник

Turbulence fd не работает с видеокартой

Ниже опишу принцип работы плагина TurbulenceFD и покажу как начать с ним работать применительно к старту ракеты. Это не будет полноценная анимация от начала и до конца с полной детализацией, потому что симуляция займёт у меня много времени. Но используя этот принцип можно будет сделать анимацию старта любой сложности: на сколько хватит времени, компьютера и нервов 🙂

В -первую очередь интересовал вопрос его применения к старту ракеты Р-7,те создание анимации ее взлета с настройками пламени и сколько источников этого надо, тк на реальной ракете много сопел- в каждый по источнику не поставишь. комп загнется))
Что это должен быть за источник для TFD?сфера?
краткий обзор настроек для создания горения и настроек для взрыва.
Рендер всего получившегося в октане.
Вот круг основных вопросов.

@aleksei да она самая,на которой гагарин полетел)

si vis pacem-para bellum

Для начала опишу основные принципы работы. А потом применительно к ракете выше.

Абсолютный минимум

Абсолютный минимум, необходимый для того, чтобы увидеть TFD симуляцию в рендере:

  1. Добавить TurbulenceFD контейнер
  2. Поместить полигональный объект внутрь контейнера
  3. Повестить TFD тег (эмиттер) на полигональный объект
  4. В эмиттере TurbulenceFD задать для Temperature Value значение 1
  5. В окне Simulation Window в при выбранном режиме Cache нажимаете Start

Рендерим анимацию.
По умолчанию будет рендериться огонь. Если нужен дым, то продолжаем:

  1. В контейнере TurbulenceFD во вкладке Rendering в секции Smoke Shader > Mapping для Channel выбираем значение Temperature.
  2. В том же окне в секции Fire Shader > Mapping для Channel выбираем значение None.

Контейнер TurbulenceFD, часть 1: масштаб

Я не буду описывать абсолютно все параметры в контейнере (и во всём плагине). Пройдусь только по самым критичным, которые скорее всего пригодятся почти в каждом проекте.

Как только мы добавили контейнер в сцену мы должны учесть два основных параметра:

Размер контейнера

Размер контейнера выбираем на основе наших реальных размеров относительно сцены. Например, если нам нужно сделать взрыв/пожар в окне дома, то размер контейнера будет таким:

Сразу отмечу, что симуляция не просчитывается за пределами контейнера. Но всё, что в нём просчитывается может считаться очень долго. Поэтому следует выбирать такой размер контейнера, чтобы в кадр не попадали края симуляции обрезаемые контейнером. Но, при этом, чтобы контейнер не распространялся далеко во все стороны за пределами фрустума камеры.

Размер вокселя

Размер вокселей выбираем на основе:

  1. разрешения кадра
  2. размера деталей с которыми будет взаимодействовать дым (коллайдеры)
  3. мощности вашего компьютера и свободного места на диске

Расшифрую, что написано в пунктах выше.
1. Другими словами, воксель — это тот же пиксель, только объёмный. Потому не имеет смысла делать их меньше чем пиксель кадра при рендере (а часто воксели гораздо больше).
2. Но при этом если воксели слишком большие, то при огибании дымом коллайдеров может быть видна лесенка. Или если дыму нужно будет протиснуться в маленькую щель, то если размер вокселя больше ширины щели, то дым туда не пройдёт.
3. В конце концов, вся симуляция строится из этих кубиков-вокселей. И чем их больше в контейнере — тем медленнее будет просчитываться ваша симуляция.

Чтобы задать размер вокселя в контейнере сначала удобно будет включить сетку для визуализации размера (Viewport Preview > Show Grid):

На задней стенке контейнера появится сетка:

Теперь во вкладке Container можно менять параметр Voxel Size и смотреть как меняется сетка:

И ещё одна заметка про размер вокселей. Как раз хороший пример для этого пункта:

  1. размера деталей с которыми будет взаимодействовать дым (коллайдеры)

Если мы хотим, чтобы дым реалистично огибал перила на балконах, то нам нужно выбрать как минимум такой размер вокселей (при большем размере вокселя дым будет рваным и пиксельным):

Но в данном примере я этого делать не буду, потому что симуляция займёт слишком много времени на моём компьютере. Для первоначальной тестовой симуляции размер вокселя можно сделать крупнее, чтобы легче было быстро вносить изменения в симуляцию.

Эмиттер TurbulenceFD

TFD Эмиттером может быть любой полигональный объект, процедурный примитив или партиклы, на которые вешается TFD тег.
У эмиттера есть 2 параметра, которые используются чаще всего:

  • Temperature Value — это то как в пространстве распространяется тепло от эмиттера. Чем выше значение — тем горячее источник. Для начала можно установить значение на 1, а потом менять по мере надобности.
  • Density Value — это сколько твёрдых частиц мы имеем на условную единицу объёма воздуха. То есть если хотим очень густое вещество, которое долго летает в воздухе и не рассеивается, то увеличиваем этот параметр. Для начала (как и с Temperature Value) можно начать со значения 1.

Temperature и Density — базовые параметры

При симуляции наш эмиттер будет генерировать оба эти канала и мы можем переключаться между ними во вьюпорте, чтобы посмотреть как каждый из них ведёт себя в той окружающей среде которую мы для него создали (контейнер).
Вот, например, так могут выглядеть эти два канала в одной и той же симуляции:

Температура (Temperature):

Плотность (Density):

В этом примере у канала температуры короткий шлейф, потому что вещество быстро охлаждается и его воздействие исчезает. Я это специально сделал в контейнере (об этом ниже).
А вот в канале Density ничего не охлаждается — вещество рассеивается относительно медленно. Поэтому мы продолжаем видеть его независимо от того осталось ли у нас какое-то тепло или нет.

Канал температуры напрямую воздействует на плотность. Точно так же как в реальности тёплый воздух воздействует на частицы дыма, поднимая их вверх. Поэтому, если мы совсем уберём температуру из нашего эмиттера (вернём значение Temperature Value на 0), то симуляция начнёт вести себя так как ведёт себя пыль:

Наша «пыль» продолжает сдуваться ветром и поддаётся действию турбулентности, но она перестала подниматься вверх под действием горячего воздуха (температуры).

Скорость, направление и давление эмиттера

  1. Normal Force — это скорость с которой вещество распространяется в направлении усреднённых нормалей поверхности объекта. Не нормали каждого полигона по отдельности, а именно всего объекта. Поэтому его лучше использовать для плоских объектов.
  2. Directional Force — скорость вещества в определённом направлении по осям X, Y, Z (соответственно полям слева направо). Не зависит от нормалей полигонов. Использует локальную систему координат эмиттера.
  3. Pressure — это давление. Ведёт себя так как в реальности. Высокое значение похоже на взрыв. Отрицательное (ниже нуля) — будет засасывать как чёрная дыра. Например, если давление будет очень сильным (взрыв), а скорость эмиттера в каком-то определённом направлении (Directional Force) — маленькой, то давление «перекроет» собой скорость движения. Эмиттер будет просто «распирать» во все стороны, а движение вещества по оси будет незаметно. Примеры ниже.

Все примеры сделаны «в лабораторных условиях», без воздействия канала температуры (только Density).

Normal Force (значение: 1000 cm):

Directional Force в направлении оси Z (значение: 1000 cm):

Pressure (значение: 1000):

Ещё интересный пример с Pressure: здесь на каждом объекте по одному эмиттеру. На пластине всё так же как в предыдущем примере. А на сфере значение Pressure: -5000. При этом в эмиттере сферы канал Density выключен совсем. Ему не нужно испускать никакие вещества:

Контейнер TurbulenceFD, часть 2: симуляция

Итак, размеры контейнера и вокселей мы задали и эмиттер настроили. Теперь на всё то, что испускает эмиттер нам нужно как-то воздействовать с помощью окружающей среды. В данном случае, под окружающей средой следует понимать все физические процессы которые происходят внутри TurbulenceFD контейнера. Например, коллайдеры, температура, ветер, турбулентность и т.п. И даже время.

Пройдёмся по самым часто употребляемым параметрам, вкладка Simulation:

Ветер

Wind — тут мы задаём направление и скорость ветра по осям X, Y и Z. Похоже на то как это работает в Directional Force эмиттера, только с той разницей, что сначала мы выбираем направление по осям (Wind Direction), а потом независимо от этих значений — силу (Wind Speed).

Как видно в анимации выше, значения направления ветра задаются относительными единицами. Если вам нужно направление всего по одной оси, то можно задать любое значение выше 0. Например, 1 для Z. Если к этой оси добавить ещё одну ось с таким же значением, например X со значением 1, то X и Z поделят направление поровну и ветер будет дуть под углом 45°. Если бы для X я добавил значение 2, то направление ветра по оси X было бы вдвое сильнее значения по оси Z. Как-то так 🙂

Завихрения

Vorticity — это, как бы, то на сколько «беспокойная» ваша субстанция. Очень похоже на турбулентность (ниже), но больше направлено на своеобразное рассеивание потока, в отличие от турбулентности, которая меняет его направление.

Турбулентность

Turbulence — это изменение направления и скорости потока. Чем сильнее турбулентность, тем больше будет отклонение от изначальной траектории движения потока. Даже в ситуации когда движения потока нет совсем, турбулентность будет воздействовать на статичную субстанцию и развеивать её в разные стороны.

Turb. Intensity: 0

Turb. Intensity: 20

Turb. Intensity: 60

Ниже пример со статичной субстанцией, когда в эмиттере не задана начальная скорость потока:

Turb. Intensity: 0
(да, это анимация, а не статичная картинка)

Turb. Intensity: 60

Советую использовать интенсивность турбулентности (Turb. Intensity) в комбинации с такими параметрами как Smallest Size и Largest Size:

Smallest Size — это то какого диаметра будут самые маленькие завихрения в вашем потоке.
Largest Size — размер самых больших завихрений.

Температура

Temperature — здесь мы влияем на температуру нашего потока. Пройдусь только по основным моментам.
Если вы включили канал температуры в эмиттере, то нужно поставить галочку Active, иначе канал не будет учитываться в симуляции.

Cooling — это то на сколько быстро остывает наш поток. Чем больше значение, тем быстрее «растворится» канал температуры.
Buoyancy — скорость с которой горячий воздух поднимается вверх. Или (при отрицательном значении) холодный — опускается вниз.

Плотность

Density — здесь мы влияем на плотность нашего потока. Пройдусь только по основным моментам.
Если вы включили канал плотности в эмиттере, то нужно поставить галочку Active, иначе канал не будет учитываться в симуляции.

Dissipation — это то насколько быстро наш поток растворится в воздухе так что становится невидимым.
Gravity — сила притяжения. Пыль будет тяжелее дыма, то есть будет быстрее оседать. И этим состоянием вы управляете здесь.

Коллайдеры в TurbulenceFD

Для того, чтобы сделать коллайдер, нужно на полигональный объект повесить TFD тег и поставить галочку Collision Object:

Но есть два замечания:

  1. Не знаю с чем это связано, но для коллайдера лучше выбирать «толстый» объект, а не плоский полигон. Как показывает практика в таких случаях симуляция столкновений лучше просчитывается.
  2. Никогда не используйте оригинальные объекты из сцены как коллайдеры — не вешайте на них TFD теги. Для коллайдера желательно использовать низкополигональную модель с минимальным возможным количеством полигонов. Потому что любой лишний полигон коллайдера внутри контейнера заметно замедляет симуляцию.

В примере с домом я бы смоделировал коллайдер так:
(белой обводкой показан TFD контейнер)

Теперь, собрав всё что мы знаем, можем сделать такую простенькую анимацию:

Ракета

@kot_tabaka, для примера я упростил двигатели ракеты и уменьшил количество сопел с 20 до 5. Возможно, в продакшене все 20 и не нужны — зависит от расположения камеры.

В продакшен я бы такую ракету не пустил, но это неплохое начало.
В этой сцене такая высокая скорость потока, что в настройках эмиттера я использовал только канал Density:

А в контейнере во вкладке Simulation я вообще ничего не трогал, кроме одной вещи, которую ещё не описывал выше. Если имеем дело с большими скоростями, то имеет смысл увеличить параметр Frame Sub-Steps Limit — он делает больше итераций просчёта на один кадр анимации (кратное тому значению, которое зададите). Поток получается менее пикселизированным, точнее, вокселизированным 🙂

@aleksei ЭТО ПРОСТО СУПЕР. Тут и шляпу снять мало. Потрясающий Тутор!!

si vis pacem-para bellum

@aleksei ЭТО ПРОСТО СУПЕР. Тут и шляпу снять мало. Потрясающий Тутор!!

Хотя сам Турбуленцией FD и не пользуюсь, но согласен, потому тоже плюсанул — класно и наглядно всё изложено

надо добавить пункт — всем сообщениям респект! хоть я и сам ковырял турбуленс, но после длительной паузы забывается все, и данный тутор просто отличный!

Источник

Оцените статью