Leaderboard


Popular Content

Showing content with the highest reputation since 11/07/18 in all areas

  1. 11 points
    trevordev

    AmmoJS support

    Hey, AmmoJS physics plugin has been added to Babylon preview. It should work well with composite meshes which we've had trouble with in the past with other engines. Let me know if you find any issues or have any feedback. Note: Support for motors, soft bodies, other ammo specific features are not yet supported so yell if you need anything specific for your project. vid.mp4 Examples: Basic impostors: https://playground.babylonjs.com/#7149G4#31 Loading mesh and colliders from file: https://playground.babylonjs.com/#66PS52 Loading and adding colliders manually in Babylon: https://playground.babylonjs.com/#FD65RR Loading and adding collider with joints and pointer interactions: https://playground.babylonjs.com/#DGEP8N WebVR grabbing and throwing: https://playground.babylonjs.com/#ZNX043#1 Docs: https://doc.babylonjs.com/how_to/using_the_physics_engine
  2. 11 points
    Deltakosh

    Inspector v2.0

    Hey team!!! I'm so happy to start sharing what I was working on for some times: https://medium.com/@babylonjs/dev-log-creating-the-new-inspector-b15c50900205 I hope you like it as much as I like working on it This is the repo issue associated with it: https://github.com/BabylonJS/Babylon.js/issues/5415 I plan to merge it to master probably this Monday
  3. 9 points
    Deltakosh

    Deltakosh out for 2 weeks

    Hey team! I'll be out for two weeks going to some needed vacations Do not expect any answers from me during this timeframe See you all in 2 weeks!!
  4. 7 points
    Deltakosh

    Inspector v2.0 is ready for testing

    He is here and already deployed to sandbox and Playground Feel free to report any issue!
  5. 7 points
    I made a progress bar using two rectangles, a container and a text block, here I thought I would share because I am very proud of myself ! You can find the code to run it just here: https://playground.babylonjs.com/ts.html#P3XLK9
  6. 6 points
    Hi @Kevin Trepanier, From a FGL-Flash-era comparison the big changes are HTML5's shift towards revenue-split, syndication, multi-platform, multi-player. A good Publishing Partner (who can bring high volume traffic and share revenues fairly) is good to have but might take time (and a small catalog of games) to find? Sponsors. The "Auction" exclusive-upfront-fee licenses are rare (or rather the level of risk for a small team to build a game of sufficient scope to gain exclusive interest is hard to justify upfront). The "Gameshop" style non-exclusive upfront-fee licenses do exist, however the number of active sponsors in the market are few so overall revenue is limited (in comparison to slower but longer revenue-split). There are links on this forum to such sponsor portals, although it's a changing list with high churn so your own research will be necessary. Virality. As always, it's possible but improbable! But more contagious these days is the speed and quantity of rip-offs and clones. Any big-idea must be protected with (or leverage) a server-side strategy. Of course everybody's mileage will vary, most will quietly stall whereas a few successes are very real and highly deserved (and often humble!). I hope that's a fair and helpful overview.
  7. 6 points
    JohnK

    Wikipedia

    https://en.m.wikipedia.org/wiki/BabylonJS EDIT 17 Nov 2018 On hold again as it was put on by a banned user. EDIt 1 Dec 2018 Back on line again - hope it holds this time
  8. 6 points
    NasimiAsl

    draw font inside of shader

    https://www.babylonjs-playground.com/frame#HJSZ84#19
  9. 5 points
    mentuat

    Y8 Destroys Your Games (and websites)

    Complaining about a bunch of IP infringing 'Mario' games being removed from a distribution network? Ballsy move bringing attention to that!
  10. 5 points
    Play "Offerlings" in your browser" For the game jam Ludum Dare 43 we decided to try out BabylonJS. We knew we wanted to create 3D game and for it to run on the web and on mobile browsers. We'd previously created our own JS engines with THREE.js as the renderer, but the time constraints of the game jam (3 days) meant we wanted to an existing game engine. We looked at other game engines that had HTML5 exports (Unity, Godot, Unreal), but none of them really worked on mobile. We're really happy with using BabylonJS, the examples were great for learning how to add various features into our game. Looking forward to the AmmoJS plugin in version 4.0! Let us know what you think of the game, and if you spot any problems.
  11. 5 points
    JohnK

    GUI ScrollViewer

    ScrollViewer now available and enhanced by DK
  12. 5 points
    NasimiAsl

    Shared transparency

    hi https://www.babylonjs-playground.com/#1TYWYB#188 you can use 2 renderTarget for make that 1. for render transparent area inside of black Area https://www.babylonjs-playground.com/#1TYWYB#186 2. render nan transparent meshes https://www.babylonjs-playground.com/#1TYWYB#187 then mix that with postprocess
  13. 5 points
    JohnK

    Build a House from a Floorplan

    In this image the blue walls are the inner walls and the red ones the outer walls, the position vectors ai, bi, ci are known and hence so will line L = bi - ai and next line N = ci - bi. We need to find the position vector of bo. Knowing the distance between the inner and outer wall we can use the right angled triangles (as shown) to determine bo. Using the vector dot product angle = Math.acos(BABYLON.Vector3.Dot(line, nextLine)/(line.length() * nextLine.length())); we can determine the angle between L and N. However that angle can be acute (left hand image), obtuse or reflex (right hand image) whereas the Math.acos returns an angle between 0 and PI. Using the cross product direction = BABYLON.Vector3.Cross(nextLine, line).normalize().y; will give a vector perpendicular to L and N ie of the form (0, y, 0) and normalizing will give (0, 1, 0) or (0, -1, 0) depending whether the angle is reflex or not. We need to find out the unit vector perpendicular to L (forms the right angle in the images). Since taking the dot product of (x1, y1, z1) with (x2, y2, z2) gives x1x2 + y1y2 + z1z2 which will be zero when the two vectors are perpendicular then for L = (x, 0, z) the perpendicular (or normal line) to L in the plane LN will have the form (-z, 0, x) as these give a dot product of zero. Hence lineNormal = new BABYLON.Vector3(line.z, 0, -1 * line.x).normalize(); The we need the unit vector in the direction of L line.normalize(); Current ai tells us we are at wall w and bo is for wall w + 1. Since the walls are closed at the end wall w + 1 = 0. Hence the need to work modulo the number of walls (w + 1) % nbWalls Now we can use the right angled triangle to determine the position vector of bo. Starting from bi (corner of wall w + 1 mod nbWalls) travel along base and along height to get to bo (vector addition is commutative so can add in opposite order) as below Walls] = walls[(w + 1) % nbWalls].corner.add(lineNormal.scale(ply)).add(line.scale(direction * ply/Math.tan(angle/2))); remember ply is distance between inner and outer wall so vector along height is scaled by ply. Knowing ply and the angle we can use tan to get the base length. Multiplying by direction deals with when angle is reflex or not. we can then move on to the next line along line = nextLine.clone(); and find the next line. Note we are using subtractToRef V.subtractToRef(W, R) which takes W from V and puts the result into R walls[(w + 3) % nbWalls].corner.subtractToRef(walls[(w + 2) % nbWalls].corner, nextLine); note that as ai is wall w, bi is wall w + 1 and ci is wall w + 2 Hope that helps
  14. 5 points
    vinhpt

    2D, 3D Wave simulator

    Please visit my website Wave simulator http://grid.vn/song/app/EnSong3D.html WAVE INTERFERENCE http://grid.vn/song/app/EnGiaoThoaSong3D.html
  15. 4 points
    Hey. Some info from us. Please note this is an info for a full catalog of our games (88 titles in total, 5 new games added in 2019). Browser Html5 games - we (team of 5) make a living out of it. Some licenses, some b2b deals, some ads. Facebook Instant Games - was super nice in 2018. In 2019 our reveue from games (old and new) is rather small. Still makes a little sense to publish new games there. Mobile games - zero. null. nada. Not a single dollar.
  16. 4 points
    -AAG-

    AAG batch of games #4

    Another year another batch of games. This was a slow year and the year of the sequel too. Joe Lost 2 Joe is lost again! Please help him. ABCya exclusive. Playable only on desktop unless you have a mobile account. PLAY Light On 2 The exclusive sequel to Light On only on ABCya.com! Playable only on desktop unless you have a mobile account. PLAY Bridge Hopper Hop from bridge to bridge to eat all the carrots or Bunny will cry ABCya exclusive. Playable only on desktop unless you have a mobile account. PLAY Money Land 2 Back to Money Land! In this strange new area your gravity will flip every time you stump a critter. ABCya exclusive. Playable only on desktop unless you have a mobile account. PLAY Jon Lightning Jon can move too fast for his own good. Help him. A port/adaptation of one of my old windows games under the Alexitron banner. PLAY Boxed 2 More Boxed fun. Now with metal boxes, moving walls, and holes! PLAY Lost Joe The none-exclusive edition of the Joe Lost games by popular demand. PLAY That was 2018 for me. Hope you guys had a good year as well. You can check out the rest of my catalog at www.gamesaag.com. I am thinking of removing the freebies section altogether. A question for fellow developers: I was thinking about making a mobile app with a compilation of some of my games and then continue to add to it as I make more. Anyone tried something similar? Simple puzzle games seems to be what I do best but I don't mind to experiment. I was thinking about 1080p resolution and hi-res graphics though I really like the style that I have been developing, maybe I'll try to reproduce it with 3d pixels instead. Thoughts? For GameMaker: Studio users: Tried to get into Studio 2 and just couldn't. That new user interface is an abomination and the node based events, I just don't get it. I hope they make a classic shell in the future for old farts who have been using GM for over 10 years. Hard to adapt now.
  17. 4 points
    JohnK

    New forum

    A vote to leave or remain causes a flashback to the Brexit referendum here in the UK. As I trust Deltakosh and Jerome more than any government leaders I am persuaded by their reasoning so I will 🍃.
  18. 4 points
    Deltakosh

    Scissor Rects

    Here we are: https://playground.babylonjs.com/#JJYFI8#1
  19. 4 points
    kcoley

    Babylon.js Team Blog

    The Babylon.js dev team recently has been blogging about new features for Babylon.js on Medium. Here is the link to the medium page. We would love to get your feedback on the blog posts, any suggestions for new content, and are open to having guest blog posts from the community!
  20. 4 points
    FunFetched

    Shell Shockers

    Update: I'm using the full-on Babylon Null Engine on the server-side now to handle collision detection. The maps are divided into 3D grids, and every occupied cell contains a reference to an arrangement of one or more AABB or OBB bounding boxes for quick collision calculations, all loaded from a .babylon file exported from Blender. The game supports all sorts of map elements of all shapes now. Also, kudos to everyone who worked on Babylon v3.3. I'm making the transition now, and I'm seeing huge improvements in some key areas. A number of animation problems have disappeared. SPS mesh building is orders of magnitude faster than it was, which is great, because that's how I build the maps at run time. A number of other smaller items that I had clumsily patched up myself no longer need to be. Good stuff!
  21. 4 points
    Newland

    A battle chess or card game framework.

    https://ljzc002.github.io/CardSimulate2/HTML/TEST4optimize.html I'm trying to make a battle chess game framework.By now,I have completed the following functions: Use wasd,Shift,space to fly around the scene. Press alt to display hand cards. Click to chose one card or use Shift/Ctrl to select multiple cards and use 1-5 to team them up. When close to a hand card,you can click the button '落子'(Drop the pawn),then the sight change to orange,click the chessboard with the orange sight,the hand card will became a chess pieces. Select a unit on chessboard will display the range of movement by blue masks and the skill table by a DOM node,then you can move the unit by click the mask or click the DOM node to select a skill(up to now,only 'nattack' and 'test5' can work),click other grid or the unit itself will deselect the unit. Use skills to an target will trigger a series of animations,if the unit's hp falls below zero it will turn gray and go up to hand cards. After a round of action,you can click '下一回合'(Next round) button in the hand cards view,the unit on the chessboard will be waiting for move again. I don't have much experience in making battle chess games.I am eager to get to get some suggestions on how to optimize the ui and the operation mode. Next,I plan to use some 3D model to represent units on the chessboard,add some sound effects into the scene,and try to make a websocket interconnection.
  22. 4 points
    thrice

    Introducing Dark Matter CCG

    Hey all, So I'm finally starting to promote my babylon based project a bit now, that I have an actual site together at www.darkmatter.game - The game itself isn't hosted there or anything (it will be a PC+Mac release), but I have been putting out a ton of playtest / demo sessions I've recorded on YT and posting on site (and will be throughout the next week). So anyways, if you're into digital CCGs or CCGs in general, you should def check it out as it's quite unique. I would also love any feedback, and am happy to answer any questions you might have! Also, should say thank you to anyone on these forums who has helped me in any way up to this point! I mean, these forums are seriously great, and filled with helpful people. (Should my project make it into the big leagues you can be sure I'll do a forum search and you can expect your name in the credits )
  23. 4 points
    dbawel

    Error on loading .OBJ files

    @Madclaws - Firstly, your file names don't match, so unless you have edited the OBJ and MTL files yourself, the loader is looking for the same name MTL file. Start by opening your OBJ file in any text editor, and verify the name of the .mtl file the .obj file is looking for. This will be in one of the first few lines of the OBJ file. As it appears the OBJ file is looking for a different MTL file name, this is not normal. It;s always best to keep your OBJ, MTL, and JPG (texture file) the same name as every exporter I've ever used writes these as the same name; and looks for the same name files on import - definitely the Babylon OBJ file importer. And your OBJ manifest file and MTL file are of different names. So I might assume your other files are not matching the names precisely. Upper case and lower case must match also. You don't need a manifest file... however, if you want to get rid of the 404 error for the manifest file, simply create an empty file with the same name as your OBJ file, and give it the extension .manifest. Example 'obj_name.babylon.manifest'. However, this is not important as others have already stated. If you're loading multiple OBJ files, then I recommend editing your OBJ file and remove the reference to the .manifest file. Then it won't look for the file. As for the .mtl file, this must also have the same name as the obj file. Example 'obj_name.mtl'. This is your material file with all your material attributes (settings.) This will work the same way if your mesh has a texture which will also have the same name as your obj file with an extension for the texture such as 'obj_name,jpg'. I work with OBJ files every day, and almost always edit the OBJ and MTL files as they are self explanatory once you open in a text editor. If you don't want a MTL file on your mesh, then simply remove the reference to the MTL file in your OBJ file. Then it will simply use a default material or none at all depending on your OBJ file edit. However, I find that different applications such as Blender often write odd values to the MTL file which is completely dependent on the user who has set up the material and texture. So I almost always edit my OBJ and MTL files as I can get the desired material editing the ambient, diffuse, specular values, etc. directly in the ascii files themselves. It's so very easy to read and edit. 2 minutes experimenting with no prior knowledge is more time than anyone needs to learn everything there is to know about the OBJ format - including editing normals, vertices, etc. It's simple for a single OBJ file, but if you work with real time scans producing hundreds of unique OBJ files to load in real time, then I write simple scripts to edit each OBJ file as needed. The .babylon format has many attributes which is far more advanced if you want to export scenes. However, if you are only importing meshes, the the OBJ format is by far the most reliable format and provides a level of flexibility in being able to edit the ascii files directly. Once you open the OBJ and MTL files and spend a couple minutes editing these and learning what values represent the different attributes, this will become your format of choice for meshes. I can't imagine otherwise, as there is little to nothing which will cause you problems once you understand the format. Remember that you can always apply Babylon materials and textures (and other attributes such as shaders) after import - which I do often. I hope this info helps, as you're definitely on the right path to the ease of importing OBJ files. If you read this and follow the advice to test a few edits to the files, I can't imagine you won't have a firm grasp of the OBJ format. However, if you still have issues, then post an OBJ, MTL, and JPG file all with the same name before the extension, and I'll be happy to walk you through the key lines to edit to gain full control over the resulting mesh(s) import. FYI - I introduced the other software engineers at Sony Electronics to the OBJ format, and it is now the format of choice for practically all mesh content due to it's simplicity and flexibility. This is after they spent several months working will every other format and exporter. No need to over complicate simple tasks - which often happens due to the OBJ format being decades old now; so people assume newer formats are better. But there's a reason why the OBJ format continues to be the most widely used in export/import between most applications. Cheers, DB
  24. 4 points
    Deltakosh

    Debugging physics with the inspector

    I'm on fire ;D New video_Medium (2).mp4
  25. 3 points
    8Observer8

    Javascript Courses!

    I like to learn by practice with writing simple games. Start here: 2D breakout game using pure JavaScript
  26. 3 points
    plicatibu

    Javascript Courses!

    I recommend you give a try here: https://javascript.info
  27. 3 points
    dimanux

    Relic Runway

    RELIC RUNWAY Are you ready for crazy adventures? Run as far as you can, collect coins, upgrade useful bonuses, pick up parts of ancient relics, unlock amazing characters, and compete with your friends to be the best relic runner! LINK: https://gemioli.com/relicrunway/ MAIN FEATURES: Beautiful and dangerous Inka Ruins 10 brave heroes to unlock A lot of ancient relics to discover on your way Play with your Facebook friends And it's free for embedding on your website <iframe src="https://gemioli.com/relicrunway/" name="Relic Runway" width="640" height="480" frameborder="0" scrolling="no" allowfullscreen="true"></iframe> Please contact us at contact@gemioli.com if you have any questions, suggestions, etc.
  28. 3 points
    I have completed writing my free JavaScript course (begun in 2011). It is in two main parts. The first is aimed at complete beginners to introduce the whole idea of programming. It shows how to get some simple examples working and introduces some HTML5 as needed to make a platform for running the examples. It covers some general programming concepts such as writing requirements and testing against them. Part 2 is a more systematic exposition of the language, up to some of the more recent capabilities such as local storage and image processing. It is available at https://www.grelf.net/jscourse/index.html That link is to a contents page so that those who already know some of it can jump in to any particular topic of interest.
  29. 3 points
    b10b

    Everything to create fb instant game

    I'll have a stab at these as I like to snapshot my view on things periodically ... Yes and yes. Pixi has a very decent power to size ratio and solid compatibility (v4.8 may be wisest in 2019?). For a competent developer capable of spinning their own game structure Pixi is ideal for a lightweight browser game. Coming in at less than 5MB total for your IG is wisest. Red tape aside, it's possible but improbable to make money releasing a single game. Primary monetisation choice with FB IG is in-game ads (which are a low value transaction for a developer and an intrusion to the player). In-game purchases have more value but will require significant retention first. Or consider indirect value generation such as consultancy services, brand building, learning for the next game? FB IG is inherently multiplayer (async). Within the SDK are context (group) leaderboards, notifications, packet sharing (challenges). That being said the vast majority of initial plays will be in solo mode, so a compelling single player experience is necessary for retention. Get creative for the crossover! For more advanced multiplayer use a custom backend. Having some separation / abstraction from the Facebook SDK might be wise in case other markets are a better fit for your game? For Multiplayer specifically? Yes there's a TicTacToe example that covers the basics of a client-server model. My advice is play some of the popular titles, understand what the FB IG audience seem to be attracted to and how other developers are leveraging the SDK to create retention and monetisation - warning, some of it can be ugly. Iterative development is going to be crucial, however you'll likely only be promoted once - so use it wisely, and use each territory to run a split test. Or build several games and apply the learning from one to the next etc. If you haven't built dozens of games already, FB IG probably isn't for you yet? Imo there are better platforms that can help evolve game development skills and player retention mechanics. Instead see FB IG as a specific audience with a specific style of game - developing a game precisely for that might work out very well (FB has a HUGE potential audience after all). Imo Messenger games should be about decorating a conversation, in the same way filters decorate a photo. So quick, contextual, personalised, fun, indisposable. That's not necessarily a standard casual game, so changing some assumptions and expectations may be wise. Just my advice, your mileage might vary!
  30. 3 points
    Greetings everyone! Check out our FREE asset packs at: rottingpixels.itch.io You can also follow us on social media and support us over Patreon! patreon.com/RottingPixels twitter.com/PixelsRotting rotting-pixels.tumblr.com facebook.com/Rotting-Pixels Cheers!
  31. 3 points
    enpu

    bugfix for Panda2 p2 plugin

    Yeah i'm still here! Just been a bit busy lately, but i am working on Panda 2!
  32. 3 points
    No bans are happening here (yet). @5neia_opo2@google-mail.ooo, try to understand the frustration people are experiencing. A new user came to the forum and in nearly every post they made trashed the project they were asking about. A lot of people here put in a lot of time and effort to not only to develop the project, but answer questions here as well. I was definitely frustrated reading your responses as someone who has put 6+ years of their life into this project. @botmaster did a poor job of handling that situation, but has apologized and I'm sure will do better in the future, as will you as well. Let's all be adults about this, acknowledge we did something wrong, and move on. @5neia_opo2@google-mail.ooo you are free to ask any question you need help with, but I definitely recommend reading through some tutorials, the examples, and checking the API docs before asking questions. It will often lead to you finding the answer yourself, and there will be less fatigue for the people answering here on the forum. I'd also recommend you approach things you don't understand, or decisions you disagree with, with a more open mind. Try to learn and grow the new library, not all libraries are alike and different problem spaces call for different solutions. Having a bad attitude is a good way to earn ill-will in the community and you may no longer get the help you expect if you are ungracious about it. When you find inconsistencies, or things you think should work differently, then change it! Pixi.js is an open source library built by the community. Everyone gets a chance to make the library better by contributing to it. The best way to get problems you have fixed, are to fix them yourself.
  33. 3 points
    obiot

    melonJS 6.4.0

    Hello, shortly after the Chinese new year, here is a new release of melonJS, High-Level Changes : New documentation format, including a better, more modern, layout and search feature. http://melonjs.github.io/melonJS/docs/index.html Support for Multiple Texture Packer Textures Added Colour Tint support for Renderable (WebGL mode only for now) Bunch of small fix and improvements on Renderable, Animations, Isometric rendering, and System renderers See here for a more detailed changelog, there is no API change this time (just some internal re-factoring), so you can safely upgrade without breaking your game Have fun guys, and let us know what you think about the new documentation ! (it certainly can be further tweaked/improved) --- the melonJS team
  34. 3 points
    enpu

    Bezier curve support added

    Panda Engine 2.12.0 now supports bezier curves with new Curve class. Here is interactive example, where you can see bezier curve in action: https://www.panda2.io/examples#curve-handles You can modify the curve by moving the start and end points as well as the two control points. Here is also example on how to use Curve together with Tween: https://www.panda2.io/examples#curve-tween Documentation of Curve class: https://www.panda2.io/docs/api/Curve
  35. 3 points
    rich

    New forum

    I'll provide a zip of all attachments when you request it, you can decide if you want to do anything with them or not after that.
  36. 3 points
    eps

    BabylonJS and Android using Basic4Android

    No worries, hopefully it will help others get started.. It took me a few years to find Basic4Android when looking for a decent toolset to create Android Apps which offered enough flexibility to delve deeper if needed but not too much coding for codings sake. I had an idea for a 3D game a few years (4 or 5!!) ago and then went looking for a 3D framework. I came across BabylonJS and have just about achieved my goal for this now, thanks to you and David R + others along the way. My game is very much a 0.1 version of where I want to get it to, but as always there are other time pressures. 0.1 is just about viable - hopefully if there is interest I am hoping to improve on it rapidly.
  37. 3 points
    Wingnut

    Please Help with this...

    Hi @i_tejas19, welcome to the forum. Congrats on successful BJS scene/animations! Pop-up mouse-over labels, eh? Here, check this out... https://www.babylonjs-playground.com/#XCPP9Y#447 That playground teaches BabylonJS GUI labels... AND BJS ActionManager onPointerOverTrigger. Keep in mind that an entire PANEL of information... can pop-up, with clickable stuff on that panel. WOW! I found that playground... using a playground search. I happen to know that MOST GUI demos have the term "advancedTexture" in them... from experience. I often re-name my GUI demo vars to 'adt' - short for advancedDynamicTexture. AdvancedDynamicTexture is a basis for BabylonJS GUI "stuff"... sort of like a sheet of glass that can be put atop a mesh, or across entire screen. Then we paint GUI "controls" onto that glass. That playground will get you started. Both BJS GUI and BJS ActionManagers... are very powerful and versatile. Take the time to read/experiment. Look at the demos/playgrounds in the docs... they inspire more ideas. Soon you will be expert. Ask more, if needed. Make a playground to show us stuff, if you wish. We'll be here. If solved, mark this thread solved, please.
  38. 3 points
    I've just finished the morphing demo that I've been working on. Thanks everyone for your input! (especially @NasimiAsl who is the grandmaster of shaders) What I'm trying to demonstrate here is morphing not just vertices, but textures as well. I got this idea from Wrap3 which has this feature. This is important with faces because redness and wrinkles will sometimes appear when you tense your face. Unfortunately there is no built-in feature to do this but we were able to pull it off with some extra shader code. I would've loved to add some specularity to the skin but I couldn't figure out how to do that with the custom material. I know this is extreme detail but its a good test. If the player is in the distance then it wouldn't be necessary. I added a "Powered by Babylon.js" sticker so everyone knows that Babylon.js can do cooler stuff than Three.js hehe Feel free to use the source code. http://punkoffice.com/facial
  39. 3 points
    timetocode

    Degrading sound

    Now that I have this reproduced, I think I'm realizing that this idea was never going to work due to the number of sounds. I did a little bit more testing with a 500 KB wav file vs a 15 KB mp3, and the degradation seems more related to the number of sounds than their size. In my game each weapon has like 5-20 sounds, and a player can hold a few weapons. The walk/run cycle has like 16 sounds per material (concrete, wood, grass, etc). It can add up to about ~100 possible sounds per player, though 99% of them aren't playing at any given point. BJS seems totally fine with that many sounds, but it looks like attachToMesh is not designed for this. I read the source code, and it looks like it *might* be viable if it would check if the sound is playing before rebuilding the matrices. Currently it does some fairly expensive work, even for non-playing sounds (setPosition and computeWorldMatrix fill the profiler when stress tested with cloned sounds on moving meshes). I'm going to test positioning the sounds manually at the time that they are played, and not having them move along with the mesh. If that doesn't work I guess I'll pool them in addition. Edit: definitely need a pool Edit#2 at 21 players firing the same automatic rifle, the pool brought the active number of sound instances from 210 down to 59 Here's an ultra simple auto-expanding pool if anyone wants. Usage is just to use 'get' for short-lived sounds and it will handle allocation and releasing on its own. It never deallocs. class SoundPool { constructor() { this.scene = null this.sounds = {} } init(scene) { this.scene = scene } allocate(name) { const sound = BABYLON.Sound.FromAtlas(name, name, this.scene) sound.onEndedObservable.add(() => { this.release(sound) }) this.sounds[name].push(sound) } get(name) { if (!this.sounds[name]) { this.sounds[name] = [] } if (this.sounds[name].length === 0) { this.allocate(name) } return this.sounds[name].pop() } release(obj) { this.sounds[obj.name].push(obj) } } const singleton = new SoundPool() module.exports = singleton BABYLON.Sound.FromAtlas is a little wrapper that clones sounds without making additional xhrs (e.g. 'sounds/foo.mp3', clones it and applies new options)
  40. 3 points
    JohnK

    Question about isVisible

    You can use mesh.setEnabled(false) and mesh.setEnabled(true) instead of isVisible. The method setEnabled takes the mesh out of the rendering loop and so does not consume processing time. Whereas isVisible hides the mesh but keeps it in the rendering loop.
  41. 3 points
    coolroar

    Catacombs -- 3D

    To INFINITY and b e y o n d ! Now the lattice develops as you approach, adding chambers ahead of you using chambers that you've left behind. Your processors only have to manage 16 total chambers instead of XxYxZ chambers for an XxYxZ sized lattice. So better frame rate and an infinity of chambers! PG:-------------- 👉 https://www.babylonjs-playground.com/#USDWIJ#5 👈 For challenge, try to make your way to an exit -- exits are at grid coordinates that are divisible by four: [4, 4, 4], [40,-12,8], etc. Another challenge: try exit a chamber and return through a different tunnel. The Code: My goal was to make a regular labyrinth: uniform sized and spaced chambers with tunnels connected to each nearest neighbor. To avoid sight-lines that extend beyond neighboring chambers, I based the chambers on the tetrahedron. The tetrahedron has four faces, none of which are parallel. Actually, I used the truncated tetrahedron which has hexagon instead of triangle faces. I extended the hexagons to form the tunnels. [Some of the code is kinda complicated and the commenting is rather sparse: I need to develop vocabulary.] The following may help. Some interesting characteristics of this tetrahedral lattice: Adjacent chambers are mirror images. The absolute values of the components of a vector between neighboring chambers are equal (opposite corners of a cube). So with a grid increment gi, a chamber located at [a,b,c], its four neighbors would be at: [a-gi, b+gi, c+gi], [a+gi, b+gi, c-gi], [a-gi, b-gi, c-gi], and [a+gi, b-gi, c+gi]. Since neighboring chambers are mirrored, the signs of gi must be reversed for alternate chambers. (PG lines 166 - 178) If the grid increment gi = 1, as it is in the PG, the chamber grid coordinates will all be even or all be odd: [even, even, even] or [odd, odd, odd]. See nearestLatticePoint() (PG lines 200- 230) __________________________________________________________________________ Please come back with your questions and suggestions! 💡 👉
  42. 3 points
    ozRocker

    Dynamic bodyshape demo

    I've been experimenting with a tool for shoppers so they can create their bodyshape in realtime and see which clothes fit them (whether that's a viable platform or not depends on the what the shoppers think) Here is the LIVE demo: https://punkoffice.com/bodyshape There was a bit of stuffing around to make this work. I had to separate the body-parts into polygroups. To do this I needed to add code to the Blender exporter so it would export vertex groups. Then I added code to the Babylon.js library to be able to parse the vertex groups from the exported JSON file. I've got a base model and an overweight model and I'm basically morphing polygroups from base to overweight. The girl was a housemate that I scanned but her bodyshape is a female from MakeHuman http://www.makehumancommunity.org/. The overweight morph target was also made in MakeHuman. I use Wrap from these guys https://www.russian3dscanner.com/ so I can change the topology of my scans to another topology (in this case, the MakeHuman avatar). This is all done via the CPU. Maybe a better coder than me can get it working on the GPU.
  43. 3 points
    rex

    rexUI

    Package Sizer Layout children game objects. Links Document Sample code Live demo Nested sizer : Create a list by two level sizers. Label A container with a icon, text, and background. Links Document Sample code Textbox A container with a icon, (typing and paging) text, and background. Links Document Sample code Live demo Textbox Dialog A container with a title, content, buttons and background. Links Document Sample code Live demo Yes/No dialog Single choice dialog Pop-up dialog Grid table A container with a grid table, slider, and scroller. Links Document Sample code Live demo Grid table Tabs A container with 4 groups of buttons around a center panel. Links Document Sample code Live demo Tabs-table
  44. 3 points
    Here is a version that gets close. Its in Javascript rather than typescript but might help you spot any issue with your PG. Doesn't deal with non-letters and letters are applied to all sides. Also I made the cuboids immovable but this can be removed. https://www.babylonjs-playground.com/#UIIK1W And here is one using an second SPS of labels in front of the cuboid https://www.babylonjs-playground.com/#UIIK1W#1
  45. 3 points
    jerome

    Changing few vertex position in a mesh

    You could just update the 16 wanted vertices and still pass the whole modified buffer (verticesData).. The bottleneck isn't usually in the size of the buffer to be passed to the GPU but rather in the user logic. Have you profiled your code to check where the time was spent and what was responsible for this time consumption ? BJS provides a feature that could fit your need, called the Solid Particle System (SPS), with many optimizations already set : https://doc.babylonjs.com/how_to/solid_particle_system and the ability to update only some parts of the system (mesh) and to use a single texture too.
  46. 3 points
    UPDATE: Facebook gaming platform is massive.... with "GameRoom" sdk, for native. NOTE: Temechon did an awesome technical on this: https://doc.babylonjs.com/resources/babylonjs_and_instant_games The relatively new market on FaceBook in 2018, is called "Instant Games". Giving that a try! https://developers.facebook.com/docs/games/instant-games UPDATE: new security hurdles - fyi. Good News (if you've not seen): BABYLONJS is at the TOP of compatible games!!! In an alphabetical list... still - great to see BABYLONJS at the TOP! https://developers.facebook.com/docs/games/instant-games/compatible-engines
  47. 3 points
    jerome

    How add ring in disc?

    https://www.babylonjs-playground.com/#B0I6G3#12
  48. 3 points
    aaryte

    Classic Space Adventure

    I love the very true-to-Lego theme. I had some of those space sets! The sit-to-duck thing is so true to form. It was solid and responsive throughout. Nice! My biggest problem was getting off of ladders and other climbables, across a short gap, onto a ledge. It seemed like I had to climb really high to clear even tiny gaps. But I didn't get far into the robot city - just a bit past the first raygun.
  49. 3 points
    Deltakosh

    Debugging GUI with the Inspector

    Hey team! I wanted to share with you that the new inspector can be used to debug GUI. Here is a quick video demonstrating it: New video_Medium.mp4
  50. 3 points
    Hello @KerwinK and welcome to our forum! It's a pleasure to see that you would like to use babylon.js for your business. As Dad mentioned Microsoft is not offering paid support for Babylon.js but instead let me (and my team) work on it in an OSS spirit. This is a win win situation where we keep developing the engine for free whereas several products at Microsoft (Including SharePoint or PowerPoint) can leverage a professional grade open source realtime engine. In the meantime we have high expectations regarding the quality of support we bring to all customers. For instance, you can see on our main repo that the issue resolution time is....20h (less than a day) So I do not think we could do better with a paid support. However, I also know several companies working on babylon.js that would be happy to help you so feel free to ping me at davca@microsoft.com if you want more info