Package Exports
- react-three-rapier-unified
- react-three-rapier-unified/dist/index.cjs.js
- react-three-rapier-unified/dist/index.esm.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (react-three-rapier-unified) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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.