Oefening 17: Oceaan bij zonsondergang schoolium · Blendercursus
Blendercursus
Oefening 17: Oceaan bij zonsondergang
17Oefening 17 van 14
Oceaan bij zonsondergang
Ocean-modifier, een fysische hemel, een boei op de golven en schuim, nevel en gloed
Dit is de eerste van de vier grote slotoefeningen: geen los object meer in een studio, maar een hele SCÈNE met een eigen sfeer. Je bouwt een zee met de Ocean-modifier (een echte golfsimulatie, geen handgemaakte ruis), een fysische hemel met Sky Texture waarvan je de zon laag boven de horizon zet, een boei die op de golven ligt te deinen, schuim op de golftoppen, een vleugje nevel bij de horizon voor diepte, en tot slot een warme gloed rond de zon met de compositor. Alles samen: precies de opbouw van een filmische landschapsshot.
De Ocean-modifier is geen textuur die er als golfjes uitziet, maar een echte spectrale golfsimulatie: hij berekent hoe wind van een bepaalde snelheid het wateroppervlak vervormt, en genereert daar zelf een fijn vlak voor. Je begint met een gewone Plane -- de modifier gooit die meteen weg voor zijn eigen rooster.
1
Object Mode
Begin met een Plane
Shift+A
Add›Mesh›Plane
Voeg een Plane toe in het midden van de scene. Het maakt niet uit hoe groot je hem maakt: zodra de Ocean-modifier met Geometry Mode op Generate staat, vervangt hij de hele mesh door zijn eigen rooster op de maat die je zelf instelt.
Instellingen
Naam
Oceaan
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 01
2
Object Mode
Voeg de Ocean-modifier toe
Add Modifier›Physics›Ocean
Ga naar de Modifier Properties en kies Add Modifier > Physics > Ocean. Zet Geometry > Generate (i.p.v. Displace, dat de vorm van je eigen mesh zou volgen) en zet Resolution op 8: dat bepaalt hoe fijnmazig het golfpatroon berekend wordt, in beide richtingen. Spatial Size is de fysieke breedte van de zee in meter -- 40 m is groot genoeg voor een horizon, maar niet zo groot dat de golven zelf onzichtbaar klein worden.
Instellingen
Geometry
Generate
Resolution
8
Spatial Size
40 m
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 02
3
Object Mode
Windgolven: spectrum en wind
Spectrum bepaalt welk wiskundig model de golfvorm berekent; JONSWAP geeft opgebouwde windgolven met een duidelijke richting, mooier voor een shot dan de kalmere Phillips. Wind Velocity is de windsnelheid die de golven opzweept, Wave Alignment duwt de golven meer naar één richting toe (0 = alle kanten op, 1 = allemaal evenwijdig) en Wave Direction is die richting, in radialen.
Instellingen
Spectrum
JONSWAP
Wind Velocity
22
Wave Scale
1.3
Wave Alignment
0.65
Wave Direction
0.6 rad
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 03
4
Object Mode
Choppiness: scherpe golftoppen
Choppiness trekt de golftoppen naar elkaar toe tot smalle, scherpe kammen in plaats van gladde sinusgolven -- hoe hoger, hoe ruwer de zee oogt (bij 0 krijg je een vlakke deining). Wave Scale Min filtert de allerkleinste rimpelingen weg, Damping dooft de kleinste golfjes verder uit zodat vooral de grote vorm overblijft.
Instellingen
Choppiness
1.9
Wave Scale Min
0.02
Damping
0.35
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 04
5
Object Mode
Diepte, willekeur en het moment
Depth is de waterdiepte: bij ondiep water buigen golven anders (denk aan een golf die breekt vlak voor het strand); bij 250 m diep water speelt dat geen rol. Random Seed geeft elk patroon zijn eigen, unieke golven -- verander het getal en je krijgt een compleet andere zee. Time is het bevroren moment in de simulatie dat je nu ziet: net als bij elke simulatie is elke tijdstip een andere golftoestand.
Instellingen
Depth
250 m
Random Seed
12
Time
16
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 05
6
Object Mode
Zacht schaduwen
Object›Shade Smooth
Object > Shade Smooth verzacht de overgang tussen de golffacetten. De Ocean-modifier genereert zijn eigen rooster los van de oorspronkelijke Plane, maar de shading-instelling van het basisobject werkt gewoon door op wat de modifier produceert.
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 06
Fase 2
Lucht in brand: Sky Texture en de zon
Blender kan een fysisch correcte hemel berekenen met Sky Texture: geen foto, maar een model van hoe zonlicht door de dampkring verstrooit. Zet de zon laag en de hemel kleurt vanzelf oranje-roze, precies zoals bij een echte zonsondergang.
7
Object Mode
Een wereld met Sky Texture
Add›Search›Sky Texture
Open de World Properties en klik op New voor een wereld; noem hem Zonsondergang. Ga naar de Shader Editor, zet de boom op World en voeg een Sky Texture-node toe (Shift A > Search > Sky Texture). Verbind zijn Color-uitgang met de Color-ingang van de Background-node. Zonder verdere aanpassing zie je nog een felle middagshemel.
Instellingen
Wereld
Zonsondergang
8
Object Mode
Zet de zon laag: elevatie en richting
Sky Type op Multiple Scattering geeft het meest realistische, meest rekenintensieve model (voor een los stilstaand beeld geen probleem). Sun Elevation is de hoogte van de zon boven de horizon in graden -- op 6° staat hij bijna onder, precies het moment waarop de hemel het felst oranje-roze kleurt. Sun Rotation is zijn richting rond de horizon (het kompas): dit bepaalt straks ook hoe je de camera opstelt.
Instellingen
Sky Type
Multiple Scattering
Sun Elevation
6°
Sun Rotation
200°
9
Object Mode
Dampkring: turbiditeit en dichtheid
Turbidity is de troebelheid van de lucht (stof en vocht): hoger geeft een wittere, wazigere hemel. Air Density, Aerosol Density en Ozone Density verfijnen de verstrooiing verder -- iets minder aerosolen dan de standaardwaarde houdt de kleuren hier verzadigd in plaats van melkachtig.
Instellingen
Turbidity
2.3
Air
1.0
Aerosol
0.85
Ozone
1.0
10
Object Mode
De zonneschijf zelf
Sun Disc tekent de zon zelf mee in de hemel (zet je hem uit, dan blijft enkel de gloed errond over). Sun Size is de hoekgrootte van die schijf -- iets groter dan de werkelijke zon (0.5°) oogt filmischer op een klein renderbeeld.
Instellingen
Sun Disc
aan
Sun Size
1.2°
11
Object Mode
Een echte Sun-lamp op dezelfde plek
Add›Light›Sun
De Sky Texture kleurt de achtergrond en de reflecties, maar levert zelf geen schaduwwerpend licht: daarvoor voeg je een gewone Sun-lamp toe en draai je hem MET DE HAND tot hij vanuit dezelfde hoek schijnt als de zonneschijf in de hemel (Elevation en Rotation zijn dezelfde twee getallen, omgerekend naar een rotatie). Geef hem een warme oranje kleur en een klein Angle voor scherpe, maar niet keiharde schaduwen.
Instellingen
Energy
2.6 W/m²
Angle
2°
Color
#FF9447
12
Object Mode
Eerste blik op de hemel
F12
Render met F12: de zee staat er nog kaal grijs bij, maar de lucht toont al de volle zonsondergang. Dit is meteen een goede test-render om de belichting te ijken.
RECRENDER · EEVEE00:00:00:00STAP 12
13
Object Mode
Belangrijke correctie: de belichting
Dat eerste renderbeeld was bijna wit! Sky Texture rekent in echte fysische eenheden, en die liggen veel hoger dan een render met een gewone lamp: zonder correctie duwt AgX bijna alles naar de lichtste kant van zijn curve. Zet in de Color Management-paneel Exposure op −3: dat is geen truc maar gewoon een lagere sluitertijd, zoals een fotograaf zou doen tegen een felle hemel.
Instellingen
Exposure
−3
Let op Een Sky Texture die je render laat 'uitbranden' tot een egale witte vlek is bijna altijd een belichtingsprobleem, geen foute node -- eerst Exposure bijstellen voor je de hemel zelf gaat wijzigen.
RECRENDER · EEVEE00:00:00:00STAP 13
Fase 3
Een boei op het water
Een lege zee is een oefening in shaders; een boei erin maakt er een plek van. Je bouwt de romp als een lichaam met Spin -- exact dezelfde techniek als een tafellamp of een wijnglas: één profiel tekenen, 360° laten ronddraaien.
14
Edit Mode
Eén vertex als startpunt
X
Mesh›Delete›Vertices
Voeg een Plane toe, ga naar Edit Mode en selecteer drie van de vier hoekpunten (klik er een aan en Shift-klik de andere twee). Verwijder ze met X > Vertices: er blijft één punt over. Zet dat punt met de N-sidebar exact op Z = −0.55: dat wordt de onderpunt van de boei. Eén los punt heeft nog geen oppervlak, dus nog geen beeld.
Instellingen
Locatie
(0, 0, −0.55)
15
Edit Mode
Extrudeer de bolle romp
E›G›X›G›Z
Met het punt geselecteerd druk je telkens E om te extruderen, en verplaats je het nieuwe punt met G, X en G, Z naar zijn volgende positie (of typ meteen G en een vector). Zo bouw je de wijde onderkant van de boei op: hij zwelt naar buiten tot zijn breedste punt net onder het midden, en trekt daarna weer wat in.
Instellingen
Profiel (r, z)
(0.20,−0.48) → (0.40,−0.15) → (0.34,0.10)
RECWERKBEELD · EDIT MODE00:00:00:00STAP 15
16
Edit Mode
Schouder, hals en mast
E›G›X›G›Z
Nog vier extrudes: een schouder die naar binnen trekt, een smalle hals, en een dun mastje dat weer TOT op de as (r = 0) uitkomt -- daardoor sluit de bovenkant straks vanzelf mooi dicht wanneer je het profiel laat ronddraaien.
Selecteer het hele profiel met A en gebruik de Spin-tool (in de Toolbar, of Mesh > Extrude > Spin) rond de Z-as, middelpunt in de oorsprong, met 28 stappen voor een volle cirkel. Blender herhaalt het profiel 28 keer rondom en weeft de vlakken ertussen -- in twee klikken heb je een volledig, glad ronde romp.
Instellingen
Steps
28
Angle
360°
Axis
Z
RECWERKBEELD · EDIT MODE00:00:00:00STAP 17
18
Object Mode
Rond schaduwen
Object›Shade Smooth
Terug naar Object Mode en Shade Smooth: de 28 facetten van de Spin versmelten tot een vloeiend gebogen romp.
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 18
19
Object Mode
Materiaal op hoogte: rood-wit-rood
In plaats van vlakken met de hand te selecteren, gebruik je de hoogte van het object zelf: een Texture Coordinate-node (Generated) splits via Separate XYZ in X, Y en Z, en de Z-waarde stuurt een Color Ramp met drie banden aan -- rood onderaan, een smalle witte band in het midden, weer rood erboven. Zo krijg je de klassieke gestreepte navigatieboei zonder een enkel vlak apart te moeten selecteren.
Instellingen
Rood
#8C0805
Wit
#D9D3C7
Roughness
0.35
Coat
0.5
Tip Deze truc (kleur laten afhangen van hoogte via Generated-coördinaten) werkt op elk object met een herkenbare 'onder-boven'-vorm, zonder UV-unwrap.
RECRENDER · EEVEE00:00:00:00STAP 19
20
Object Mode
Een handvat bovenop
Add›Mesh›Torus
Een Torus bovenaan de mast, mat zwart rubber: het handvat waarmee een bemanning de boei aan boord hijst. Parent hem aan de boei zodat hij straks meekantelt.
Instellingen
Major Radius
0.075 m
Minor Radius
0.014 m
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 20
21
Object Mode
Het waarschuwingslicht
Een klein bolletje op de top van de mast, met een Emission-kleur in de Principled BSDF zelf (in plaats van een apart Emission-node): warm oranje, net als het knipperlicht op een echte navigatieboei.
Instellingen
Emission Color
#FF7319
Emission Strength
4.0
RECRENDER · EEVEE00:00:00:00STAP 21
22
Object Mode
Het meertouw
Add›Curve›Bezier
Een Curve (Bezier) van de onderkant van de boei recht de diepte in, met Bevel Depth voor de dikte van het touw: dezelfde techniek als het snoer van een tafellamp. Het touw verdwijnt onder de golven -- je hoeft het anker zelf niet te bouwen, het effect van 'ergens vastgemeerd' ontstaat al door het touw dat wegzakt in het donkere water.
Instellingen
Bevel Depth
0.012 m
Punten
3, tot Z=−6
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 22
23
Object Mode
Op de golven leggen
In plaats van de boei blind op Z = 0 te zetten, lezen we de ECHTE golfhoogte van de oceaan-mesh af op de plek waar de boei komt te liggen (het dichtstbijzijnde punt van het gegenereerde rooster) en zetten de boei daar precies op. Een kleine kanteling in twee richtingen doet de rest: hij lijkt zo net over een golftop te hellen in plaats van kaarsrecht in het water te steken.
Instellingen
Z
golfhoogte + 0.02 m
Rotatie
(7°, −4°, 15°)
Tip Dit is dezelfde soort truc als de camera die straks op de boei scherpstelt: de geometrie zelf raadplegen in plaats van een getal te gokken.
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 23
24
Object Mode
Eerste render met de boei
F12
Render vanaf een lage hoek, rakelings over het water: de boei staat nu duidelijk tegen de gloed van de ondergaande zon.
RECRENDER · EEVEE00:00:00:00STAP 24
Fase 4
Schuim op de golven
De Ocean-modifier berekent ook waar het water het felst breekt, en legt dat vast in een kleurattribuut op de mesh. Die waarde lees je in de shader met een Attribute-node -- geen geschilderde textuur, maar data die rechtstreeks uit de golfsimulatie komt.
25
Object Mode
Schuim aanzetten in de modifier
Vink Generate Foam aan onderaan de Ocean-modifier en geef de laag een naam: Schuim. Foam Coverage bepaalt hoeveel van het oppervlak in aanmerking komt voor schuim -- Blender berekent zelf, per punt van het rooster, hoe scherp de golf daar breekt (de zogeheten Jacobian van de vervorming) en slaat dat op als een kleurattribuut.
Instellingen
Generate Foam
aan
Foam Coverage
0.5
Foam Layer
Schuim
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 25
26
Object Mode
De echte schuimwaarden aflezen
In plaats van de drempel van de schuimband te gokken, lezen we de kleurattribuut-waarden van de geëvalueerde mesh in Python uit en zoeken we de 70e en 96e percentiel op: dat zijn de grenzen waartussen we zo de Color Ramp van het watermateriaal zetten. Zo past de schuimband zich vanzelf aan als je later de golfinstellingen nog verandert.
27
Object Mode
Het watermateriaal: de diepe zee
Een Principled BSDF met een donkere blauwgroene Base Color, een lage Roughness voor een glanzend oppervlak en Transmission Weight op 0.7 zodat licht er gedeeltelijk doorheen dringt in plaats van alles terug te kaatsen.
Instellingen
Base Color
#031A25
Roughness
0.08
Transmission
0.7
IOR
1.33
28
Object Mode
Water en schuim mengen met Mix Shader
Een tweede, mat-witte Principled BSDF staat voor het schuim. Een Attribute-node leest de Schuim-laag uit, een Color Ramp scherpt de overgang aan (de twee percentiel-grenzen van de vorige stap), en een Mix Shader kiest op basis daarvan tussen de twee BSDF's: helder water waar geen schuim is, mat wit waar de golf breekt. Zet ook Settings > Raytrace Refraction aan op het materiaal, anders blijft de transmissie in EEVEE ondoorzichtig zwart.
Instellingen
Color Ramp
0.23 – 0.24
Raytrace Refraction
aan
Let op Transmission zonder Raytrace Refraction aan te zetten op het materiaal render in EEVEE Next als een dof, ondoorzichtig zwart vlak in plaats van doorschijnend water.
RECRENDER · EEVEE00:00:00:00STAP 28
29
Object Mode
Ingezoomd op een golfkam
Om te controleren of het schuim er echt is, zoomt de camera in op het punt met de hoogste schuimwaarde van de hele zee (met de hand opgezocht in de vorige Python-stap): een duidelijke witte streep op de rand van een golf.
RECRENDER · EEVEE00:00:00:00STAP 29
Fase 5
Nevel bij de horizon
Een beetje nevel geeft een landschap diepte: verre golven vervagen net iets, alsof er vocht in de lucht hangt. Let op: wereldnevel (een oneindig mistvolume) dooft een Sun-lamp helemaal uit, omdat die z'n licht van oneindig ver weg laat komen -- een begrensd volume-object lost dat op.
30
Object Mode
Een begrensd volume in plaats van wereldnevel
Add›Mesh›Cube
Voeg een Cube toe ver bij de horizon en schaal hem plat en breed uit: 120 m breed, 28 m diep, 10 m hoog, net boven het water. Dit blok wordt de mist -- BEGRENSD, in tegenstelling tot de nevel van de standaardset, die de hele wereld vult.
Instellingen
Schaal
(60, 14, 5)
Locatie
(0, 22, 3.5)
Let op Een Sun-lamp gecombineerd met nevel over de HELE wereld (World > Volume) dooft bijna volledig uit: het licht reist vanaf oneindig ver door een oneindig dik mistvolume en is al verzwakt tot bijna niets voor het je scene bereikt. Gebruik daarom hier bewust een begrensd volume-object, geen wereldnevel.
RECWERKBEELD · OBJECT MODE00:00:00:00STAP 30
31
Object Mode
Volume Scatter: de mist zelf
Verwijder het standaard Principled BSDF-oppervlak en verbind in plaats daarvan een Volume Scatter-node met de Volume-ingang van de Material Output (niet Surface: dit blok heeft geen kant, het IS de mist). Een lage Density (0.035) houdt hem ijl -- je moet vermoeden dat hij er is, niet een muur zien.
Instellingen
Kleur
#F2D1AE
Density
0.035
Anisotropy
0.3
32
Object Mode
Render met nevel
F12
Render opnieuw vanaf hetzelfde lage standpunt: de verre golven vervagen nu net iets in een warme waas, en de zon zelf krijgt een zachte halo doordat zijn licht door de mist verstrooit.
RECRENDER · EEVEE00:00:00:00STAP 32
Fase 6
Een gloed rond de zon
De laatste laag is geen 3D meer, maar 2D: de compositor. Een Glare-node laat felle plekken in het beeld -- hier de zon -- zachtjes uitwaaieren, zoals een lens dat in het echt ook doet.
33
Object Mode
De compositor aanzetten
Compositing-werkruimte
Ga naar de Compositor-werkruimte. In Blender 5.1 is de compositor een eigen node-boom, net als Geometry Nodes: er staat nog niets in tot je er zelf een boom aan koppelt. Render Layers is het vertrekpunt: het ruwe beeld zoals EEVEE het net gerenderd heeft, nog vóór er compositing op toegepast is.
34
Object Mode
Glare: Fog Glow
Voeg een Glare-node toe en zet zijn Type op Fog Glow: elke pixel boven de Threshold (helderheid 0.9 -- dus vooral de zon en zijn spiegeling) krijgt een zachte, wolkige gloed eromheen. Size bepaalt hoe ver die gloed reikt, Strength hoe fel hij is.
Instellingen
Type
Fog Glow
Threshold
0.9
Size
0.7
Strength
1.1
35
Object Mode
Group Output en Viewer
Add›Output›Group Output / Viewer
Het eindpunt van een compositor-boom is niet langer een Composite-node maar een Group Output (dat is wat er echt weggeschreven wordt); een Viewer-node ernaast laat je live meekijken in de Image Editor terwijl je nodes aanpast. Beide krijgen dezelfde Glare-uitgang.
36
Object Mode
Render met gloed rond de zon
F12
Render nog eens: de zon en zijn glinstering op het water hebben nu een zachte, warme waas -- het verschil tussen een technisch correct beeld en een beeld dat aanvoelt als een foto.
RECRENDER · EEVEE00:00:00:00STAP 36
Fase 7
Compositie en de eindsfeer
Tot slot een zorgvuldig gekaderde camera met scherptediepte op de boei, en de hoge-kwaliteit sfeerrender die de oefenpagina straks toont.
37
Object Mode
De laatste camera, met scherptediepte
Add›Camera
Een nieuwe camera, laag boven het water en een beetje opzij van de boei (de regel van derden), met een 40mm-lens. Depth of Field staat aan met F-Stop 2.8 en het scherppunt op de boei zelf: de golven op de voor- en achtergrond vervagen net iets, wat de boei nog meer laat opvallen.
Instellingen
Lens
40 mm
F-Stop
2.8
Focus
Boei
38
Object Mode
Laatste controlerender
F12
Render nog eens vanuit ongeveer het standpunt van de nieuwe camera: dit is zo goed als het eindbeeld, alleen nog niet op volle resolutie.
RECRENDER · EEVEE00:00:00:00STAP 38
Klaar? Ga verder
Uitdagingen
1Animeer de golven: sleep Ocean > Time over een paar honderd frames en render een korte clip.
2Vervang de boei door een kleine zeilboot die op de golven vaart, met de romp aan de Ocean-hoogte gekoppeld.
3Voeg een tweede, verre Sun-lamp toe als maanlicht en maak er een blauw uur van in plaats van een zonsondergang.