code corrections smoke

pull/27/head
Riccardo Venturini 2024-02-19 21:20:11 +00:00
parent 35085055bc
commit 764a3d2f30
3 changed files with 28 additions and 45 deletions

View File

@ -27,7 +27,7 @@ export const DriftParticlesRight = ({turboColor,scale, ...props}) => {
<Particles2 turboColor={turboColor} scale={scale} /> <Particles2 turboColor={turboColor} scale={scale} />
<Particles2 turboColor={turboColor} scale={scale} /> <Particles2 turboColor={turboColor} scale={scale} />
<Particles2 turboColor={turboColor} scale={scale} /> <Particles2 turboColor={turboColor} scale={scale} />
<Particles2 turboColor={turboColor} scale={scale} />z <Particles2 turboColor={turboColor} scale={scale} />
</group> </group>
) )
} }

View File

@ -29,13 +29,19 @@ export const SmokeParticle = ({ position, png, leftDrift, rightDrift, delay = 0
const pointsCurrent = pointsRef.current; const pointsCurrent = pointsRef.current;
if (leftDrift) { if(leftDrift || rightDrift){
//Set inclination
pointsCurrent.position.x -= 0.09 * delta * 144;
pointsCurrent.position.z += 0.1 * delta * 144; pointsCurrent.position.z += 0.1 * delta * 144;
if(pointsCurrent.position.x < -1.8) { //Set inclination
pointsCurrent.position.y = 0; if(leftDrift){
pointsCurrent.position.x -= 0.09 * delta * 144;
}
if(rightDrift){
pointsCurrent.position.x += 0.09 * delta * 144;
}
if(pointsCurrent.position.x < -1.8 || pointsCurrent.position.x > 1.8) {
pointsCurrent.position.z = 0; pointsCurrent.position.z = 0;
pointsCurrent.position.x = 0; pointsCurrent.position.x = 0;
pointsCurrent.material.opacity = 1.5; pointsCurrent.material.opacity = 1.5;
@ -50,34 +56,14 @@ export const SmokeParticle = ({ position, png, leftDrift, rightDrift, delay = 0
//Shrinking effect //Shrinking effect
pointsCurrent.material.size -= 0.1* delta * 144; pointsCurrent.material.size -= 0.1* delta * 144;
} }
} else if (rightDrift) {
//Set inclination
pointsCurrent.position.x += 0.09 * delta * 144;
pointsCurrent.position.z += 0.1 * delta * 144;
if(pointsCurrent.position.x > 1.8) {
pointsCurrent.position.y = 0;
pointsCurrent.position.z = 0;
pointsCurrent.position.x = 0;
pointsCurrent.material.opacity = 1.5;
pointsCurrent.material.size = 4;
}
if(pointsCurrent.material.opacity > 0) {
pointsCurrent.material.opacity -= 0.01 * delta * 144;
}
if(pointsCurrent.material.size > 0) {
//Shrinking effect
pointsCurrent.material.size -= 0.1* delta * 144;
}
} else { } else {
pointsCurrent.position.y = 0;
pointsCurrent.position.z = 0; pointsCurrent.position.z = 0;
pointsCurrent.position.x = 0; pointsCurrent.position.x = 0;
pointsCurrent.material.opacity = 0; pointsCurrent.material.opacity = 0;
pointsCurrent.material.size = 0; pointsCurrent.material.size = 0;
} }
}); });
return ( return (

View File

@ -5,23 +5,20 @@ export const SmokeParticles = ({ driftRight, driftLeft }) => {
return ( return (
<group> <group>
{/* bottom left */} <SmokeParticle
<group> position={[-0.6, 0.05, 0.5]}
<SmokeParticle png="./particles/fire_02.png"
position={[-0.6, 0.05, 0.5]} leftDrift={driftLeft}
png="./particles/fire_02.png" rightDrift={driftRight}
leftDrift={driftLeft} delay={200}
rightDrift={driftRight} />
delay={200} <SmokeParticle
/> position={[0.6, 0.05, 0.5]}
<SmokeParticle png="./particles/fire_01.png"
position={[0.6, 0.05, 0.5]} leftDrift={driftLeft}
png="./particles/fire_01.png" rightDrift={driftRight}
leftDrift={driftLeft} delay={200}
rightDrift={driftRight} />
delay={200}
/>
</group>
</group> </group>
); );
}; };