Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 | import React from 'react';
import { Script } from '@playcanvas/react/components';
import { Color, Vec3 } from 'playcanvas';
import { GSplatRevealRain } from 'playcanvas/scripts/esm/gsplat/reveal-rain.mjs';
interface SplatRevealRainProps {
enabled?: boolean;
center?: [number, number, number];
distance?: number;
speed?: number;
acceleration?: number;
flightTime?: number;
rainSize?: number;
rotation?: number;
fallTint?: [number, number, number];
fallTintIntensity?: number;
hitTint?: [number, number, number];
hitDuration?: number;
endRadius?: number;
}
const SplatRevealRain = ({
enabled = true,
center = [0, 0, 0],
distance = 3,
speed = 10,
acceleration = 5,
flightTime = 0.25,
rainSize = 0.0,
rotation = 0,
fallTint = [0, 0, 0],
fallTintIntensity = 0,
hitTint = [0, 0, 0],
hitDuration = 0,
endRadius = 5,
}: SplatRevealRainProps) => {
return (
<Script
script={GSplatRevealRain}
enabled={enabled}
center={new Vec3(...center)}
distance={distance}
speed={speed}
acceleration={acceleration}
flightTime={flightTime}
rainSize={rainSize}
rotation={rotation}
fallTint={new Color(...fallTint)}
fallTintIntensity={fallTintIntensity}
hitTint={new Color(...hitTint)}
hitDuration={hitDuration}
endRadius={endRadius}
/>
);
};
export default SplatRevealRain;
|