Äntligen förskjutning i Unreal Engine 5.3. Vi gör det på 5 minuter

Deplacement har äntligen anlänt i Unreal Engine 5. Du kan göra det på materialnivå och tillämpa det på både objekt och oändliga landskap.

Förskjutningens geometri skapas inte på samma sätt som Nanite, även om den kallas densamma. På grund av detta påverkar geometrin som skapas av förskjutning inte reflektionsvinkeln och höjdpunkterna, så det är bättre att applicera en normal karta på materialet. Och även, för mig personligen, fryser datorn allvarligt om du flyttar IC nära geometri med förskjutning. Troligtvis kommer det att fixas i framtida versioner.

Problem med vätskesimulering och varför är det dyrt?

Målet är att göra 10 sekunders mycket detaljerad vätskesimulering för en närbild med 60 bilder per sekund.

Efter att ha tillbringat ungefär en dag med att experimentera och jämföra MantaFlow med Flip Fluis valde jag det senare, eftersom MantaFlow beter sig väldigt oförutsägbart, beroende på upplösningen.

Jag räknade med att vattnet skulle nå poolens yta på 50 bildrutor + du behöver 10 sekunder av själva animeringen vid 60fps, vilket resulterar i en simulering av 650 bildrutor med en upplösning på 150 miljoner voxlar. Denna simulering på Ryzen 3700x tog 5 dagar.

Vidare visade det sig att mixern kraschar i renderingen om geometrin i FlipFluids är för hög polygonal. Jag ville verkligen inte göra simuleringen igen med en lägre upplösning och vänta flera dagar igen. Jag tillbringade ett par dagar med att leta efter en lösning på problemet och började till och med fundera på att återvända till MantaFlow.

Jag konfigurerade om scenen från Cycles till Octane Render, problemet kvarstod, så jag bestämde mig för att återgå till Cycles.

Blender, i allmänhet, hanterar ett stort antal polygoner mycket bra, problemet är med FlipFluids-geometrin. Tilläggsutvecklarna erkänner problemet på sin GitHub och skriver att det är på Blendersidan då det inte fungerar bra med HighPoly-geometri gjord i Python eller något liknande.

Jag bestämde mig för att försöka exportera geometrin till Alembic så att jag sedan kunde importera tillbaka den, så det borde inte vara några problem med det. Jag försökte exportera på olika sätt, men det slutade alltid med att mixern kraschade. En export tog till och med mer än en dag.

Sen på ett amerikanskt forum hittade jag en lösning där det stod att man i geometrin innan man exporterar behöver bara byta modifierare och lägga ner Smooth-modifieraren, varefter FlipFluids-geometrin snabbt exporterades till Alembic. Det fungerade. Jag exporterade geometrin till Alembic, gömde den ursprungliga FlipFluids-geometrin från renderingen och viewporten, men lämnade bubblorna och skummet och importerade Alembic-geometrin.

Jag blev positivt överraskad över att Alembic-geometrin behöll hastighetsinformationen och MotionBlur på vattnet fungerade korrekt och scenen kraschade inte längre. Mer exakt, det tog inte fart direkt, utan lite senare.

Jag startade renderingen, den kraschade först nästa dag, efter ungefär hundra bilder. Det är normalt, du kan leva, jag startade precis om renderingen där den slutade.

Vid kontaktpunkten för strålen med vattenytan ser vätskan mörk ut. Inte en "blå lagun" alls. Problemet är PathTracing-teknikens begränsningar. På denna plats finns det ett stort antal reflektioner och brytningar från vattenytan och bubblor, och renderaren räknar maximalt 12 reflektioner och drar sedan svärta. Du kan naturligtvis inte ställa in 12, utan 128, 1024, etc., men sedan väntar vi månader på renderingsresultatet. Därför tillsatte jag turkos självglöd till bubblorna och 10 gånger mindre av samma självglöd till själva vattnet. Jamben är borta, renderingstiden har inte ändrats. Jag renderar från början. Samtidigt bestämde jag mig för att inte börja från ram 50, utan från ram 100, där vibrationer redan är synliga på vattenytan. Jag lade också till ljusstyrka till ljuskällorna och lite dimma till vattnet.

Efter en tid av testning märkte jag att scenen i Blender 3.5 beter sig mycket stabilare än i version 3.6, så jag bestämde mig för att fortsätta arbeta i den. Material med Mix-kortet var tvungna att konfigureras om, eftersom det i version 3.6 fungerar annorlunda, och de första ramarna kommer att behöva renderas om, för nu ser vissa material lite annorlunda ut.

