Constconst [sparkEffects, setSparkEffects] = useState<ImpactSparkEffect[]>([]);
// On critical hit
const handleCriticalHit = (position: [number, number, number]) => {
setSparkEffects([...sparkEffects, {
id: generateId(),
position,
isCritical: true,
intensity: 1.0,
startTime: Date.now(),
}]);
};
<ImpactSparks3D
effects={sparkEffects}
enabled={true}
isMobile={isMobile}
onEffectComplete={(id) => {
setSparkEffects(prev => prev.filter(e => e.id !== id));
}}
/>
ImpactSparks3D Component
Renders high-energy spark effects for combat impacts using radial particle bursts. Critical hits use Korean gold color with more particles for enhanced visual feedback.