Search the Community
Showing results for tags 'physics plane box scene probl'.
-
Hi, why changed the position of the cam or plane in following situration: the init script initialize the Babylon scene init.js window.onload=function(){this.canvas = document.getElementById("webgl");if (!BABYLON.Engine.isSupported()){window.alert('Your browser do not support WebGL');}else{var engine = new BABYLON.Engine(canvas,true);scene = createScene(engine);scene.activeCamera.attachControl(canvas); engine.runRenderLoop(function(){ scene.render(); }); this.addEventListener("resize", function () {engine.resize();});} };index.htm <!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> <title>BABYLON - physics</title> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <meta name="viewport" content="width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"> <link rel="stylesheet" href="lib/css/babylon.css"> <script src="lib/js/babylon.js"></script> <script src="lib/js/cannon.js"></script> <script src="lib/js/hand.js"></script> <script type="text/javascript" src="lib/js/init.js"></script> <script type="text/javascript"> var createScene= function (engine){ var scene = new BABYLON.Scene(engine); var camera = new BABYLON.FreeCamera("Camera", new BABYLON.Vector3(0, 3, -40), scene); camera.checkCollisions = true; camera.applyGravity = true; var light = new BABYLON.DirectionalLight("dir02", new BABYLON.Vector3(0.2, -1, 0), scene); light.position = new BABYLON.Vector3(0, 80, 0); // Material var materialAmiga = new BABYLON.StandardMaterial("amiga", scene); materialAmiga.diffuseTexture = new BABYLON.Texture("lib/media/amiga.jpg", scene); materialAmiga.emissiveColor = new BABYLON.Color3(0.5, 0.5, 0.5); materialAmiga.diffuseTexture.uScale = 5; materialAmiga.diffuseTexture.vScale = 5; var materialAmiga2 = new BABYLON.StandardMaterial("amiga", scene); materialAmiga2.diffuseTexture = new BABYLON.Texture("lib/media/ground.jpg", scene); materialAmiga2.emissiveColor = new BABYLON.Color3(0.5, 0.5, 0.5); var box = BABYLON.Mesh.CreateBox("Box", 10, scene); box.position.x = -6; box.material = materialAmiga2; var sphere = BABYLON.Mesh.CreateSphere("Sphere", 10.0, 10.0, scene); sphere.position.x = 6; sphere.material = materialAmiga; var ground = BABYLON.Mesh.CreatePlane("Plane", 50.0, scene); ground.material = materialAmiga2; ground.position.y = -10; ground.rotation.x = Math.PI/2; // Physics scene.enablePhysics(); scene.setGravity(new BABYLON.Vector3(0, -10, 0)); sphere.setPhysicsState({ impostor: BABYLON.PhysicsEngine.SphereImpostor, mass: 1 }); ///// HERE COMES THE ADDITIONAL LINE ///// return scene; }; </script></head><body> <canvas id="webgl"></canvas></body></html>ok everything goes fine, now u see a sphere falling thru the grounding plane but when I add this line ground.setPhysicsState({ impostor: BABYLON.PhysicsEngine.BoxImpostor, mass: 0, friction: 0.5, restitution: 0.7 })the camera or plane changed the position. The ball bouce but on a vertical orientated plane/ground #!? Greetz Alberto