react-three-rapier-unified
v1.0.2
Published
Unified package combining @react-three/rapier and @react-three/rapier-addons
Maintainers
Readme
React Three Rapier - Unified Package
Ce package unifié combine @react-three/rapier et @react-three/rapier-addons en un seul package facile à utiliser.
📦 Installation locale
Option 1: Utiliser npm link (Recommandé pour le développement)
# Dans le dossier unified
npm install
npm run build
npm link
# Dans votre projet
npm link react-three-rapier-unifiedOption 2: Utiliser le chemin local dans package.json
Dans votre projet, ajoutez dans package.json:
{
"dependencies": {
"react-three-rapier-unified": "file:../chemin/vers/react-three-rapier/unified"
}
}Puis installez:
npm installOption 3: Copier directement dans node_modules
# Depuis votre projet
cp -r /chemin/vers/react-three-rapier/unified node_modules/react-three-rapier-unified🚀 Utilisation
Ce package exporte tous les composants, hooks et utilitaires des deux packages originaux:
import {
// Composants principaux
Physics,
RigidBody,
MeshCollider,
InstancedRigidBodies,
// Colliders
BallCollider,
CuboidCollider,
CapsuleCollider,
// Hooks
useRapier,
useBeforePhysicsStep,
useAfterPhysicsStep,
// Addons
Attractor,
AttractorDebugHelper,
// Utils
interactionGroups,
createWorldFromObject3D
} from 'react-three-rapier-unified';
function App() {
return (
<Canvas>
<Physics>
<RigidBody>
<mesh>
<boxGeometry />
<meshStandardMaterial />
</mesh>
</RigidBody>
{/* Utiliser les addons directement */}
<Attractor
range={10}
strength={1}
position={[0, 5, 0]}
/>
</Physics>
</Canvas>
);
}📚 Contenu du package
Composants Core
Physics- Le conteneur de physique principalRigidBody- Corps rigidesInstancedRigidBodies- Corps rigides instanciésMeshCollider- Collider basé sur mesh- Tous les colliders:
BallCollider,CuboidCollider,CapsuleCollider, etc.
Hooks
useRapier- Accès au contexte RapieruseBeforePhysicsStep/useAfterPhysicsStep- Callbacks de simulationuseFilterContactPair/useFilterIntersectionPair- Filtres de collision- Hooks de joints:
useFixedJoint,useSphericalJoint, etc.
Addons
Attractor- Composant d'attraction de corps rigidesAttractorDebugHelper- Helper de debug pour l'attractor
Utils
interactionGroups- Gestion des groupes d'interactioncreateWorldFromObject3D- Helpers pour Three.js
🏗️ Développement
# Installer les dépendances
npm install
# Build du package
npm run build
# Mode watch pour développement
npm run dev📝 Structure du projet
unified/
├── src/
│ ├── components/ # Tous les composants
│ ├── hooks/ # Tous les hooks
│ ├── utils/ # Utilitaires
│ ├── addons/ # Addons (Attractor, etc.)
│ ├── types.ts # Définitions de types
│ └── index.ts # Point d'entrée principal
├── dist/ # Fichiers buildés
├── package.json
├── tsconfig.json
└── vite.config.ts🔧 Configuration TypeScript
Le package est entièrement typé avec TypeScript. Les définitions de types sont incluses dans le build.
📄 Licence
MIT - Voir le fichier LICENSE pour plus de détails.
🙏 Crédits
Ce package unifie le travail original de:
Créé par Hugo Wiledal et la communauté Poimandres.
