Communitygithub.com

SamuelChien/mega-skills-collection

Expert dans la création d'expériences 3D pour le web - Three.js, React Three Fiber, Spline, WebGL et scènes 3D interactives. Couvre les configurateurs de produits, les portfolios 3D, les sites web immersifs et l'apport de profondeur aux expériences web.

Qu'est-ce que mega-skills-collection ?

Cette compétence vous transforme en un architecte d'expériences 3D web, capable de créer des interactions visuelles immersives avec Three.js, React Three Fiber, Spline et WebGL. Elle vous guide dans le choix de la bonne pile technique selon le projet (rapidité, contrôle, complexité), l'optimisation des performances (cibles FPS, compression Draco, LOD), et l'intégration de la 3D avec le scroll ou les animations GSAP. Vous apprendrez à préparer des modèles 3D pour le web (réduction de polygones, textures, export GLB), à gérer les fallbacks pour les appareils sans WebGL, et à respecter des seuils de qualité pour mobile et desktop. La compétence inclut également des workflows collaboratifs pour les configurateurs de produits et portfolios immersifs, ainsi que des alertes de validation pour éviter les pièges courants (absence d'indicateur de chargement, modèles non compressés, DPR trop élevé).

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/SamuelChien/mega-skills-collection/tree/HEAD/3d-web-experience

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Aperçu

Depuis le README du skill

mega-skills-collection preview

Documentation

Expérience Web 3D

Expert dans la création d'expériences 3D pour le web - Three.js, React Three Fiber, Spline, WebGL, et scènes 3D interactives. Couvre les configurateurs de produits, les portfolios 3D, les sites web immersifs, et l'apport de profondeur aux expériences web.

Rôle : Architecte d'Expériences Web 3D

Vous apportez la troisième dimension au web. Vous savez quand la 3D améliore l'expérience et quand elle est simplement là pour impressionner. Vous équilibrez l'impact visuel avec les performances. Vous rendez la 3D accessible aux utilisateurs qui n'ont jamais utilisé une application 3D. Vous créez des moments d'émerveillement sans sacrifier l'utilisabilité.

Expertise

  • Three.js
  • React Three Fiber
  • Spline
  • WebGL
  • Shaders GLSL
  • Optimisation 3D
  • Préparation de modèles

Capacités

  • Implémentation Three.js
  • React Three Fiber
  • Optimisation WebGL
  • Intégration de modèles 3D
  • Flux de travail Spline
  • Configurateurs de produits 3D
  • Scènes 3D interactives
  • Optimisation des performances 3D

Patterns

Sélection de la Pile 3D

Choisir la bonne approche 3D

Quand utiliser : Au démarrage d'un projet web 3D

Sélection de la Pile 3D

Comparaison des Options

OutilIdéal pourCourbe d'apprentissageContrôle
SplinePrototypes rapides, designersFaibleMoyen
React Three FiberApplications React, scènes complexesMoyenÉlevé
Three.js vanillaContrôle maximal, non-ReactÉlevéMaximum
Babylon.jsJeux, 3D lourdeÉlevéMaximum

Arbre de Décision

Besoin d'un élément 3D rapide ?
└── Oui → Spline
└── Non → Continuer

Utilisation de React ?
└── Oui → React Three Fiber
└── Non → Continuer

Besoin de performances/contrôle max ?
└── Oui → Three.js vanilla
└── Non → Spline ou R3F

Spline (Démarrage Rapide)

import Spline from '@splinetool/react-spline';

export default function Scene() {
  return (
    <Spline scene="https://prod.spline.design/xxx/scene.splinecode" />
  );
}

React Three Fiber

import { Canvas } from '@react-three/fiber';
import { OrbitControls, useGLTF } from '@react-three/drei';

function Model() {
  const { scene } = useGLTF('/model.glb');
  return <primitive object={scene} />;
}

export default function Scene() {
  return (
    <Canvas>
      <ambientLight />
      <Model />
      <OrbitControls />
    </Canvas>
  );
}

Pipeline de Modèles 3D

Préparer les modèles pour le web

Quand utiliser : Lors de la préparation d'actifs 3D

Pipeline de Modèles 3D

Sélection du Format

FormatCas d'utilisationTaille
GLB/GLTFStandard web 3DPlus petite
FBXDepuis un logiciel 3DGrande
OBJMaillages simplesMoyenne
USDZApple ARMoyenne

Pipeline d'Optimisation

1. Modèle dans Blender/etc
2. Réduire le nombre de polygones (< 100 000 pour le web)
3. Cuire les textures (combiner les matériaux)
4. Exporter en GLB
5. Compresser avec gltf-transform
6. Tester la taille du fichier (< 5 Mo idéal)

Compression GLTF

# Installer gltf-transform
npm install -g @gltf-transform/cli

# Compresser le modèle
gltf-transform optimize input.glb output.glb \
  --compress draco \
  --texture-compress webp

Chargement dans R3F

import { useGLTF, useProgress, Html } from '@react-three/drei';
import { Suspense } from 'react';

function Loader() {
  const { progress } = useProgress();
  return <Html center>{progress.toFixed(0)}%</Html>;
}

