Open
Description
I encountered an issue while using the OBJLoader library from Three.js to load an OBJ file in a React Native application. I placed the OBJ file in the assets directory of my React Native project and I'm trying to load it using useLoader from the @react-three/fiber/native library.
I get the following error: Error: Could not load 2: text.indexOf is not a function (it is undefined)
which comes from the line const obj = useLoader(OBJLoader, require('./assets/tableau.obj'));
My code :
import { Suspense } from 'react';
import { Canvas, useLoader } from '@react-three/fiber/native';
import { OBJLoader } from 'three/examples/jsm/loaders/OBJLoader';
function Box() {
const obj = useLoader(OBJLoader, require('./assets/tableau.obj'));
return <primitive object={obj} scale={10} />
}
export default function App() {
return (
<Canvas>
<ambientLight />
<pointLight position={[1, 1, 1]} />
<Suspense fallback={null}>
<Box />
</Suspense>
</Canvas>
);
}
node v21.1.0
"@react-three/fiber": "^8.15.9",
"@types/three": "^0.158.1",
"expo": "~49.0.15",
"expo-file-system": "~15.4.4",
"expo-gl": "~13.0.1",
"expo-status-bar": "~1.6.0",
"expo-three": "^7.0.0",
"react": "18.2.0",
"react-native": "0.72.6",
"three": "^0.158.0"