← Back to CoursesBlendercursus
Blendercursus
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.

Expert80 minuten38 stappen in 7 fasen
Het eindresultaat, gerenderd in EEVEERECRENDER · EEVEE00:00:00:001920×1080
Het eindresultaat, gerenderd in EEVEE
0 van 38 stappen gedaan
Voor je begint

Wat je maakt en wat je leert

  • Een zee laten golven met de Ocean-modifier: spectrum, wind, chop en diepte
  • Een fysische hemel bouwen met Sky Texture en een zon die daar echt bij hoort
  • Een profiel opbouwen met losse extrudes en het rond laten draaien met Spin
  • Een curve met Bevel Depth gebruiken als touw
  • Een attribuut (schuim) uit een modifier rechtstreeks in een shader lezen
  • Twee BSDF's mengen met een Mix Shader op basis van data in plaats van een vaste kleur
  • Een begrensd mistvolume bouwen in plaats van wereldnevel (en waarom dat moet)
  • De compositor opbouwen met scene.compositing_node_group en een Glare-node
  • Waarom Sky Texture een render bijna wit maakt, en hoe je de belichting corrigeert

Wat je al moet kunnen: Je kan een profiel opbouwen met extrude/spin en de basis van de Shader Editor (oefening 5-9).

Theorie om na te lezen:

Sleep om rond te draaien
001
klaar_oef17_oceaan.blend
OceaanBoeiBoeiringBoeilichtMeertouwNevelbank6 materialen929 vertices
Fase 1

Een zee vol golven

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

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
NaamOceaan
Begin met een PlaneRECWERKBEELD · OBJECT MODE00:00:00:00STAP 01
2
Object Mode

Voeg de Ocean-modifier toe

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
GeometryGenerate
Resolution8
Spatial Size40 m
Voeg de Ocean-modifier toeRECWERKBEELD · 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
SpectrumJONSWAP
Wind Velocity22
Wave Scale1.3
Wave Alignment0.65
Wave Direction0.6 rad
Windgolven: spectrum en windRECWERKBEELD · 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
Choppiness1.9
Wave Scale Min0.02
Damping0.35
Choppiness: scherpe golftoppenRECWERKBEELD · 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
Depth250 m
Random Seed12
Time16
Diepte, willekeur en het momentRECWERKBEELD · OBJECT MODE00:00:00:00STAP 05
6
Object Mode

Zacht schaduwen

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.

Zacht schaduwenRECWERKBEELD · 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

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
WereldZonsondergang
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 TypeMultiple Scattering
Sun Elevation6°
Sun Rotation200°
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
Turbidity2.3
Air1.0
Aerosol0.85
Ozone1.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 Discaan
Sun Size1.2°
11
Object Mode

Een echte Sun-lamp op dezelfde plek

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
Energy2.6 W/m²
Angle2°
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.

Eerste blik op de hemelRECRENDER · 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.
Belangrijke correctie: de belichtingRECRENDER · 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

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)
Extrudeer de bolle rompRECWERKBEELD · 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.

Instellingen
Profiel (r, z)(0.20,0.30) → (0.10,0.42) → (0.06,0.70) → (0.0,0.95)
Schouder, hals en mastRECWERKBEELD · EDIT MODE00:00:00:00STAP 16
17
Edit Mode

Spin: 360° rond de as

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
Steps28
Angle360°
AxisZ
Spin: 360° rond de asRECWERKBEELD · EDIT MODE00:00:00:00STAP 17
18
Object Mode

Rond schaduwen

Terug naar Object Mode en Shade Smooth: de 28 facetten van de Spin versmelten tot een vloeiend gebogen romp.

Rond schaduwenRECWERKBEELD · 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
Roughness0.35
Coat0.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.
Materiaal op hoogte: rood-wit-roodRECRENDER · EEVEE00:00:00:00STAP 19
20
Object Mode

Een handvat bovenop

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 Radius0.075 m
Minor Radius0.014 m
Een handvat bovenopRECWERKBEELD · 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 Strength4.0
Het waarschuwingslichtRECRENDER · EEVEE00:00:00:00STAP 21
22
Object Mode

Het meertouw

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 Depth0.012 m
Punten3, tot Z=−6
Het meertouwRECWERKBEELD · 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
Zgolfhoogte + 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.
Op de golven leggenRECWERKBEELD · 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.

Eerste render met de boeiRECRENDER · 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 Foamaan
Foam Coverage0.5
Foam LayerSchuim
Schuim aanzetten in de modifierRECWERKBEELD · 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
Roughness0.08
Transmission0.7
IOR1.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 Ramp0.23 – 0.24
Raytrace Refractionaan
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.
Water en schuim mengen met Mix ShaderRECRENDER · 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.

Ingezoomd op een golfkamRECRENDER · 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

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.
Een begrensd volume in plaats van wereldnevelRECWERKBEELD · 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
Density0.035
Anisotropy0.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.

Render met nevelRECRENDER · 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

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
TypeFog Glow
Threshold0.9
Size0.7
Strength1.1
35
Object Mode

Group Output en 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.

Render met gloed rond de zonRECRENDER · 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

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
Lens40 mm
F-Stop2.8
FocusBoei
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.

Laatste controlerenderRECRENDER · EEVEE00:00:00:00STAP 38
Klaar? Ga verder

Uitdagingen

  1. 1Animeer de golven: sleep Ocean > Time over een paar honderd frames en render een korte clip.
  2. 2Vervang de boei door een kleine zeilboot die op de golven vaart, met de romp aan de Ocean-hoogte gekoppeld.
  3. 3Voeg een tweede, verre Sun-lamp toe als maanlicht en maak er een blauw uur van in plaats van een zonsondergang.