export default function Scene() {
  return (
    <Canvas>
      <Suspense fallback={<Loader />}>
        <Model />
      </Suspense>
    </Canvas>
  );
}

3D Pilotée par le Scroll

3D qui réagit au défilement

Quand utiliser : Lors de l'intégration de la 3D avec le scroll

3D Pilotée par le Scroll

R3F + Contrôles de Scroll

import { ScrollControls, useScroll } from '@react-three/drei';
import { useFrame } from '@react-three/fiber';

function RotatingModel() {
  const scroll = useScroll();
  const ref = useRef();

  useFrame(() => {
    // Rotation basée sur la position du scroll
    ref.current.rotation.y = scroll.offset * Math.PI * 2;
  });

  return <mesh ref={ref}>...</mesh>;
}

export default function Scene() {
  return (
    <Canvas>
      <ScrollControls pages={3}>
        <RotatingModel />
      </ScrollControls>
    </Canvas>
  );
}

GSAP + Three.js

import gsap from 'gsap';
import ScrollTrigger from 'gsap/ScrollTrigger';

gsap.to(camera.position, {
  scrollTrigger: {
    trigger: '.section',
    scrub: true,
  },
  z: 5,
  y: 2,
});

Effets de Scroll Courants

  • Déplacement de la caméra à travers la scène
  • Rotation du modèle lors du défilement
  • Révélation/masquage d'éléments
  • Changements de couleur/matériau
  • Animations de vue éclatée

Optimisation des Performances

Garder la 3D rapide

Quand utiliser : Toujours - la 3D est coûteuse

Performances 3D

Cibles de Performances

AppareilFPS cibleTriangles max
Desktop60fps500K
Mobile30-60fps100K
Faible puissance30fps50K

Gains Rapides

// 1. Utiliser des instances pour les objets répétés
import { Instances, Instance } from '@react-three/drei';

// 2. Limiter les lumières
<ambientLight intensity={0.5} />
<directionalLight /> // Juste une

// 3. Utiliser LOD (Niveau de Détail)
import { LOD } from 'three';

// 4. Charger les modèles en différé
const Model = lazy(() => import('./Model'));

Détection Mobile

const isMobile = /iPhone|iPad|Android/i.test(navigator.userAgent);

<Canvas
  dpr={isMobile ? 1 : 2} // Résolution inférieure sur mobile
  performance={{ min: 0.5 }} // Permet des baisses de FPS
>

Stratégie de Repli

function Scene() {
  const [webGLSupported, setWebGLSupported] = useState(true);

  if (!webGLSupported) {
    return <img src="/fallback.png" alt="Aperçu 3D" />;
  }

  return <Canvas onCreated={...} />;
}

Vérifications de Validation

Absence d'Indicateur de Chargement 3D

Gravité : ÉLEVÉE

Message : Aucun indicateur de chargement pour le contenu 3D.

Action correctrice : Ajouter Suspense avec une interface de chargement ou useProgress pour l'interface utilisateur de chargement

Absence de Repli WebGL

Gravité : MOYENNE

Message : Aucun repli pour les appareils sans support WebGL.

Action correctrice : Ajouter une détection WebGL et une image statique de repli

Modèles 3D Non Compressés

Gravité : MOYENNE

Message : Les modèles 3D peuvent être non optimisés.

Action correctrice : Compresser les modèles avec gltf-transform en utilisant Draco et la compression de texture

OrbitControls Bloquant le Scroll

Gravité : MOYENNE

Message : OrbitControls peut capturer les événements de scroll.

Action correctrice : Ajouter enableZoom={false} ou gérer les événements de scroll/tactile correctement

DPR Élevé sur Mobile

Gravité : MOYENNE

Message : Le DPR du Canvas peut être trop élevé pour les appareils mobiles.

Action correctrice : Limiter le DPR à 1 sur les appareils mobiles pour de meilleures performances

Collaboration

Déclencheurs de Délégation

  • animation de scroll|parallax|GSAP -> scroll-experience (Intégration scroll)
  • react|next|frontend -> frontend (Intégration React)
  • performance|lent|fps -> performance-hunter (Optimisation performances 3D)
  • page produit|landing|marketing -> landing-page-design (Landing produit avec 3D)

Configurateur de Produit

Compétences : 3d-web-experience, frontend, landing-page-design

Flux de travail :

1. Préparer le modèle 3D du produit
2. Configurer la scène React Three Fiber
3. Ajouter l'interactivité (couleurs, variantes)
4. Intégrer avec la page produit
5. Optimiser pour mobile
6. Ajouter des images de repli

Portfolio Immersif

Compétences : 3d-web-experience, scroll-experience, interactive-portfolio

Flux de travail :

1. Concevoir le concept de la scène 3D
2. Construire la scène dans Spline ou R3F
3. Ajouter des animations pilotées par le scroll
4. Intégrer avec les sections du portfolio
5. Assurer un repli mobile
6. Optimiser les performances

Compétences Connexes

Fonctionne bien avec : scroll-experience, interactive-portfolio, frontend, landing-page-design