Ytterligare en dag senare tittade jag på de första sekunderna av den resulterande animationen och märkte att plantorna inte vajade i vinden som jag hade planerat, det fanns ingen struktur på grenarna och gräset saknades. Problemet är att jag gjorde projektet på en bärbar dator, och simuleringen och renderingen på en PC, och på PC:n på version 3.5, fanns det en gammal version av vegetationstillägg. Installerade om vegetationstillägget, konfigurerade om vegetationen. Installerade om plugin för gräs, konfigurerade om gräset. Jag ställde in animationen för att renderas igen.

Jag upptäckte programmet Batch Render Creator, tack vare det minskade antalet krascher under renderingen ännu mer.

Självglöden från denna vinkel, nära den mörka sprickan där vattnet rinner ut, ser inte särskilt bra ut. Tyvärr har blender ingen Distance-karta, som finns i 3ds Max och Corona, så du måste rendera versionen utan självglöd igen och blanda in dem i AfterEffecs så att det inte finns någon självglöd i området gapet, men det finns på andra ställen.

Det fanns också andra problem, till exempel med kamerapositionen, eftersom jag flyttade början av animationen från bildruta 50 till bildruta 100, och jag var också tvungen att återrendera en del av den. Och jag var tvungen att mixtra med Geometry Nodes för att skära av botten nära vattnet, eftersom jag inte gjorde simuleringen för hela poolens djup.

Som svar på potentiella kritiker som aldrig har gjort något liknande, men tror att i Houdini eller PhoenixFD finns det färre problem och allt kan göras snabbare, föreslår jag att du först gör en 150+ miljoner voxelsimulering och renderar den på GPU:n. med animerad vegetation och förskjutning, och skriv sedan ner hur lång tid det tog dig och vilka nyanser och inkompatibiliteter du stött på.

Varför bytte jag från 3ds Max till Blender?

De köpte min första dator till mig 2002, jag var 12 år. På ungefär ett år slutade spel att vara intressanta för mig och efter att ha sparat 60 rubel från skolluncher köpte jag min första skiva med 3ds Max 6. 2003 och fram till 2006 hade jag inte internet. Allt som fanns där var själva programmet. Och varje gång jag startade datorn, startade jag först och främst 3ds Max och studerade det "genom att peta på vetenskapen." Första 500r. Jag började arbeta på 3ds Max 2006 vid 16 års ålder. De betalade mig för visualiseringen av en nattklubb i min stad Ivanovo. Tyvärr har varken denna rendering eller de andra bevarats, eftersom... 2007 kollapsade datorns hårddisk tillsammans med all information. sedan 2007 finns verken bevarade och här finns till exempel ett par verk från den tiden.
https://vk.com/album2903316_71222494

Sedan jobbade jag på en spelstudio, sedan på distributören Autodesk, sedan undervisade jag i kurser i 3ds Max och gjorde projekt i den. Från 13 till 32 år var mitt liv nära kopplat till detta program. Men det har gått ett år nu som jag har gjort alla mina projekt i Blender, och på min arbetsdator är 3ds Max inte ens installerat, och här är anledningen:

  1. Blender Cycles X är en mycket snabb GPU-renderare. Jag skrev en gång en artikel som det är ingen idé att lära sig att finjustera V-Ray, eftersom datorer blir kraftfullare och mycket snart kommer vi att byta till PathTrace-renderingar. Jag skrev artikeln 2013. Corona Render (PathTrace) dök upp och blev populär 2015-2016. Under 2019 släpptes grafikkort med RTX-acceleration, som riktade utvecklingsvektorn mot GPU PathTrace-rendering, och nu, om du ännu inte har bytt till GPU-rendering, bör du göra det. Om Corona Render, på min PC, renderar en scen i 1-2 timmar upp till 50-100 underavdelningar och sedan försämrar den, så renderar Blender på RTX 3060ti 1024 underavdelningar på 2 minuter. 30 sek. i samma interiör. Och renderingen når 50-100 underavdelningar på några sekunder. De där. att göra 8 vinklar av interiören i detalj, mycket högre än vad det skulle vara i kronan, tar det mig totalt 20 minuter, istället för 8+ timmar.
    V-Ray GPU förlorar också mot Cycles genom att out of core inte fungerar i V-Ray, och därför kanske din scen helt enkelt inte renderas om den innehåller en interiör och till exempel mer än två 8k-texturer.
  2. Blender är en gratis OpenSource-lösning. Vilket innebär stora besparingar på att köpa mjukvara, eller, om du är en pirat, räddar det dig återigen från "hemorrojder" att leta efter en bra fungerande spricka utan virus, som fortfarande kan krascha, till exempel efter installation av en parallell, mer senaste versionen.
  3. Nedladdningshastighet. Blender startar på några sekunder, till skillnad från 3ds Max, som startar på 30-60 sekunder.
  4. Snabbtangenter i Blender implementeras helt enkelt wow. Objekt flyttas mycket snabbare och hela arbetsprocessen påskyndas. För att skapa layouter övergav jag AutoCad, för i blender kan du använda snabbtangenter för att flytta polygoner och hörn till exakta avstånd.
  5. BlenderKit-bibliotek och liknande tillägg. Om du behöver någon form av färdigt 3D-objekt behöver du inte gå till aktier, ladda ner det, packa upp det, klicka sedan på "Importera"-knappen, etc. Du väljer helt enkelt önskat objekt inuti blendergränssnittet och drar det helt enkelt direkt till scenen.
  6. Skulptering och texturering. För dem finns det inget behov av att separat köpa MudBox, Zbrush, Mari eller SustancePainter, exportera modellen till Fbx, öppna den sedan i dessa program, exportera den sedan tillbaka, etc. I mixern behöver du bara gå till skulpterings- eller textureringsfliken och göra vad du behöver. Om du inte är en snävt fokuserad specialist på skulptering eller texturering, kommer mixerns funktionalitet att vara bortom dina ögon.
  7. Att ställa in ljus och material går mycket snabbare tack vare steg 1. De där. Det finns inte längre något sådant som att ställa in renderingen över natten, på morgonen ser jag att något material inte stämmer, eller att ljuset inte stämmer, eller någon affisch har misslyckats i förskjutningen, etc., och sedan sätter du den på rendering igen . Alla sådana misstag är synliga omedelbart, eftersom den grova renderingen tar en bråkdel av en sekund, och det finns ingen anledning att ens gå iväg och brygga en kaffe.

