A glowing orb built from vertical glass slices, with thin gaps between each strip.
Tip: pick a preset, use the custom picker, or paste your brand hex to preview this element in your colors. Some elements use a fixed multi-color palette.
three @react-three/fiber @react-three/drei<RefractionSlats /> inside your own <Canvas>.import { useRef } from 'react';
import { useFrame } from '@react-three/fiber';
import type { Group } from 'three';
const SEGMENTS = 20;
export default function RefractionSlats({ color = '#5cff8a', scale = 1 }: { color?: string; scale?: number }) {
const g = useRef<Group>(null);
useFrame((_, dt) => {
if (g.current) g.current.rotation.y += dt * 0.4;
});
const step = (Math.PI * 2) / SEGMENTS;
const lune = step * 0.78; // ~22% gap between vertical slices
return (
<group ref={g} scale={scale}>
{Array.from({ length: SEGMENTS }).map((_, i) => (
<mesh key={i}>
{/* a vertical wedge (lune) of the sphere surface -> the orb is built from strips */}
<sphereGeometry args={[1.25, 6, 48, i * step, lune]} />
<meshPhysicalMaterial
color={color}
emissive={color}
emissiveIntensity={0.85}
roughness={0.2}
metalness={0.3}
iridescence={1}
iridescenceIOR={1.3}
clearcoat={1}
side={2}
/>
</mesh>
))}
</group>
);
}