Quand Utiliser

  • L'utilisateur mentionne ou implique : site web 3D
  • L'utilisateur mentionne ou implique : three.js
  • L'utilisateur mentionne ou implique : WebGL
  • L'utilisateur mentionne ou implique : react three fiber
  • L'utilisateur mentionne ou implique : expérience 3D
  • L'utilisateur mentionne ou implique : spline
  • L'utilisateur mentionne ou implique : configurateur de produit

Limitations

  • Utiliser cette compétence uniquement lorsque la tâche correspond clairement au champ d'application décrit ci-dessus.
  • Ne pas traiter la sortie comme un substitut à une validation, un test ou une revue experte spécifique à l'environnement.
  • S'arrêter et demander des clarifications si les entrées requises, les autorisations, les limites de sécurité ou les critères de succès sont manquants.

Individual skills in this repo

This repo contains 20 individual skills — each has its own dedicated page.

SamuelChien/mega-skills-collection

Security audit, hardening, threat modeling (STRIDE/PASTA), Red/Blue Team, OWASP checks, code review, incident response, and infrastructure security for any project.

SamuelChien/mega-skills-collection

Arquitecto de Soluciones Principal y Consultor Tecnológico de Andru.ia. Diagnostica y traza la hoja de ruta óptima para proyectos de IA en español.

SamuelChien/mega-skills-collection

Ingeniero de Sistemas de Andru.ia. Diseña, redacta y despliega nuevas habilidades (skills) dentro del repositorio siguiendo el Estándar de Diamante.

SamuelChien/mega-skills-collection

Estratega de Inteligencia de Dominio de Andru.ia. Analiza el nicho específico de un proyecto para inyectar conocimientos, regulaciones y estándares únicos del sector. Actívalo tras definir el nicho.

SamuelChien/mega-skills-collection

2D game development principles. Sprites, tilemaps, physics, camera.

SamuelChien/mega-skills-collection

3D game development principles. Rendering, shaders, physics, cameras.

SamuelChien/mega-skills-collection

Accessibility audit skill for scanning, fixing, and verifying WCAG 2.2 Level A and AA compliance across React, Next.js, Vue, Angular, Svelte, and plain HTML codebases. Use when auditing accessibility, fixing a11y violations, checking color contrast, generating compliance reports, or integrating accessibility checks into CI/CD pipelines.

SamuelChien/mega-skills-collection

Ab Test Analyzer - Auto-activating skill for Data Analytics. Triggers on: ab test analyzer, ab test analyzer Part of the Data Analytics skill category.

SamuelChien/mega-skills-collection

A B Test Config Creator - Auto-activating skill for ML Deployment. Triggers on: a b test config creator, a b test config creator Part of the ML Deployment skill category.

SamuelChien/mega-skills-collection

When the user wants to plan, design, or implement an A/B test or experiment. Also use when the user mentions "A/B test," "split test," "experiment," "test this change," "variant copy," "multivariate test," "hypothesis," "conversion experiment," "statistical significance," or "test this." For tracking implementation, see analytics-tracking.

SamuelChien/mega-skills-collection

Acceptance Criteria Creator - Auto-activating skill for Enterprise Workflows. Triggers on: acceptance criteria creator, acceptance criteria creator Part of the Enterprise Workflows skill category.

SamuelChien/mega-skills-collection

Use when a coding task should be driven end-to-end from issue intake through implementation, review, deployment, and acceptance verification with minimal human re-intervention.

SamuelChien/mega-skills-collection

Accessibility Audit Runner - Auto-activating skill for Frontend Development. Triggers on: accessibility audit runner, accessibility audit runner Part of the Frontend Development skill category.

SamuelChien/mega-skills-collection

You are an accessibility expert specializing in WCAG compliance, inclusive design, and assistive technology compatibility. Conduct audits, identify barriers, and provide remediation guidance.

SamuelChien/mega-skills-collection

Web accessibility patterns for WCAG 2.2 compliance including ARIA, keyboard navigation, screen readers, and testing

SamuelChien/mega-skills-collection

Manage Discord channel access — approve pairings, edit allowlists, set DM/group policy. Use when the user asks to pair, approve someone, check who's allowed, or change policy for the Discord channel.

SamuelChien/mega-skills-collection

Create unified specification packages across Business, Development, and Design teams. Staged elaboration (L0 Vision → L1 Requirements → L2 Team Detail → L3 Acceptance Criteria) to build shared understanding. Does not write code.

SamuelChien/mega-skills-collection

Research a company or person and get actionable sales intel. Works standalone with web search, supercharged when you connect enrichment tools or your CRM. Trigger with "research [company]", "look up [person]", "intel on [prospect]", "who is [name] at [company]", or "tell me about [company]".

SamuelChien/mega-skills-collection

Create forensically sound bit-for-bit disk images using dd and dcfldd while preserving evidence integrity through hash verification.

SamuelChien/mega-skills-collection

Validate messaging consistency across website, GitHub repos, and local documentation generating read-only discrepancy reports. Use when checking content alignment or finding mixed messaging. Trigger with phrases like "check consistency", "validate documentation", or "audit messaging".

Skills associés