Hello guys, while learning BBjs im working on some physics concepts.
After reading and follow the related docs:
havok plugin
So now Im trying to initialize the engine so I can use later into the plugin but im having following console error message:
RuntimeError: Aborted(CompileError: WebAssembly.instantiate(): expected magic word 00 61 73 6d, found 3c 21 44 4f @+0). Build with -sASSERTIONS for more info.
at abort (@babylonjs_havok.js?v=501b91be:298:15)
at @babylonjs_havok.js?v=501b91be:367:11
I will share the class I created:
import {
Scene,
Engine,
Vector3,
HemisphericLight,
ArcRotateCamera,
} from "@babylonjs/core";
import "@babylonjs/loaders";
import HavokPhysics from "@babylonjs/havok";
export class LeoScene {
scene: Scene;
engine: Engine;
constructor(private canvas: HTMLCanvasElement) {
this.engine = new Engine(this.canvas, true);
this.scene = this.createScene();
this.setScene(this.canvas);
this.getInitializedHavok()
this.engine.runRenderLoop(() => {
this.scene.render();
});
}
createScene():Scene{
const scene = new Scene(this.engine)
return scene;
}
async setScene(canvas:HTMLCanvasElement){
const camera = new ArcRotateCamera("Camera", Math.PI/1.5,Math.PI/4, 50, new Vector3(0, 0, 0), this.scene);
// camera.setPosition(new Vector3(0, 0, -10));
camera.attachControl(canvas, true);
const light = new HemisphericLight("light", new Vector3(0, 1, 0), this.scene);
this.scene.debugLayer.show({ overlay: true });
}
async getInitializedHavok() {
return await HavokPhysics();
}
}
BTW:
Im using vite starter script.
I already did the npm install @babylonjs/havok
Last question … can I try cannon intead or is it not recommended ?
Any suggestion / idea would be wellcome,
Regards.