Hello, I’m trying to load a .glb
mesh in a Node.js (server-side) environment with NullEngine
.
But I get this error:
Server running on port 8000Failed to load mesh: ReferenceError: XMLHttpRequest is not definedat createXMLHttpRequest (file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Misc/webRequest.ts:15:9)at new WebRequest (file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Misc/webRequest.ts:23:29)at file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Misc/webRequest.fetch.ts:16:25at new Promise ()at _FetchAsync (file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Misc/webRequest.fetch.ts:15:18)at loadDataAsync (file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Loading/sceneLoader.ts:592:36)at importMeshAsync (file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Loading/sceneLoader.ts:929:18)at file:///D:/Mohammad%20hossein/Web/Back/soccer-star-3d/dev/core/src/Loading/sceneLoader.ts:994:13at new Promise ()
import BABYLON from "@babylonjs/core";
import LOADERS from "babylonjs-loaders";
import "@babylonjs/havok";
const initScene = () => {
// constant
let queue: Array<any> = [];
var engine = new BABYLON.NullEngine();
var scene = new BABYLON.Scene(engine);
var light = new BABYLON.PointLight(
"Omni",
new BABYLON.Vector3(20, 20, 100),
scene
);
var camera = new BABYLON.ArcRotateCamera(
"Camera",
0,
0.8,
100,
BABYLON.Vector3.Zero(),
scene
);
BABYLON.ImportMeshAsync(
"./src/public/models/ball.glb",
scene
).then((result) => {
console.log("Mesh loaded:", result.meshes.map((m) => m.name));
}).catch((err) => {
console.error("Failed to load mesh:", err);
});
console.log("render started");
engine.runRenderLoop(function () {
scene.render();
});
};
export default initScene