Endelig Displacement in Unreal Engine 5.3. Vi gjør det på 5 minutter

Forskyvning har endelig ankommet Unreal Engine 5. Du kan gjøre det på materialnivå og bruke det på både objekter og endeløse landskap.

Geometrien til Displacement er ikke skapt på samme måte som Nanite, selv om den kalles den samme. På grunn av dette påvirker ikke geometrien skapt av forskyvning refleksjonsvinkelen og høydepunktene, så det er bedre å bruke et normalt kart på materialet. Og også, for meg personlig, fryser datamaskinen alvorlig hvis du flytter IC nær geometri med forskyvning. Mest sannsynlig vil det bli fikset i fremtidige versjoner.

Problemer med væskesimulering og hvorfor er det dyrt?

Målet er å lage 10 sekunder med svært detaljert væskesimulering for et nærbilde med 60 bilder per sekund.

Etter å ha brukt omtrent en dag på å eksperimentere og sammenligne MantaFlow med Flip Fluis, valgte jeg sistnevnte, da MantaFlow oppfører seg veldig uforutsigbart, avhengig av oppløsningen.

Jeg regnet med at vannet ville nå overflaten av bassenget i 50 bilder + du trenger 10 sekunder av selve animasjonen ved 60 fps, noe som resulterer i en simulering på 650 bilder med en oppløsning på 150 millioner voksler. Denne simuleringen på Ryzen 3700x tok 5 dager.

Videre viste det seg at blenderen krasjer i gjengivelsen hvis geometrien i FlipFluids er for høy polygonal. Jeg ville virkelig ikke gjøre simuleringen igjen med en lavere oppløsning og vente flere dager igjen. Jeg brukte et par dager på å lete etter en løsning på problemet, og begynte til og med å tenke på å gå tilbake til MantaFlow.

Jeg rekonfigurerte scenen fra Cycles til Octane Render, problemet vedvarte, så jeg bestemte meg for å gå tilbake til Cycles.

Blender, generelt, håndterer et stort antall polygoner veldig bra, problemet er med FlipFluids-geometrien. Tilleggsutviklerne innrømmer problemet på GitHub og skriver at det er på Blender-siden da det ikke fungerer bra med HighPoly-geometri laget i Python eller noe sånt.

Jeg bestemte meg for å prøve å eksportere geometrien til Alembic slik at jeg kunne importere den tilbake, så det skulle ikke være noen problemer med den. Jeg prøvde å eksportere på forskjellige måter, men det endte alltid med at blenderen krasjet. En eksport tok til og med mer enn en dag.

Så på et amerikansk forum fant jeg en løsning der det ble sagt at i geometrien før eksport trenger du bare å bytte modifikatorer og legge ned Smooth-modifikatoren, hvoretter FlipFluids-geometrien raskt ble eksportert til Alembic. Det funket. Jeg eksporterte geometrien til Alembic, gjemte den originale FlipFluids-geometrien fra gjengivelsen og viewporten, men lot boblene og skummet stå og importerte Alembic-geometrien.

Jeg ble positivt overrasket over at Alembic-geometrien beholdt hastighetsinformasjonen og MotionBlur på vannet fungerte riktig og scenen krasjet ikke lenger. Mer presist, det tok ikke av umiddelbart, men litt senere.

Jeg startet gjengivelsen, den krasjet først neste dag, etter omtrent hundre bilder. Det er normalt, du kan leve, jeg har nettopp startet gjengivelsen på nytt fra der den stoppet.

Ved kontaktpunktet mellom strålen og overflaten av vannet ser væsken mørk ut. Ikke en "blå lagune" i det hele tatt. Problemet er begrensningene til PathTracing-teknologien. På dette stedet er det et stort antall refleksjoner og brytninger fra overflaten av vann og bobler, og gjengiveren teller maksimalt 12 refleksjoner, og tegner deretter svarthet. Du kan selvfølgelig ikke angi 12, men 128, 1024 osv., men da venter vi måneder på gjengivelsesresultatet. Derfor tilsatte jeg turkis selvglød til boblene og 10 ganger mindre av samme selvglød til selve vannet. Jamben er borte, gjengivelsestiden er ikke endret. Jeg gjengir fra begynnelsen. Samtidig bestemte jeg meg for å ikke starte fra ramme 50, men fra ramme 100, der vibrasjoner allerede er synlige på overflaten av vannet. Jeg la også lysstyrke til lyskildene og litt tåke til vannet.

Etter en tid med testing la jeg merke til at i Blender 3.5 oppfører scenen seg mye mer stabilt enn i versjon 3.6, så jeg bestemte meg for å fortsette å jobbe i den. Materialer med Mix-kortet måtte konfigureres på nytt, fordi i versjon 3.6 fungerer det annerledes, og de første rammene må gjengis på nytt, for nå ser noen materialer litt annerledes ut.

