
Cílem je vytvořit 10 sekund vysoce detailní simulace tekutin pro detailní záběr rychlostí 60 snímků za sekundu.
Po asi dni stráveném experimentováním a porovnáváním MantaFlow s Flip Fluis jsem zvolil to druhé, jelikož MantaFlow se v závislosti na rozlišení chová velmi nepředvídatelně.
Počítal jsem s tím, že voda dosáhne hladiny bazénu za 50 snímků + potřebujete 10 sekund samotné animace při 60fps, což má za následek simulaci 650 snímků s rozlišením 150 milionů voxelů. Tato simulace na Ryzen 3700x trvala 5 dní.
Dále se ukázalo, že při vykreslování dojde k selhání mixéru, pokud je geometrie ve FlipFluids příliš vysoká polygonální. Opravdu jsem nechtěl opakovat simulaci v nižším rozlišení a čekat znovu několik dní. Strávil jsem pár dní hledáním řešení problému a dokonce jsem začal uvažovat o návratu k MantaFlow.
Překonfiguroval jsem scénu z Cycles na Octane Render, problém přetrvával, tak jsem se rozhodl vrátit k Cycles.
Blender obecně zvládá velké množství polygonů velmi dobře, problém je s geometrií FlipFluids. Vývojáři addonu přiznávají problém na svém GitHubu a píší, že je na straně Blenderu, protože nefunguje dobře s geometrií HighPoly vytvořenou v Pythonu nebo podobně.
Rozhodl jsem se zkusit exportovat geometrii do Alembicu, abych ji pak mohl importovat zpět, takže by s tím neměly být žádné problémy. Zkoušel jsem exportovat různými způsoby, ale vždy to skončilo pádem mixéru. Jeden export trval dokonce více než den.
Pak jsem na americkém fóru našel řešení, kde bylo řečeno, že v geometrii před exportem stačí prohodit modifikátory a položit modifikátor Smooth, načež byla geometrie FlipFluids rychle exportována do Alembicu. Fungovalo to. Exportoval jsem geometrii do Alembic, skryl původní geometrii FlipFluids z renderu a výřezu, ale nechal jsem bubliny a pěnu a importoval jsem geometrii Alembic.
Mile mě překvapilo, že geometrie Alembic zachovala informace o rychlosti a MotionBlur na vodě fungoval správně a scéna už nepadala. Přesněji řečeno, nevzlétlo hned, ale o něco později.
Spustil jsem render, spadl až druhý den, asi po stovce snímků. Je to normální, můžete žít, jen jsem restartoval render tam, kde se zastavil.

V místě kontaktu paprsku s hladinou vody vypadá kapalina tmavě. Žádná „modrá laguna“ vůbec. Problémem jsou omezení technologie PathTracing. V tomto místě je obrovské množství odrazů a lomů od hladiny vody a bublin a renderer napočítá maximálně 12 odrazů a následně vykreslí černotu. Můžete samozřejmě nastavit ne 12, ale 128, 1024 atd., ale pak si na výsledek vykreslení počkáme měsíce. Do bublinek jsem proto přidal tyrkysovou samozáře a do samotné vody 10x méně stejného samozáření. Zárubeň je pryč, doba vykreslování se nezměnila. Renderuji od začátku. Zároveň jsem se rozhodl začít ne od rámu 50, ale od rámu 100, kde už jsou na hladině vody vidět vibrace. Také jsem přidal jas do světelných zdrojů a trochu mlhy do vody.
Po nějaké době testování jsem si všiml, že v Blenderu 3.5 se scéna chová mnohem stabilněji než ve verzi 3.6, a tak jsem se rozhodl v ní dále pracovat. Materiály s kartou Mix musely být překonfigurovány, protože ve verzi 3.6 to funguje jinak a první snímky se budou muset znovu vyrenderovat, protože nyní některé materiály vypadají trochu jinak.

O den později jsem se podíval na první vteřiny výsledné animace a všiml jsem si, že rostliny se nehoupají ve větru tak, jak jsem plánoval, na větvích není žádná textura a tráva je pryč. Problém je v tom, že jsem projekt dělal na notebooku a simulaci a renderování na PC a na PC na verzi 3.5 byla stará verze vegetačních doplňků. Přeinstaloval vegetační doplněk, překonfiguroval vegetaci. Přeinstaloval plugin pro trávu, překonfiguroval trávu. Nastavil jsem, aby se animace znovu vykreslila.
Objevil jsem program Batch Render Creator, díky němu se počet pádů při renderování ještě snížil.

Samozáře z tohoto úhlu, poblíž temné trhliny, kde vytéká voda, nevypadá moc dobře. Mixer bohužel nemá mapu vzdálenosti, která je k dispozici ve 3ds Max a Corona, takže budete muset verzi bez vlastního žhavení vyrenderovat znovu a smíchat v AfterEffecs, aby nedocházelo k samozáření v oblasti mezera, ale je i na jiných místech.
Byly i další problémy, například s polohou kamery, protože jsem posunul začátek animace ze snímku 50 na snímek 100 a také jsem musel něco z toho přerenderovat. A musel jsem si pohrát s Geometry Nodes, abych odřízl dno u vody, protože jsem neprováděl simulaci pro celou hloubku bazénu.
V reakci na potenciální kritiky, kteří nikdy nic takového neudělali, ale věří, že v Houdini nebo PhoenixFD je méně problémů a vše lze udělat rychleji, navrhuji, abyste nejprve vytvořili simulaci více než 150 milionů voxelů a vykreslili ji na GPU. s animovanou vegetací a přemístěním a poté zapište, jak dlouho vám to trvalo a na jaké nuance a nekompatibility jste narazili.