use-rhino-loader
Version:
React hook for loading Rhino .3dm files with three.js and Rhino3dmLoader
45 lines (32 loc) • 1.11 kB
Markdown
# use-rhino-loader
A lightweight React hook to load Rhino `.3dm` files into your [React Three Fiber](https://github.com/pmndrs/react-three-fiber) scenes using `three.js` and `Rhino3dmLoader`.
---
## ✨ Features
- Load Rhino `.3dm` files as individual named mesh nodes
- Preserves world transform and material data
- Returns a `nodes` and `materials` object, just like `gltfjsx`
- Typed with TypeScript
---
## 📦 Installation
```bash
npm install use-rhino-loader
```
## Usage
```tsx
import { useRhinoLoader } from 'use-rhino-loader'
export function RhinoModel() {
const { nodes, materials } = useRhinoLoader('/models/sample.3dm')
return (
<group>
{Object.entries(nodes).map(([name, mesh]) => (
<primitive key={name} object={mesh} />
))}
</group>
)
}
```
## Props
| Name | Type | Description |
| ------------- | -------- | ------------------------------------------ |
| `url` | `string` | Path to the `.3dm` file |
| `libraryPath` | `string` | Path to Rhino runtime (default: `/rhino/`) |