En annen dag senere så jeg på de første sekundene av den resulterende animasjonen og la merke til at plantene ikke svaiet i vinden slik jeg hadde planlagt, det var ingen tekstur på grenene og gresset manglet. Problemet er at jeg gjorde prosjektet på en bærbar datamaskin, og simuleringen og gjengivelsen på en PC, og på PC-en på versjon 3.5, var det en gammel versjon av vegetasjonstillegg. Installerte vegetasjonstillegget på nytt, rekonfigurerte vegetasjonen. Installerte plugin for gress på nytt, rekonfigurerte gresset. Jeg satte animasjonen til å gjengis på nytt.

Jeg oppdaget Batch Render Creator-programmet, takket være det reduserte antallet krasj under gjengivelsen enda mer.

Selvgløden fra denne vinkelen, nær den mørke sprekken der vannet renner ut, ser ikke veldig bra ut. Dessverre har ikke blender et avstandskart, som er tilgjengelig i 3ds Max og Corona, så du må gjengi versjonen uten selvglød igjen og blande dem i AfterEffecs slik at det ikke er selvglød i området gapet, men det er andre steder.

Det var også andre problemer, for eksempel med kameraposisjonen, fordi jeg flyttet starten av animasjonen fra bilde 50 til bilde 100, og jeg måtte også gjengi noe av det. Og jeg måtte tukle med Geometry Nodes for å kutte av bunnen nær vannet, siden jeg ikke gjorde simuleringen for hele dybden av bassenget.

Som svar på potensielle kritikere som aldri har gjort noe lignende, men som tror at i Houdini eller PhoenixFD er det færre problemer og alt kan gjøres raskere, foreslår jeg at du først lager en 150+ millioner voxel-simulering og gjengir den på GPU-en sammen med animert vegetasjon og forskyvning, og skriv så ned hvor lang tid det tok deg og hvilke nyanser og inkompatibiliteter du møtte.

Hvorfor byttet jeg fra 3ds Max til Blender?

De kjøpte meg min første datamaskin i 2002, jeg var 12 år gammel. På omtrent et år sluttet spill å være interessante for meg, og etter å ha spart 60 rubler fra skolelunsjer, kjøpte jeg min første plate med 3ds Max 6. I 2003 og frem til 2006 hadde jeg ikke Internett. Alt som var der var selve programmet. Og hver gang jeg startet datamaskinen, lanserte jeg først og fremst 3ds Max og studerte den «ved vitenskapelig poking». Første 500r. Jeg begynte å jobbe med 3ds Max i 2006 i en alder av 16 år. De betalte meg for visualiseringen av en nattklubb i byen Ivanovo. Dessverre er verken denne gjengivelsen eller de andre bevart, fordi... i 2007 kollapset datamaskinens harddisk sammen med all informasjonen. siden 2007 er verkene bevart og her er for eksempel et par verk fra den tiden.
https://vk.com/album2903316_71222494

Så jobbet jeg i et spillstudio, så hos distributøren Autodesk, så underviste jeg på kurs i 3ds Max og laget prosjekter i det. Fra 13 til 32 år var livet mitt nært knyttet til dette programmet. Men det er et år siden jeg har gjort alle prosjektene mine i Blender, og på arbeidsdatamaskinen min er ikke 3ds Max installert engang, og her er grunnen:

  1. Blender Cycles X er en veldig rask GPU-gjengiver. Jeg skrev en gang en artikkel som det er ingen vits i å lære å finjustere V-Ray, fordi PC-er blir kraftigere og veldig snart vil vi bytte til PathTrace-gjengivelser. Jeg skrev artikkelen i 2013. Corona Render (PathTrace) dukket opp og ble populær i 2015-2016. I 2019 ble det utgitt skjermkort med RTX-akselerasjon, som rettet utviklingsvektoren mot GPU PathTrace-gjengivelse, og nå, hvis du ennå ikke har byttet til GPU-gjengivelse, bør du gjøre det. Hvis Corona Render, på PC-en min, gjengir en scene i 1-2 timer opp til 50-100 underavdelinger, og deretter forringer den, så gjengir Blender på RTX 3060ti 1024 underavdelinger på 2 minutter. 30 sek. i samme interiør. Og gjengivelsen når 50-100 underavdelinger i løpet av sekunder. De. å gjengi 8 vinkler av interiøret i god detalj, mye høyere enn det ville vært i kronen, tar det meg totalt 20 minutter, i stedet for 8+ timer.
    V-Ray GPU taper også mot Cycles ved at ut av kjernen ikke fungerer i V-Ray, og derfor kan det hende at scenen din rett og slett ikke blir gjengitt hvis den inneholder et interiør og for eksempel mer enn to 8k-teksturer.
  2. Blender er en gratis OpenSource-løsning. Noe som betyr enorme besparelser på å kjøpe programvare, eller, hvis du er en pirat, sparer det deg nok en gang fra "hemoroidene" ved å lete etter en god fungerende sprekk uten virus, som fortsatt kan krasje, for eksempel etter installasjon av en parallell, mer siste versjon.
  3. Nedlastningshastighet. Blender starter på noen få sekunder, i motsetning til 3ds Max, som starter på 30-60 sekunder.
  4. Hurtigtaster i Blender implementeres ganske enkelt wow. Objekter flyttes mye raskere og hele arbeidsprosessen akselereres. For å lage layouter forlot jeg AutoCad, fordi i blender kan du bruke hurtigtaster til å flytte polygoner og hjørner til nøyaktige avstander.
  5. BlenderKit-bibliotek og lignende tillegg. Hvis du trenger en form for ferdiglaget 3D-objekt, trenger du ikke gå til aksjer, laste det ned, pakke det ut, klikk deretter på "Importer"-knappen osv. Du velger ganske enkelt ønsket objekt i blendergrensesnittet og drar det inn i scenen umiddelbart.
  6. Skulptering og teksturering. For dem er det ikke nødvendig å kjøpe MudBox, Zbrush, Mari eller SustancePainter separat, eksportere modellen til Fbx, deretter åpne den i disse programmene, eksportere den tilbake, etc. I blender trenger du bare å gå til skulptur- eller tekstureringsfanen og gjøre det du trenger. Hvis du ikke er en smalt fokusert spesialist på skulptur eller teksturering, vil funksjonaliteten til blenderen være utenfor øynene dine.
  7. Det går mye raskere å sette opp lys og materialer takket være trinn 1. De. Det er ikke lenger noe slikt som å sette gjengivelsen over natten, om morgenen ser jeg at noe materiale ikke stemmer, eller lyset ikke stemmer, eller en plakat har sviktet i forskyvning osv., og så setter du den på gjengivelsen igjen . Alle slike feil er synlige umiddelbart, fordi den grove gjengivelsen tar et brøkdel av et sekund, og det er ikke nødvendig å gå unna og lage en kaffe.

