UNPKG

wawa-vfx

Version:

A simple and easy-to-use library for creating visual effects in React Three Fiber.

63 lines (53 loc) 1.85 kB
import { ForwardRefExoticComponent } from 'react'; import { RefAttributes } from 'react'; import * as THREE from 'three'; export declare const VFXEmitter: ForwardRefExoticComponent<Omit<VFXEmitterProps, "ref"> & RefAttributes<THREE.Object3D<THREE.Object3DEventMap>>>; declare interface VFXEmitterProps { debug: boolean; settings: VFXEmitterSettings; emitter: string; ref?: React.RefObject<THREE.Object3D>; } declare interface VFXEmitterSettings { duration?: number; nbParticles?: number; spawnMode?: "time" | "burst"; loop?: boolean; delay?: number; colorStart?: string[]; colorEnd?: string[]; particlesLifetime?: [number, number]; speed?: [number, number]; size?: [number, number]; startPositionMin?: [number, number, number]; startPositionMax?: [number, number, number]; startRotationMin?: [number, number, number]; startRotationMax?: [number, number, number]; rotationSpeedMin?: [number, number, number]; rotationSpeedMax?: [number, number, number]; directionMin?: [number, number, number]; directionMax?: [number, number, number]; } export declare const VFXParticles: React.FC<VFXParticlesProps>; declare interface VFXParticlesProps { name: string; settings?: VFXParticlesSettings; alphaMap?: THREE.Texture; geometry?: React.ReactElement; } declare interface VFXParticlesSettings { nbParticles?: number; intensity?: number; renderMode?: "billboard" | "mesh"; fadeSize?: [number, number]; fadeAlpha?: [number, number]; gravity?: [number, number, number]; } export { } declare module "@react-three/fiber" { interface ThreeElements { particlesMaterial: ThreeElements["shaderMaterial"] & { alphaMap?: THREE.Texture; }; } }