Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

238
Views
Three.js not loading gltf file

I was using three.js with svelte for a project and when I try to load a 3d model the server returns with 404 not found. here is my code to load the file(Scene.js)

import * as THREE from 'three';
import {GLTFLoader} from 'three/examples/jsm/loaders/GLTFLoader.js';

const loader = new GLTFLoader();
const scene = new THREE.Scene();
const camera = new THREE.PerspectiveCamera(75, window.innerWidth / window.innerHeight, 0.1, 1000);

loader.load('../model/room.gltf', function (gltf){
   scene.add(gltf.scene);
}, undefined, function(error){
   console.log("error: ",error);
});
let renderer;
camera.position.z = 5;


const resize = () => {
    renderer.setSize(window.innerWidth, window.innerHeight)
    camera.aspect = window.innerWidth / window.innerHeight;
    camera.updateProjectionMatrix();
};

export const createScene = (el) => {
    renderer = new THREE.WebGLRenderer({ antialias: true, canvas: el });
    resize();
}

window.addEventListener('resize', resize);

this is the svelte file which I include the scene in(Main.svelte)

<script>
import {onMount} from 'svelte';
import {createScene} from "../Scene/Scene"
let el;

onMount(() => {
    createScene(el);
})
</script>

<canvas bind:this={el}></canvas>
<style>

</style>

this is the project structure project structure

and this is the error (ignore the bundle CSS error), also the code works when I use three.js built-in geometry. console error

Thank you.

about 4 years ago · Juan Pablo Isaza
1 answers
Answer question

0

For anyone struggling with this fro react-three-fiber, I had forgotten to use .scene. I.e.

const gltf = useLoader(GLTFLoader, '/Poimandres.gltf')
<primitive object={gltf} />

vs

const gltf = useLoader(GLTFLoader, '/Poimandres.gltf')
<primitive object={gltf.scene} />
about 4 years ago · Juan Pablo Isaza Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!