Som du kan se, sparer alle disse punktene mye tid og fjerner unødvendige "hemoroider". Men det er også ulemper.

  1. For interiørvisualisering kan biblioteker for blender ennå ikke sammenlignes med biblioteket for 3ds Max, som er tilgjengelig på 3ddd-nettstedet. Dette hindrer deg imidlertid ikke i å laste ned det du trenger fra 3ddd i FBX-format og rekonfigurere materialene.
  2. Displacement Cycles X implementeres dårligere enn i Corona- eller Octane-renderere. Det er mer ressurskrevende. For gjengivelser med forskyvning ved oppløsninger høyere enn 1600*1200 kan det hende at 8 GB videominne ikke er nok. Du kan imidlertid:
    a) senk underinndelingsparameteren
    b) installer Octane, som er gratis for blenderen, men i dette tilfellet må du manuelt rekonfigurere alle materialer for oktan
    c) vent på nye versjoner av blender, den utvikler seg veldig raskt
    d) kjøp en RTX 3090 med 24 GB videominne

For meg veide fordelene mye opp for ulempene. Og over tid, ser det ut for meg, vil de to siste ulempene forsvinne.

PS Hvis du prøvde blender og det virket som om den gikk tregere enn 3ds Max, sørg for at du kjører den på et diskret skjermkort og ikke på det innebygde.

Hvis du vil prøve ut hva Blender er og teste hastigheten og brukervennligheten, anbefaler jeg å sjekke det ut denne videoopplæringen, alt der er kort, klart, saklig og uten vann.

Vi jevner ut tonen i teksturen for å unngå flislegging

Leksjon om å jobbe med teksturer
Vi jevner ut tonen i teksturen for å unngå tvangsmessige repetisjoner av "frekvensnedbrytning"

0. Åpne teksturen i Photoshop
1. ctrl+j
2. Filter – Blur – Gjennomsnittlig (Filter – Blur – Gjennomsnitt)
3. Dobbeltklikk på "Bakgrunn" - OK
4. Bakgrunn på topplaget
5. Opasitet for bakgrunns 50%-laget og "Linear Light"-blandingsmetoden
6. Filter – Annet – Fargekontrast satt til (50-100) (Filter – annet – High Pass)
7. Kombiner lagene Filter – Annet – offset (Filter – annet – offset) og forskyv teksturen med øyet slik at sømmene er synlige i midten.
8. Dekk sømmene med et stempel eller fjern dem under hensyntagen til innholdet.

Øyprosjekt for kjøpesenter

Studioet vårt lager prosjekter for øyer og utstillingsstander, fra skisser til 3D-visualiseringer og tegninger i AutoCAD. Et eksempel på flere av våre arbeider for Solntseturn-serien er nedenfor:

3D-modellen er tegnet til den faktiske skalaen i ekte bilde.

3D-modellen er tegnet til den faktiske skalaen i ekte bilde.

Utvikling av et designprosjekt for en "øy" for et kjøpesenter fra skisser til 3D visualisering og tegning i AutoCAD.

Bestill et nøkkelferdig øyprosjekt - +7(985)468-80-21 eller mail@andreykozlov.ru

Pris:

Visualisering av konseptet ditt basert på skisser og referanser - 20 000 rubler.

Visualisering av konseptet ditt basert på skisser og referanser + video-by-by - RUR 30 000.

Uttrykk design, visualisering og video fly forbi, uten skissen din, bare basert på referanser, uten redigeringer - 40 000 rubler.