Brick Effects
Voeg burst particles toe wanneer bricks breken
Overzicht
Voeg een explosie-effect toe aan de brick wanneer deze van onderaf geraakt wordt:
Burst particles met GPUParticles3D
One-shot emission - particles verschijnen alleen wanneer de brick geraakt wordt
Upward burst - particles schieten omhoog
GPUParticles3D Toevoegen
Open objects/Brick.tscn
Selecteer de Brick root node
Rechts-klik > Add Child Node > GPUParticles3D
Hernoem deze node naar Particles
Sla de scene op
Scene hierarchy:
Brick (AnimatableBody3D)
├── brick (imported scene)
├── CollisionShape3D (BoxShape3D)
├── AnimationPlayer
└── Particles (GPUParticles3D)Brick Particle Material
In tegenstelling tot de coin particles gebruik je hier het bestaande colormap material - dit geeft de particles dezelfde stijl als de brick zelf.
Selecteer de Particles node
In de Inspector, vind Material Override
Klik op het dropdown > Load
Navigeer naar res://models/colormap.tres
Selecteer colormap.tres en klik Open
One-Shot Settings
Brick particles moeten alleen verschijnen wanneer de brick geraakt wordt, niet continu. Daarom gebruiken we one-shot mode.
Selecteer de Particles node
In de Inspector, vind Emitting en vink deze UIT (particles moeten niet automatisch starten)
Onder Time, zet de volgende waarden:
Amount: 5 (aantal particles per burst)
One Shot: vink aan (particles verschijnen één keer)
Preprocess: 0.1 (kleine voorbereidingstijd voor natuurlijker effect)
Speed Scale: 1.25 (particles bewegen iets sneller)
Explosiveness: 1.0 (alle particles verschijnen tegelijk)
Randomness: 1.0 (maximale variatie in particle gedrag)
Performance Settings
Voor consistente burst effecten gebruiken we fixed FPS en local coordinates.
Onder Time, zet Fixed FPS op 60
Onder Drawing, vink Local Coords aan (particles bewegen met de brick mee)
Particle Behavior Setup
Nu bepalen we hoe de particles zich gedragen met een ParticleProcessMaterial.
Selecteer de Particles node
In de Inspector, vind Process Material
Klik op het dropdown > New ParticleProcessMaterial
Klik op de nieuwe ParticleProcessMaterial om de instellingen te openen
Particle Flags
Zorg ervoor dat particles naar boven wijzen (align Y) en geen Z-beweging hebben in je 3D wereld.
Onder Particle Flags, vink Align Y to Velocity aan
Onder Particle Flags, vink Disable Z aan
Emission Shape
Particles moeten uit een gebied rond de brick komen, niet uit één punt. We gebruiken een sphere shape.
Onder Process Material > Spawn > Position > Emission Shape, open de dropdown
Selecteer Sphere
Zet Sphere Radius op 0.6
Direction en Spread
Particles moeten voornamelijk omhoog schieten met wat variatie naar de zijkanten.
Onder Spawn > Velocity > Direction, zet de waarden:
X: 0
Y: 10 (sterke opwaartse richting)
Z: 0
Onder Spawn > Velocity > Spread, zet de waarde op 40 (graden variatie)
Velocity
Particles moeten met verschillende snelheden wegschieten voor een natuurlijk effect.
Onder Spawn > Velocity > Initial Velocity, zet de waarden:
Min: 4.0
Max: 6.0
Linear Acceleration
Voeg negatieve acceleratie toe zodat particles langzaam vertragen - dit maakt het effect natuurlijker.
Onder Accelerations, vind Linear Accel
Zet beide waarden:
Min: -2.0
Max: -1.0
Particle Scale
Maak de particles kleiner dan de originele brick mesh.
Onder Scale, zet Min op 0.3
Nu voegen we een scale curve toe zodat particles krimpen terwijl ze omhoog vliegen.
Klik het [empty] veld naast Scale Curve
Selecteer New CurveTexture
Klik op de nieuwe CurveTexture
Klik op het [empty] veld naast Curve
Selecteer New Curve
Klik op de nieuwe Curve om de curve editor te openen
De curve bepaalt hoe particles krimpen over hun levensduur. Maak een curve die begint groot en naar 0 krimpt.
De curve heeft al twee punten (links en rechts)
Linker punt: Sleep omhoog tot ongeveer Y = 0.85
Rechter punt: Blijft op Y = 0 (particles verdwijnen volledig aan het eind)
Particle Color
Geef de particles dezelfde gouden-naar-wit kleur als de coin particles.
Selecteer de ParticleProcessMaterial (klik erop in de Inspector)
Onder Color, klik het [empty] veld naast Color Ramp
Selecteer New GradientTexture1D
Klik op de nieuwe GradientTexture1D
Klik op het [empty] veld naast Gradient
Selecteer New Gradient
Klik op de nieuwe Gradient om de gradient editor te openen
Nu stellen we de kleuren in. Links is de startkleur (gouden geel), rechts is de eindkleur (wit).
Klik op de linker color marker onderaan de gradient
In de color picker, zet:
R: 0.996
G: 0.910
B: 0.352
A: 1.0
Klik op de rechter color marker
In de color picker, zet alle waarden op 1.0
Particle Mesh
In plaats van een QuadMesh gebruik je de brick mesh zelf - dit geeft een leuk effect waarbij kleine brickjes omhoog vliegen.
Selecteer de Particles node
In de Inspector, vind Draw Passes
Onder Pass 1, klik het dropdown > Load
Navigeer naar res://meshes/brick.res
Selecteer brick.res en klik Open
Tot slot verplaatsen we de particles net boven het midden van de brick.
Selecteer de Particles node
In de Inspector, onder Transform, zet Position Y op 0.25
Sla de scene op
Particles Triggeren via Script
Nu moet je de particles laten verschijnen wanneer de brick geraakt wordt. Update het Brick.cs script.
Open scripts/Brick.cs
We voegen eerst een exported field toe voor de particles.
Nu triggeren we de particles in
OnBodyEntered. Omdat we one-shot mode gebruiken, zal het particle systeem één keer afspelen en dan automatisch stoppen.
Particles Toewijzen in de Editor
Nu moet je de Particles node toewijzen aan het Brick script.
Open objects/Brick.tscn
Selecteer de Brick root node
In de Inspector, zie je nu een nieuwe property: Particles
Klik op Assign en selecteer de Particles node
Sla de scene op
Test de Brick Particles
Test met F5!
Je zou nu moeten zien:
Wanneer je van onderaf tegen een brick springt, verschijnt een burst van kleine brickjes
De particles schieten omhoog en verspreiden zich
Particles krimpen terwijl ze omhoog bewegen
Particles veranderen van goud naar wit
Het effect speelt één keer af per hit
Als de particles niet verschijnen:
Check of Emitting UIT staat in de Particles node (moet uit starten)
Controleer of One Shot aanstaat
Zorg dat brick.res in de meshes folder staat
Check of het script geen errors heeft
Controleer of de Particles node correct is toegewezen in de Inspector
Laatst bijgewerkt