Very Simple Suzanne
by Ivan Enzhaev
HTML
<canvas id="renderCanvas"></canvas>
<script src="https://cdnjs.cloudflare.com/ajax/libs/babylonjs/2.5.0/babylon.js"></script>
CSS
html, body {
margin: 0;
padding: 0;
width: 100%;
height: 100%;
overflow: hidden
}
#renderCanvas {
width: 100%;
height: 100%;
touch-action: none;
}
JavaScript
var canvas = document.getElementById("renderCanvas");
var engine = new BABYLON.Engine(canvas);
var scene = new BABYLON.Scene(engine);
//Adding a light
var light = new BABYLON.PointLight("Omni", new BABYLON.Vector3(20, 20, 100), scene);
//Adding an Arc Rotate Camera
var camera = new BABYLON.ArcRotateCamera("Camera", 0, 0.8, 100, BABYLON.Vector3.Zero(), scene);
camera.attachControl(canvas, false);
var assetsManager = new BABYLON.AssetsManager(scene);
var meshTask = assetsManager.addMeshTask("suzanne task", "", "https://dl.dropboxusercontent.com/s/ui1ktbggn6ky4zx/", "Suzanne.babylon");
meshTask.onSuccess = function (task)
{
var suzanne = loadedMeshes[0];
suzanne.position = BABYLON.Vector3.Zero();
//suzanne.scaling = new BABYLON.Vector3(15, 15, 15);
suzanne.scaling.x = 15;
suzanne.scaling.y = 15;
suzanne.scaling.z = 15;
}
assetsManager.onFinish = function (tasks)
{
engine.runRenderLoop(function ()
{
scene.render();
});
};
assetsManager.load();
// Move the light with the camera
scene.registerBeforeRender(function ()
{
light.position = camera.position;
});
window.addEventListener("resize", function()
{
engine.resize();
});