Search the Community

Showing results for tags 'babylonjs'.



More search options

  • Search By Tags

    Type tags separated by commas.
  • Search By Author

Content Type


Forums

  • HTML5 Game Coding
    • News
    • Game Showcase
    • Coding and Game Design
  • Frameworks
    • Phaser
    • Pixi.js
    • Babylon.js
    • Panda.js
    • melonJS
    • Haxe JS
    • Kiwi.js
  • General
    • General Talk
  • Business
    • Collaborations (un-paid)
    • Jobs (Hiring and Freelance)
    • Services Offered

Found 219 results

  1. Hello again forum, I hope you have a great day I would like to continue my snake project game, and today i have decided to make a scoreboard for each fruits eaten. However i have an issue, i cannot display a UI text on my project even though i have followed tutorial in here The program seems to crash too and wont run. Any help given is appreciated. Cheers Here's my code, i insert the URL code into createScene function. <!DOCTYPE html> <html> <head> <title>Snake Game</title> <script src="babylon.js"></script> <script src="hand-1.3.7.js"></script> <script src="babylonObjLoader.js" ></script> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <canvas id="mycanvas"></canvas> <script> var canvas = document.getElementById("mycanvas"); var engine = new BABYLON.Engine(canvas, true); var createScene = function() { var scene = new BABYLON.Scene(engine); var ground = BABYLON.Mesh.CreateGround("ground1", 100, 100, 100, scene); //var camera = new BABYLON.FreeCamera("camera2", new BABYLON.Vector3(0,5,-10), scene); /*var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene); scene.activeCamera = camera;scene.activeCamera.attachControl(canvas); scene.activeCamera.keysUp.push(87); */ var camera = new BABYLON.ArcRotateCamera("camera",0,0,0,BABYLON.Vector3.Zero(0,10,0), scene); //var camera = new BABYLON.TouchCamera("camera2", new BABYLON.Vector3(0, 10, 0), scene); //var camera = new BABYLON.GamepadCamera("camera2", new BABYLON.Vector3(0, 15, -45), scene); //var camera = new BABYLON.DeviceOrientationCamera("camera", new BABYLON.Vector3(0, 1, -15), scene); //var camera = new BABYLON.FollowCamera("camera2", new BABYLON.Vector3(0, 15, -45), scene); //camera.lockedTarget = model; //camera.setPosition(new BABYLON.Vector3(0,5,-10)); camera.setTarget(BABYLON.Vector3.Zero(),scene); camera.attachControl(canvas,false); var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(0,1,0), scene); light.intesity = 0.5; var body = BABYLON.MeshBuilder.CreatePolyhedron("body", {type: 10, size: 0.7},scene); var materialBody = new BABYLON.StandardMaterial("bodyMat",scene); materialBody.diffuseColor = new BABYLON.Color3(1,0,0); body.material = materialBody; body.position.y = 5; body.position.x = 50; body.rotation.x = Math.PI/4; body.rotation.z = .19; /*var head = BABYLON.Mesh.CreateBox("head",0.7,scene); var materialHead = new BABYLON.StandardMaterial("HeadMat",scene); materialHead.diffuseColor = new BABYLON.Color3(.5,.2,0.3); head.material = materialHead; head.position.x = -4.5; head.position.z = -3; head.position.y = 1; */ var canvas2 = new BABYLON.ScreenSpaceCanvas2D(scene, { id: "mycanvas", size: new BABYLON.Size(300, 100), backgroundFill: "#4040408F", backgroundRoundRadius: 50, children: [ new BABYLON.Text2D("Hello World!", { id: "text", marginAlignment: "h: center, v:center", fontName: "20pt Arial", }) ] }); var apple; BABYLON.SceneLoader.ImportMesh("","Finalproject/", "apple.obj", scene, function (meshes) { apple = meshes[0]; //apple.parent = sphere1; /*engine.runRenderLoop(function() { //scene.activeCamera.alpha += .01; apple.rotation.y +=0.1; scene.render(); }); */ }); var apple2; BABYLON.SceneLoader.ImportMesh("","Finalproject/", "apple.obj", scene, function (meshes) { apple2 = meshes[0]; apple2.position.x = 20; apple2.position.z = 20; }); /*var sphere1 = BABYLON.Mesh.CreateSphere("sphere1",1,1, scene); sphere1.position.y = 0.7; sphere1.material = myMaterial; var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene); myMaterial.diffuseColor = new BABYLON.Color3(0, 1, 0); */ //sphere1.parent = apple; var snake ; BABYLON.SceneLoader.ImportMesh("","Finalproject/", "alphaSnake.babylon", scene, function (newMeshes, particleSystems, skeletons) { snake = newMeshes[0]; snake.position.y = 2; snake.rotation.z = -0.07; snake.rotation.y = 10; snake.rotation.x = 25; snake.position = new BABYLON.Vector3(10, 0, 0); //head.parent = snake; var isvisible = false; window.onkeyup = function(event) { event = event || window.event; var keyCode = event.which || event.keyCode; switch(keyCode) { // W key case 87: snake.rotation.y = Math.PI; snake.position.x -=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; // A Key case 65: snake.rotation.y = Math.PI/2; snake.position.z -=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; // S key case 83: snake.rotation.y = 25.5; snake.position.x +=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; // D key case 68: snake.rotation.y = -Math.PI/2; snake.position.z +=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; /*// E key case 69: if (snake.intersectsMesh(apple, false)) { isvisible = true; } break; */ // J key case 74: snake.rotation.y = Math.PI/2; break; // K key case 75: snake.rotation.y = 25.5; break; // L key case 76: snake.rotation.y = -Math.PI/2; break; // I key case 73: snake.rotation.y = Math.PI; break; } }; scene.registerBeforeRender(function(){ apple.rotation.y +=0.1; apple2.rotation.y +=0.1; if (snake.intersectsMesh(apple, false)) { apple.dispose(); } if (snake.intersectsMesh(apple2, false)) { apple2.dispose(); } /*if(isvisible == true) { apple.dispose(); } */ /*sphere1.scaling.x = 5; sphere1.scaling.y = 5; sphere1.scaling.z = 5; sphere1.position.y = 2.5; sphere1.material = myMaterial; apple.scaling.x = 0; apple.scaling.y = 0; apple.scaling.y = 0; */ }); }); return scene; }; var scene = createScene(); engine.runRenderLoop(function() { //scene.activeCamera.alpha += .01; /* if(isvisible == true) { sphere1.scaling.x = 0; } */ scene.render(); }); window.addEventListener("resize",function(){ engine.resize(); }); </script> </body> </html>
  2. Just a quick question; how to not freeze the render loop when doing "heavy" operations? Example: In my game, I have a stage that is composed of squares. The player can move around the stage but so can the enemies. The enemies are using a pathfinding system that uses navigation mesh. This navigation mesh is created dynamically when the game runs. Player can destroy the tiles of the stage. The tile destruction triggers the recalculation of the navmesh. The recalculation itself is a pretty heavy operation that freezes the whole game for a second or so. What I'm pretty much asking is if there is an async functionality for heavy functions/operations that are triggered from the render loop. Or what is the best way to handle these situations?
  3. Background: I am a newbie in game development I'm creating motion sensor game Air Table Tennis on Babylon.JS in which user can control the paddle of table tennis with his/her smartphone. I am using gyroscope/rotational data of mobile in the form of Quaternion to avoid Gimble Lock and sending the data to server(nodeJS). So Gyro data is coming from mobile through node JS. Problem: So, I am using Quaternion, But I am unable to map my paddle as my device. (paddle is not exactly in the position where my mobile is currently now, although moving on x,y,z axix give me correct result). So my question is how to calibrate/Map 3D object same as my mobile device? @wighawag@RaananW@Deltakosh Sir kindly help me, I'll be very thank ful. Thanks in Advance
  4. Hi, Have render a bike model as show. Few details regarding the model: Exported model from blender. All parts are under a parent mesh. I want to swap the existing fuel tank with a new fuel tank. Loading new mesh(fuel tank) using AssetsManager. meshTask.onSuccess = function (task) { //Get current tank //Hide current tank //Get current tank position using getAbsolutePosition() //Set position to new tank //Set new tank's parent //Show new tank } Few details regarding new tank model: Exported model from blender. Has no parent. But new tank is not in correct position. I can update the position manually(hard code) and get the following result.(Don't want to do this) Need to swap current mesh with new mesh and retain the position.
  5. Hi Forum, First of all, i tried to create a snake game for my project, however i have encountered some difficulties. I can't make the apple dissapear upon contact / collision with the snake. I can make the object dissapear normally if its just mesh from babylon ( sphere, box, etc ) . However, when i tried to do the same to imported blender object, it doesnt work, Any ideas? Any Help given is greatly appreciated. Thank you here's my code : P.S : i tried to upload it to playground, but it seems not working, as my snake and apple are on different file, and i dont know how to upload them in playground. <!DOCTYPE html> <html> <head> <title>Snake Game</title> <script src="babylon.js"></script> <script src="hand-1.3.7.js"></script> <script src="babylonObjLoader.js" ></script> <link rel="stylesheet" type="text/css" href="style.css"> </head> <body> <canvas id="mycanvas"></canvas> <script> var canvas = document.getElementById("mycanvas"); var engine = new BABYLON.Engine(canvas, true); var createScene = function() { var scene = new BABYLON.Scene(engine); var ground = BABYLON.Mesh.CreateGround("ground1", 100, 100, 100, scene); //var camera = new BABYLON.FreeCamera("camera2", new BABYLON.Vector3(0,5,-10), scene); /*var camera = new BABYLON.FreeCamera("FreeCamera", new BABYLON.Vector3(0, 1, -15), scene); scene.activeCamera = camera;scene.activeCamera.attachControl(canvas); scene.activeCamera.keysUp.push(87); */ var camera = new BABYLON.ArcRotateCamera("camera",0,0,0,BABYLON.Vector3.Zero(0,10,0), scene); //var camera = new BABYLON.TouchCamera("camera2", new BABYLON.Vector3(0, 10, 0), scene); //var camera = new BABYLON.GamepadCamera("camera2", new BABYLON.Vector3(0, 15, -45), scene); //var camera = new BABYLON.DeviceOrientationCamera("camera", new BABYLON.Vector3(0, 1, -15), scene); //var camera = new BABYLON.FollowCamera("camera2", new BABYLON.Vector3(0, 15, -45), scene); //camera.lockedTarget = model; //camera.setPosition(new BABYLON.Vector3(0,5,-10)); camera.setTarget(BABYLON.Vector3.Zero(),scene); camera.attachControl(canvas,false); var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(0,1,0), scene); light.intesity = 0.5; var body = BABYLON.MeshBuilder.CreatePolyhedron("body", {type: 10, size: 0.7},scene); var materialBody = new BABYLON.StandardMaterial("bodyMat",scene); materialBody.diffuseColor = new BABYLON.Color3(1,0,0); body.material = materialBody; body.position.y = 5; body.position.x = -50; body.rotation.x = Math.PI/4; body.rotation.z = .19; var head = BABYLON.Mesh.CreateBox("head",0.7,scene); var materialHead = new BABYLON.StandardMaterial("HeadMat",scene); materialHead.diffuseColor = new BABYLON.Color3(.5,.2,0.3); head.material = materialHead; head.position.x = -4.5; head.position.z = -3; head.position.y = 1; var apple; BABYLON.SceneLoader.ImportMesh("","Finalproject/", "apple1.obj", scene, function (meshes) { apple = meshes[0]; apple.parent = sphere1; /*engine.runRenderLoop(function() { //scene.activeCamera.alpha += .01; apple.rotation.y +=0.1; scene.render(); }); */ }); /*var sphere1 = BABYLON.Mesh.CreateSphere("sphere1",1,1, scene); sphere1.position.y = 0.7; sphere1.material = myMaterial; var myMaterial = new BABYLON.StandardMaterial("myMaterial", scene); myMaterial.diffuseColor = new BABYLON.Color3(0, 1, 0); */ //sphere1.parent = apple; var snake ; BABYLON.SceneLoader.ImportMesh("","Finalproject/", "alphaSnake.babylon", scene, function (newMeshes, particleSystems, skeletons) { snake = newMeshes[0]; snake.position.y = 2; snake.rotation.z = -0.07; snake.rotation.y = 10; snake.rotation.x = 25; snake.position = new BABYLON.Vector3(0, 0, 0); head.parent = snake; var isvisible = false; window.onkeyup = function(event) { event = event || window.event; var keyCode = event.which || event.keyCode; switch(keyCode) { // W key case 87: snake.position.x +=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); if (head.intersectsMesh(apple, false)) { isvisible = true; } break; // A Key case 65: snake.position.z +=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; // S key case 83: snake.position.x -=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; // D key case 68: snake.position.z -=3; //scene.beginAnimation(skeletons[0], 0, 60, true, 1.0); break; } }; scene.registerBeforeRender(function(){ if(isvisible == true) { apple.dispose(); /*sphere1.scaling.x = 5; sphere1.scaling.y = 5; sphere1.scaling.z = 5; sphere1.position.y = 2.5; sphere1.material = myMaterial; apple.scaling.x = 0; apple.scaling.y = 0; apple.scaling.y = 0; */ } }); }); return scene; }; var scene = createScene(); engine.runRenderLoop(function() { //scene.activeCamera.alpha += .01; /* if(isvisible == true) { sphere1.scaling.x = 0; } */ scene.render(); }); window.addEventListener("resize",function(){ engine.resize(); }); </script> </body> </html>
  6. Just ask. How is with engergy.js physics engine? Is it out our not ?? Can we try it? Any documentation? Or is it still not out? greetings
  7. I keep getting the console error "o._cacheNode.getInnerPosToRef is not a function". I just want to get it into the scene for now but I can't get it to show. I may be missing something obvious: var mainCanvas = document.getElementById("renderCanvas"); var engine = new BABYLON.Engine(mainCanvas, true); var createScene = function () { // This creates a basic Babylon Scene object (non-mesh) var scene = new BABYLON.Scene(engine); // This creates and positions a free camera (non-mesh) var camera = new BABYLON.FreeCamera("camera1", new BABYLON.Vector3(0, 5, -10), scene); camera.setTarget(BABYLON.Vector3.Zero()); camera.attachControl(mainCanvas, true); // This creates a light, aiming 0,1,0 - to the sky (non-mesh) var light = new BABYLON.HemisphericLight("light1", new BABYLON.Vector3(0, 1, 0), scene); var text2d = new BABYLON.Text2D("A", { fontName: "24pt Arial", marginAlignment: "h: center, v: bottom", fontSuperSample: true }); var canvas = new BABYLON.WorldSpaceCanvas2D(scene, new BABYLON.Size(150, 150), { id: "WorldSpaceCanvas", worldPosition: new BABYLON.Vector3(0, 0, 0), enableInteraction: true, backgroundFill: "#C0C0C040", backgroundRoundRadius: 20, children: [ text2d ] }); var box1 = BABYLON.Mesh.CreateBox("Box1", 2.0, scene); var materialBox = new BABYLON.StandardMaterial("texture1", scene); materialBox.diffuseColor = new BABYLON.Color3(0, 1, 0);//Green box1.material = materialBox; var animationBox = new BABYLON.Animation("boxAnimation", "position.x", 30, BABYLON.Animation.ANIMATIONTYPE_FLOAT, BABYLON.Animation.ANIMATIONLOOPMODE_CYCLE); // Animation keys var keys = []; keys.push({ frame: 0, value: 20 }); keys.push({ frame: 60, value: -10 }); animationBox.setKeys(keys); box1.animations.push(animationBox); scene.beginAnimation(box1, 0, 100, true); return scene; }; var scene = createScene(); engine.runRenderLoop(function () { scene.render(); }); // Resize window.addEventListener("resize", function () { engine.resize(); });
  8. Hello, Islands of Tribes (was Stone Age) is a turn based strategy game for mobile phones made with JavaScript and BabylonJS. Main features- Single player campaign- Custom games versus AI- Online multiplayer- Map editor- Buy new units from shop with gold you get by playingRegular updates bring new content to game.
  9. Total Babylon noob here looking for some help! I'm working on a WebVR game and want to add in some 2D elements like a small "Press the A button to start" box. How would I go about something like this? I've played around with Canvas2D but for some reason have only been able to get it to show the 2D element through one eye of my headset and have since scrapped that idea. Any ideas for the best way to go about this would be much appreciated!
  10. I am struggling with a similar problem like in this thread, but the solution provided here seems not so ideal... I have many modules in my game, and if I use Babylon.js in any of those, I import it using: import Babylon from 'babylonjs' So there isn't any good way to include Canvas2D similarly? I understand it is somehow baked to Babylon.js, but how do I use it? I'm downloading all the dependencies from the npm, including Babylon.js. Then I bundle everything using Webpack. Ideally, I would like to use Canvas2D (for example) like this: import Babylon from 'babylonjs' import Canvas2D from 'babylonjs' Please help, I've been scratching my head for hours now...
  11. Is it possible to make mash collision physics calculation only around some radius around mesh? For example If we have ball with radius 1 unit and some big mesh with 1 milion vertices. I would like that mesh collision will calculate only collision around radius 5 unit around current ball position. Object with mesh-collision will be rotate at run-time (So if we don't have static-collider object_with_mesh_impostor/collider) Is possible to add this functions? Can be this funcions accelerate collision calculation? @RaananW @Deltakosh Greetings Ian
  12. Guys, I'm looking for a UK based Babylon expert to help me with a project that requires some dynamic (data driven) rendering of 3D diagrams (interactive). NOTE: this is a web tool rather than a game. Thanks so much! Floyd
  13. Hello to everyone, I'm new to web developing and to babylon js. I'm building a web application for simulating simple physical systems as a high school computer science project. Right now I'm struggling with collisions. I know what calculations to do when two meshes collide assuming I know the collision point, but I couldn't find a way to get that. I'm trying to create my own physics so preferably this would be done without an external physics engine. All I need is to know when and where meshes intersect. I also have an idea but I could not make it work. Perhaps someone here can help with this. I thought to check for intersection using mesh.IntersectsMesh(otherMesh) and then dividing the meshes into sub-meshes. I can than check intersection between sub-meshes. By dividing the meshes into smaller and smaller sub-meshes I can get the point of intersection (for the desired accuracy) if I know which sub-meshes intersect and which do not. My problem is that I can't find a way to check intersection between sub-meshes, as they do not behave exactly like normal, independent meshes. If anyone has a way to help with that, or alternatively another way to go about it, I would be very thankful. Thanks in advance
  14. I'm making a game where there's a single sphere in the middle of the screen and random spheres move in and out and you have to press a key when a sphere intersects the sphere in the middle. If you press it at the right time the score should increase. I have it working with one but once I tried to implement it with multiple spheres the score started to increase whenever you pressed key even if the spheres aren't intersecting. Here's my code: RhythmGame.init() var scene = RhythmGame.scene; var stillMesh = scene.getMeshByID("SphereStill"); var sphere1 = scene.getMeshByID("Sphere1"); var sphere2 = scene.getMeshByID("Sphere2"); var sphere3 = scene.getMeshByID("Sphere3"); var sphere4 = scene.getMeshByID("Sphere4"); var sphereArray = [sphere1, sphere2, sphere3, sphere4] var tunnelMesh = scene.getMeshByID("tunnel"); setInterval(function(){ scene.beginAnimation(sphereArray[Math.floor(Math.random() * (3 - 0 + 1)) + 0], 0, 100, true); }, 1500); $('#canvasZone').keypress(function(){ if(sphere1.intersectsMesh(stillMesh)){ RhythmGame.updateScore(); } if(sphere2.intersectsMesh(stillMesh)){ RhythmGame.updateScore(); } if(sphere3.intersectsMesh(stillMesh)){ RhythmGame.updateScore(); } if(sphere4.intersectsMesh(stillMesh)){ RhythmGame.updateScore(); } });
  15. Showcase of playing Perplexus Shadow Open 3D maze game on android phone Nexus 5x (it works also on tablet) Game works smooth! BabylonJS is great game engine for phone games! Here is Video (recorded with android app "AZ Screen Recorder") https://gaming.youtube.com/watch?v=vB7hd_SAzOA
  16. Hi, I am wabsol. I am building a vr application for use on cardboard. Everything works fine when using the phonegap server(windows)/client(android) app. But i noticed when i wanted to export it for android my phone was not compatible because it is android 6.0.1. I tried if i could update my phone but it said it was running the latest update for my device (samsung galaxy s6). I also tried editing the config.xml file for several versions of phongap/android. But i allways get a white screen when using the app without the phonegap server/client apps. My project in browser (youtube video):
  17. I'm getting this error when trying to import a babylon file Uncaught ReferenceError: camera is not defined at Observer.callback (localhost/:33) at Observable.notifyObservers (babylon.max.js:3399) at Scene._checkIsReady (babylon.max.js:15546) at babylon.max.js:15540 You can see the code on attachment. Help please index.html
  18. Hi, I could answer this question by reading babylonJS code so pardon me for my lazyness. I would rather ask here because it looks like some of the devs of BabylonJS sometimes come here and I'm short on time. Is BabylonJS written to use WebGL natively or is it using some library to convert DirectX calls to WebGL (Angle or Anglers?? I read that somewhere I can't find)? Is that behavior different depending on the browser it runs in? (MS Edge vs others) If there's some converting going on, do we have a measurement of the overhead cost (flippin' matrices, normals, transpiling shaders, etc). On the plus side... if it is using DirectX somehow, does it mean I can use DDS on all browsers? Thanks! BabylonJS looks great, I'm still trying to figure out if I should go lower-level WebGL-only Three.JS or use a higher-level "game engine" like BabylonJS.
  19. Hi All, I have a mesh that is a background, and you can move the other meshes on top of it (and a record the movement). It's very similar to this example: http://babylonjs-playground.azurewebsites.net/#U0YL2#0 what I would like to do is keep the smaller mesh contained within the larger one. Ideally, I would like to allow users to move the smaller mesh outside the larger one, but not completely off of it (there would still be like a 25px edge of the mesh so you could still touch it and move it). I am sure I can just compare the xy of the smaller mesh and compare it to the area of the larger mesh, but I'm wondering if there is something that is already being computed that I can use. Thanks, Jeff
  20. Hello everyone, I am working on a game project using BabylonJS (thank you for your hardwork on this amazing framework!) and using Blender to create model. I've been following this guy to create model and animation for my character: After I was done and ran the animation in BabylonJS, the model was fucked up and stretched everywhere unlike in Blender. I've looked for a lot of similar questions in the forum but still can't solve it (set LocRot, scale to 1, loc and rot to 0,...). Can you guys help me figure out what is wrong with the blender file? Blender file: https://www.dropbox.com/s/n5ab6jg0s9a5qz5/Dave.blend?dl=0 Babylon file: https://www.dropbox.com/s/mwi4dar41irvjyy/Dave.babylon?dl=0 This is the model from the guy above, if you can find the problem with this file, I can fix it on my (terrible) model too. You can drop the babylon file in sandbox to see the problem since I checked the autolaunch animation box. Thank you all! P/S: The file doesn't come with a texture sorry, it's not really important though.
  21. Hello everybody :-) I'm trying to use ExtrudeShape for creating a building shape and am having trouble with the cap. I understand that the cap is not tessellated (triangulated) so it would be faster. But when I have concave angles in the shape, it doesn't look good. I also tried using Ribbon for the roof polygon somehow, but the tessellation doesn't happen here either of course. Here is my code: http://www.babylonjs-playground.com/#1KQZAF#0 I tried using PolygonMeshBuilder but the mesh is rotated the way I don't want it to and some walls keep dissapearing depending on the angle of view: http://www.babylonjs-playground.com/#SJLOW#1 I don't need the mesh to be updated so the speed of tessellation doesn't bother me much. What am I doing wrong? What can I do to have a tessellated building? Thanks :-)
  22. Hi, some time ago i started learn babylonJS, which some experience in phaser I made this: http://babylon.furcatomasz.pl. And now i have two problem to resolve: 1. Animation of walk of character stretching char - you can check it using keys WASD. 2. Mesh character have bones. I think about bone right hand, when i use function attachToBone sword has been attached in different position than bone. Thanks for help Tom
  23. Hello, I'm new to Babylon.js and I'm looking for a way to use the ArcRotateCamera AND move its target by arrow keys for example. I would like to rotate the camera around the scene and also to be able to look closely to left bottom corner for instance. Is it possible or am I making stuff up? Thank you :-)
  24. Hey, all! I've noticed that Firefox (51.0.1 is my version) throws errors when loading all .babylon files that were exported from Blender. The files load fine, though. Should I be concerned with this? It doesn't happen in Chrome, but I'd like to remove the clutter from the Inspector so I don't lose any actual issues in Firefox. Error: (all .babylon files cause this) XML Parsing Error: not well-formed Location: http://whirlinggizmo.com/skintest/assets/wearables/m_shirt_fireman/m_shirt_fireman.babylon Line Number 1, Column 1: Playground Link: http://babylonjs-playground.com/#WDMRY#17 Thanks!
  25. Hi everyone, I am using the PolygonMeshBuilder to extrude a 2D shape with holes. However, the `build` function extrudes the shape down by default... but I want it to extrude up .... Is there a way to switch the extrusion direction when building the mesh ? For now I am flipping the mesh manually as I did not found another way. mesh.scaling.y *= -1; mesh.flipFaces(); Here is the playground: http://www.babylonjs-playground.com/#1ZAXRO#0 Thanks