Som du kan se sparar alla dessa punkter mycket tid och tar bort onödiga "hemorrojder". Men det finns också nackdelar.

  1. För interiörvisualisering kan bibliotek för blender ännu inte jämföras med biblioteket för 3ds Max, som finns tillgängligt på 3ddds webbplats. Detta hindrar dig dock inte från att ladda ner det du behöver från 3ddd i FBX-format och konfigurera om materialet.
  2. Förskjutningscykler X implementeras sämre än i Corona- eller Octane-renderare. Det är mer resurskrävande. För renderingar med förskjutning vid upplösningar högre än 1600*1200 kanske 8 GB videominne inte räcker. Däremot kan du:
    a) sänk parametern Subdivision
    b) installera Octane, som är gratis för mixern, men i det här fallet måste du manuellt konfigurera om allt material för oktan
    c) vänta på nya versioner av mixer, det utvecklas väldigt snabbt
    d) köp en RTX 3090 med 24 GB videominne

För mig uppvägde fördelarna rejält nackdelarna. Och med tiden, tycks det mig, de två sista nackdelarna kommer att försvinna.

PS Om du provade mixer och det verkade för dig att den körde långsammare än 3ds Max, se till att du kör den på ett diskret grafikkort och inte på det inbyggda.

Om du vill testa vad Blender är och testa dess hastighet och användbarhet rekommenderar jag att du kollar in det denna videohandledning, allt där är kort, klart, rakt på sak och utan vatten.

Vi jämnar ut tonen i texturen för att undvika plattsättning

Lektion om att arbeta med texturer
Vi jämnar ut tonen i texturen för att undvika tvångsmässiga upprepningar av "frekvensnedbrytning"

0. Öppna texturen i Photoshop
1. ctrl+j
2. Filter – Oskärpa – Medel (Filter – Oskärpa – Medel)
3. Dubbelklicka på "Bakgrund" - OK
4. Bakgrund på det översta lagret
5. Opacitet för bakgrundsskiktet 50% och blandningsmetoden "Linear Light"
6. Filter – Annat – Färgkontrast inställt på (50-100) (Filter – annat – High Pass)
7. Kombinera lagren Filter – Other – offset (Filter – Other – offset) och flytta texturen med ögat så att sömmarna syns i mitten.
8. Täck sömmarna med en stämpel eller ta bort dem med hänsyn till innehållet.

Öprojekt för ett köpcentrum

Vår studio skapar projekt för öar och utställningsmontrar, från skisser till 3D-visualiseringar och ritningar i AutoCAD. Ett exempel på flera av våra verk för Solntseturn-serien är nedan:

3D-modellen ritas till den faktiska skalan in riktigt foto.

3D-modellen ritas till den faktiska skalan in riktigt foto.

Utveckling av ett designprojekt för en ”ö” för ett köpcentrum från skisser till 3D-visualisering och ritning i AutoCAD.

Beställ ett nyckelfärdigt öprojekt - +7(985)468-80-21 eller mail@andreykozlov.ru

Pris:

Visualisering av ditt koncept baserat på dina skisser och referenser - 20 000 rubel.

Visualisering av ditt koncept baserat på dina skisser och referenser + video fly-by - RUR 30 000.

Express design, visualisering och video fly-by, utan din skiss, endast baserat på referenser, utan redigeringar - 40 000 rubel.