Weapon Effects
Voeg muzzle flash particle effect toe aan de railgun
Overzicht
Voeg een visueel effect toe aan het wapen om schieten impactvol te maken:
Muzzle flash - Korte energieflits bij het schieten van de railgun
Muzzle Flash - GPUParticles3D
De muzzle flash is een korte energieflits aan het uiteinde van het wapen wanneer je schiet. Voeg dit toe als child van de bestaande Muzzle marker.
Open objects/Railgun.tscn
Selecteer de Muzzle node (Marker3D)
Rechts-klik > Add Child Node > GPUParticles3D
Hernoem deze node naar MuzzleFlash
Sla de scene op
Scene hierarchy:
Railgun (Node3D)
βββ blaster (MeshInstance3D)
βββ FireRateTimer (Timer)
βββ Muzzle (Marker3D)
βββ MuzzleFlash (GPUParticles3D)Waarom als child van Muzzle? Door de MuzzleFlash als child van de Muzzle marker te plaatsen, hoeven we geen positie in te stellen - hij zit automatisch op de juiste plek aan het uiteinde van het wapen.
Muzzle Flash Material
Maak een speciaal materiaal dat de particle kleuren correct weergeeft.
Selecteer de MuzzleFlash node
In de Inspector, vind GeometryInstance3D > Geometry > Material Override
Klik op het dropdown > New StandardMaterial3D
Klik op de nieuwe StandardMaterial3D om het te openen
Onder Shading, zet Mode op Unshaded
Onder Transparency, zet Mode op Alpha
Onder Vertex Color, zet Use As Albedo op aan (vink aan), dit zorgt dat de kleuren uit de particle settings zichtbaar worden
Onder Cull Mode, zet op disabled (BELANGRIJK! anders zullen je particles niet zichtbaar zijn vanuit de speler)
Muzzle Flash One-Shot Settings

De muzzle flash moet een korte burst zijn per shot.
Selecteer de MuzzleFlash node
In de Inspector, vind Emitting en vink deze UIT
Onder Time, zet:
Lifetime: 0.05 (zeer korte flash)
Amount: 3 (enkele particles voor subtle effect)
One Shot: vink aan
Explosiveness: 1.0
Randomness: 0.5
zet Fixed FPS op 60
Onder Drawing, vink Local Coords aan
Muzzle Flash Process Material

Selecteer de MuzzleFlash node
In de Inspector, vind Process Material
Klik op het dropdown > New ParticleProcessMaterial
Klik op de nieuwe ParticleProcessMaterial
Muzzle Flash Direction

De flash moet naar voren schieten vanuit het wapen.
Onder Process Material > Spawn > Velocity Direction, zet:
X: 0
Y: 0
Z: -1 (voorwaarts)
Onder Spread, zet 15 (kleine spreiding)
Onder Initial Velocity, zet:
Min: 8.0
Max: 12.0
Muzzle Flash Scale
Onder Process Material > Display > Scale, zet:
Min: 0.3
Max: 0.5
Klik het [empty] veld naast Scale Curve
Selecteer New CurveTexture
Klik op de nieuwe CurveTexture
Klik op de het veld naar Curve
Linker punt: Sleep omhoog tot Y = 1.0
Rechter punt: Sleep omhoog tot Y = 0
Muzzle Flash Color

Gebruik een fel-cyaan-naar-blauw-gradient voor een energie-effect dat past bij de railgun.
Onder Process Material > Display > Color Curves, 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
Klik op de linker color marker
In de color picker, zet (fel cyan):
R: 0.0
G: 1.0
B: 1.0
A: 1.0
Klik op de rechter color marker
In de color picker, zet (donker blauw):
R: 0.0
G: 0.2
B: 0.8
A: 0.0 (volledig transparant)
Muzzle Flash Mesh
Selecteer de MuzzleFlash node
In de Inspector, vind Draw Passes
Onder Pass 1, klik het dropdown > New QuadMesh
Klik op de nieuwe QuadMesh
Zet Size op:
X: 0.15
Y: 0.15
Particle Triggeren via Script
Nu moet je het particle-systeem triggeren wanneer het wapen schiet.
Open scripts/Railgun.cs
Voeg eerst een exported field toe voor de particle node:
Trigger nu de particle in
OnShoot(). Het particle systeem gebruikt one-shot mode, dus het speelt één keer af per trigger. De muzzle flash is zeer kort (0.05s) voor een snelle energieflits.
Particle Node Toewijzen in de Editor
Nu moet je de particle-node toewijzen aan het Railgun script.
Open objects/Railgun.tscn
Selecteer de Railgun root node
In de Inspector, zie je nu een nieuwe property: Muzzle Flash
Navigeer naar Muzzle > MuzzleFlash en sleep deze naar de Muzzle Flash property
Sla de scene op
Test de Weapon Effect
Test met F5!
Je zou nu moeten zien:
Bij elk schot verschijnt een cyan energieflits aan het uiteinde van het wapen
De flash verdwijnt heel snel (0.05s)
De flash past bij de cyan beam van de railgun
Als het effect niet verschijnt:
Check of Emitting UIT staat in de MuzzleFlash node
Controleer of One Shot aanstaat
Check of Railgun.cs geen errors heeft
Controleer of de MuzzleFlash node correct is toegewezen in de Inspector
Complete Script
Laatst bijgewerkt