premium-3d-website
Guides your agent in building advanced 3D websites. Focuses on visual effects, realistic interactions, and optimization for different devices.
What it does
This guide teaches how to build amazing, high-quality 3D websites. It focuses on advanced visual effects, realistic interactions, and optimization to ensure everything runs smoothly on any device.
When to use it
- ✓Creating a creative website with 3D elements.
- ✓Adding special visual effects like glow or blur.
- ✓Making 3D objects react to mouse clicks or hovers.
Example of what to ask your AI
“How can I make a 3D cube glow when the mouse hovers over it?”
Want more? Open the sections below.
How to use
The easiest way: copy the message below and paste it into Claude, ChatGPT, Cursor or any AI. It reads the skill and follows the instructions.
Skill link
Ready-to-paste message
How it works
It works by setting up the foundation for 3D graphics in the browser, adding visual effects like glow and blur, and integrating physics so objects react to interactions. It also includes tips for fast loading and mobile optimization.
Installation
Easiest way: copy the skill link and paste it into Claude, ChatGPT or Cursor asking it to follow the instructions.
In the terminal (Claude Code, Codex, Cursor), in your project folder:
npx skills add sickn33/agentic-awesome-skills --skill premium-3d-websiteOr download just the file:
curl -L https://raw.githubusercontent.com/sickn33/agentic-awesome-skills/main/plugins/agentic-awesome-skills-claude/skills/premium-3d-website/SKILL.md -o SKILL.mdTechnical content (original SKILL.md)
Original text by the author, straight from GitHub.
Premium 3D Website
Overview
This skill provides architectural guidelines and code patterns for developing premium, high-end 3D websites. It targets developers looking to implement advanced WebGL visual effects, custom shader pipelines, interactive physics elements, and immersive page transitions while maintaining high performance.
When to Use This Skill
- Use when designing premium or award-winning creative websites with 3D elements.
- Use when integrating Three.js, React Three Fiber (R3F), or Spline with custom shaders (GLSL).
- Use when implementing post-processing effects like bloom, depth-of-field, or custom film grain.
- Use when designing interactive preloaders and high-performance asset loading strategies.
- Use when optimizing complex 3D scenes for mobile responsiveness and performance.
How It Works
Step 1: Establish the Render Loop and Scene Architecture
Setting up a robust WebGL context with proper resize handling and performance-friendly pixel ratios is crucial. Keep pixel ratios capped at a maximum of 2 to avoid rendering too many pixels on high-DPI screens.
Step 2: Implement Shader Effects and Post-Processing
Incorporate post-processing pipelines (using EffectComposer or @react-three/postprocessing) to add bloom, chromatic aberration, depth of field, or film grain. Keep pass counts low and combine custom fragment shaders to minimize draw calls.
Step 3: Integrate Interactive Physics and Motion
Utilize physics frameworks (such as Cannon.js or Rapier) or procedural spring animations to make 3D objects react to mouse hover, drag, and click inputs with organic feedback.
Step 4: Asset Pipeline and Preloader
Optimize 3D models (using Draco compression) and load them using custom loading managers. Render interactive preloaders to entertain users while heavy assets are fetched in the background.
Examples
Example 1: Custom Post-processing in React Three Fiber (R3F)
import { Canvas } from '@react-three/fiber';
import { EffectComposer, Bloom, DepthOfField, Vignette } from '@react-three/postprocessing';
export default function PremiumComposer() {
return (
<Canvas dpr={[1, 2]} gl={{ powerPreference: "high-performance", antialias: false }}>
<ambientLight intensity={0.5} />
<mesh>
<boxGeometry />
<meshStandardMaterial emissive="orange" emissiveIntensity={2.0} />
</mesh>
<EffectComposer disableNormalPass>
<DepthOfField focusDistance={0} focalLength={0.02} bokehScale={2} height={480} />
<Bloom luminanceThreshold={0.3} luminanceSmoothing={0.9} height={300} />
<Vignette eskil={false} offset={0.1} darkness={1.1} />
</EffectComposer>
</Canvas>
);
}
Example 2: Custom GLSL Shader Material for Liquid/Wavy Effects
import * as THREE from 'three';
const CustomWavyMaterial = new THREE.ShaderMaterial({
vertexShader: `
varying vec2 vUv;
uniform float uTime;
void main() {
vUv = uv;
vec3 pos = position;
pos.z += sin(pos.x * 5.0 + uTime) * 0.1;
pos.z += cos(pos.y * 5.0 + uTime) * 0.1;
gl_Position = projectionMatrix * modelViewMatrix * vec4(pos, 1.0);
}
`,
fragmentShader: `
varying vec2 vUv;
uniform float uTime;
uniform vec3 uColor;
void main() {
float pulse = 0.5 + 0.5 * sin(uTime + vUv.x * 10.0);
gl_FragColor = vec4(uColor * pulse, 1.0);
}
`,
uniforms: {
uTime: { value: 0.0 },
uColor: { value: new THREE.Color('#3b82f6') }
}
});
Best Practices
- ✅ Set
dpr={[1, 2]}to restrict the device pixel ratio to a maximum of 2. - ✅ Disable antialiasing on the WebGLRenderer when post-processing is active to prevent double-aliasing performance penalties.
- ✅ Bake ambient occlusion, lighting, and shadows into textures using Blender or other 3D software instead of using dynamic lights and real-time shadows.
- ✅ Use instance rendering (
THREE.InstancedMeshor R3F<Instances>) for scenes containing multiple identical meshes. - ❌ Avoid using uncompressed GLTF/OBJ models. Always compress models using Draco or Meshopt.
- ❌ Avoid real-time shadow maps (such as
THREE.DirectionalLightShadow) on mobile or low-end devices due to the heavy performance overhead.
Limitations
- This skill does not replace environment-specific validation, testing, or expert review.
- Stop and ask for clarification if required inputs, permissions, or safety boundaries are missing.
…
FAQ
Why is my 3D website slow on mobile?
This can happen if the site tries to render too much detail. It's important to limit the image quality for mobile devices and disable unnecessary effects.
How can I make the website load faster?
Use a 'preloader' that shows something engaging while the heavy 3D files are downloaded. Optimize 3D models to make them smaller.
What are 'shaders'?
They are like small instructions that tell the computer how to draw colors and effects on 3D surfaces, allowing for unique and custom visuals.
Details
Original description by the author
Guidelines for building premium 3D websites, focusing on custom WebGL shaders, post-processing, physics-based interactions, smooth animations, preloaders, and device optimization.
Popularity
- GitHub stars
- 48k
- Ranking position
- #3876
- License
- MIT
- Updated
- 10/15/2026
Comments
- …
More skills from this repository
00-andruia-consultant
Helps your agent start or improve AI projects. It analyzes code, suggests tools, and creates action plans in Spanish.
sickn33/agentic-awesome-skills
007
Lets your agent perform security audits and threat modeling. It's useful for protecting projects against attacks and vulnerabilities.
sickn33/agentic-awesome-skills
10-andruia-skill-smith
Helps your agent create or improve AI tools. It defines how tools work, writes documentation, and validates the structure.
sickn33/agentic-awesome-skills
20-andruia-niche-intelligence
Lets your agent create a summary about a specific industry. It's useful for understanding the context, rules, usage patterns, and risks of a project, using reliable sources.
sickn33/agentic-awesome-skills
Similar skills
accessibility
Helps your agent create interfaces that everyone can use. Ensures websites and apps work well for people with disabilities, like those who are blind or have reduced mobility.
affaan-m/ECC
design-system
Helps your agent create a design system from existing code. It extracts visual information and checks for consistency, generating a report and an interactive preview.
affaan-m/ECC
liquid-glass-design
Helps your agent create iOS user interfaces with a 'Liquid Glass' effect. Allows adding dynamic and interactive visual effects in SwiftUI and UIKit.
affaan-m/ECC