Brunozerouno Posted October 10, 2021 Share Posted October 10, 2021 Hello, could you please help me with this? for some reason my mesh is not rotating around y axis. <!doctype html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta charset="utf-8"> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> <title>Babylon test page</title> <style> html, body { overflow: hidden; width: 100%; height: 100%; margin: 0; padding: 0; } #renderCanvas { width: 600px; height: 600px; touch-action: none; border: thin solid red; } </style> <script src="https://cdn.babylonjs.com/babylon.js"></script> <!--<script src="https://cdn.babylonjs.com/inspector/babylon.inspector.bundle.js"></script>--> <script src="https://cdn.babylonjs.com/loaders/babylonjs.loaders.min.js"></script> <!--<script src="https://code.jquery.com/pep/0.4.3/pep.js"></script>--> <script src="https://ajax.aspnetcdn.com/ajax/jQuery/jquery-3.4.1.min.js"></script> <!--<script src="https://cdn.babylonjs.com/postProcessesLibrary/babylonjs.postProcess.min.js"></script> <script src="https://cdn.babylonjs.com/gui/babylon.gui.min.js"></script>--> </head> <body> <canvas id="renderCanvas" touch-action="none" data-camdistance="160" data-camerax="0" data-cameray="50" data-cameraz="0" data-meshname="glTF"></canvas> <!-- touch-action="none" for best results from PEP --> <script type="text/javascript"> const canvas = document.getElementById("renderCanvas"); // Get the canvas element const engine = new BABYLON.Engine(canvas, true); // Generate the BABYLON 3D engine // Add your code here matching the playground format const createScene = function () { const scene = new BABYLON.Scene(engine); var defaultPipeline = new BABYLON.DefaultRenderingPipeline( "DefaultRenderingPipeline", true, // is HDR? scene, scene.cameras ); if (defaultPipeline.isSupported) { defaultPipeline.samples = 8; defaultPipeline.imageProcessingEnabled = true; if (defaultPipeline.imageProcessingEnabled) { defaultPipeline.imageProcessing.contrast = 1; defaultPipeline.imageProcessing.exposure = 1; }} //CAMERA var camdistance = $('#renderCanvas').data('camdistance'); var camX = $('#renderCanvas').data('camerax'); var camY = $('#renderCanvas').data('cameray'); var camZ = $('#renderCanvas').data('cameraz'); var camera = new BABYLON.ArcRotateCamera("camera", -Math.PI / 2, Math.PI / 2.5, camdistance, new BABYLON.Vector3(camX, camY, camZ)); //camera.attachControl(canvas, true); //LIGHTS const lighthemi = new BABYLON.HemisphericLight("light", new BABYLON.Vector3(1, 1, 0)); lighthemi.intensity = 1; var light = new BABYLON.DirectionalLight("dir01", new BABYLON.Vector3(-200, -10, 200), scene); light.position = new BABYLON.Vector3(0, 150, -250); light.intensity = 3; canvas.removeEventListener('mousewheel', camera._wheel);canvas.removeEventListener('DOMMouseScroll', camera._wheel); camera.inputs.attached.pointers.buttons = [0,1]; // disables right button camera.panningSensibility = 0; camera.lowerRadiusLimit = camdistance; camera.upperRadiusLimit = camdistance; camera.minZ = 0; //camera.useAutoRotationBehavior = true; // Shadows var shadowGenerator = new BABYLON.ShadowGenerator(2048, light); /* var mesh = BABYLON.SceneLoader.ImportMeshAsync(null,"./3D/glTF/", meshname, scene, function (scene) { .then((result) => { result.meshes[1].position.x = 20; const myMesh1 = scene.getMeshByName("myMesh_1"); myMesh1.rotation.y = Math.PI / 2; }); var mesh = scene.meshes[0]; shadowGenerator.addShadowCaster(scene.meshes[2]) shadowGenerator.useBlurExponentialShadowMap = true; shadowGenerator.useKernelBlur = true; shadowGenerator.blurKernel = 32; }); */ //GROUND var ground = BABYLON.Mesh.CreateGround("ground", 200, 200, 10, scene); // Colour the ground var material = new BABYLON.StandardMaterial(scene); material.alpha = .5; ground.material = material; ground.receiveShadows = true; //MESH var meshname = $('#renderCanvas').data('meshname'); BABYLON.SceneLoader.ImportMesh("","./3D/glTF/", meshname+".glb", scene, function (newMeshes) { // Set the target of the camera to the first imported mesh camera.target = getMeshByName(name); var name = newMeshes[0].name; scene.registerBeforeRender(function () { light.position = camera.position; scene.getMeshByName(name).rotation.y += 0.02; }); }); return scene; }; const scene = createScene(); //Call the createScene function //scene.clearColor = new BABYLON.Color4(0, 0, 0, 0); // Register a render loop to repeatedly render the scene engine.runRenderLoop(function () { scene.render(); }); // Watch for browser/canvas resize events window.addEventListener("resize", function () { engine.resize(); }); </script> </body> </html> Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.