Leaderboard


Popular Content

Showing content with the highest reputation since 06/27/17 in all areas

  1. 25 points
    Deltakosh

    Babylon.js 3.1 is available!!!

    Dear beloved community, I'm thrilled to announce that Babylon.js v3.1 is available. For this special occasion, we created a cool announcement video: I will blog on dev.windows.com later today but I wanted to share with you beforehand The list of features is (as always) really great and we can all be really proud of such an achievement! We also shipped several WebVR demos: And do not miss our hero demos: Congrats team!!!
  2. 24 points
    Hello, I thought to place this on the demos and projects thread, however I decided to post this here as it is more a topic for which framework to use and why. I was hired by an elite software development group at Sony Electronics to help them navigate through WebGL to build a pipeline to deliver content for the South By Southwest convention and to create a foundation to quickly develop games and online media for future projects. In short, I was tasked to escape the limitations of 2D media and help Sony move forward into 3D content taking advantage of the WebGL rendering standards. This was no esay task, as I was hired Dec. 11th, and was given a hard deadline of March 5 to deliver 2 multiplayer games which were to be the focus of Sony's booth at SXSW in Austin Texas. But first I had to run a quick evaluation and convince a very proficient team of Engineers which framework was the best fit for Sony to invest considerable resources into for SXSW and which was the right coice to take them into future projects. Yhis wa a huge consideration as the WebGL framework which was to be chosen was to play a much greater role at Sony Electronics considering the group I was assigned to works well ahead of the rest of the industry... developing what most likely will be native intelligent applications on Sony devices (especially smartphones) in the near future. These are applications which benefit the consumer in making their day to day interactions simple and informative. Thus the WebGL framework to be chosen needed to be an element in displaying information as well as entertainment for a greater core technology which is developing daily in a unique tool set used by the software engineers to build applications which allows Sony to remain the leader not only in hardware technology, but in the applications which consumers want to use on Sony devices. But as I was working for Sony, I also had a greater task as there were existing expectations in developing a game on Sony devices which needed to be on par with what consumers already were experiencing with their Playstation consoles. As unrealistic as this might initially appear, that had to be the target as we couldn't take a step back from the quality and playability the consumer was already accustomed to. So back to the first task... selecting the WebGL framework for Sony Electronics to use moving forward. Rather than telling a story, I'll simply outline why there was little discussion as to which framework to choose. Initially Sony requested someone with Three.js experience as is more than often the case. So when they approached me for the position, I told them I would only consider the position if they were open to other frameworks as well. They were very forthcoming to open their minds to any framework as their goal was not political in any way - as they only cared about which framework was going to provide them with the best set of tools and features to meet their needs. And one might certainly assume that since Sony Playstation is in direct competition with Microsoft Xbox, and Microsoft is now providing the resources in house to develop babylon.js, that Sony Electronics might see a PR conflict in selecting babylon.js as their WebGL development framework. However, I'm proud to say that there was never a question from anyone at Sony. I was very impressed that their only goal was to select the very best tools for the development work, and to look beyond the perceived politics and to develop the very best applications for the consumer and to fulfill their obligations to their shareholders in building tools that consumers want on their smartphones and other electronic devices. So once again... Three.js vs. Babylon.js. This was a very short evaluation. What it came down to was that three.js had far more libraries and extensions - however, this was not the strength of three.js since there is no cohesive development cycles with three.js and although many libraries, tools, and extensions exist, more than often they are not maintained. So it was easy to demonstrate that practically any tool or extension we would require for the SXSW production would require myself or the team updating the extension or tool to be compatible with the other tools we might use on the project. This was due to the failings of the framework since each developer who writes an extension for three.js is writing for a specific compatibility for their own project needs... and not for the overall framework... as this is not within the scope of any developer or group of developers. Thus I find that it requires weeks if not months of of maintenance in three.js prior to building content, just to ensure compatibility between all of the tools and extensions needed to use for most projects. As for babylon.js, the wheel is not generally re-invented as it is with three.js, as most extensions are quickly absorbed into a cohesive framework quickly - provided they have universal appeal - and this integration ensures compatibility as there are fewer and fewer extensions to use, but instead an integrated set of tools which are thoroughly tested and used in production revealing any incompatibilities quickly. The bottom line is that there are no alpha, beta, and development cycles in three.js, thus no stable releases. Whereas the opposite exists with babylon.js. There is a cohesive development of the tools, and Sony is smart enough to see beyond the politics and to realize that having Microsoft support the development of babylon.js is a huge bonus for an open source framework. And if anyone had to choose a company to support the development of a WebGL or any framework, who better than Microsoft? With practically every other useful WebGL framework in existence spawned by MIT, most all are barely useful at best. And why would anyone pay to use a limited WebGL framework such as PlayCanvas when Babylon.js is far more functional, stable, and free? This baffles me and most anyone who chooses one project using babylon.js. The only argument against babylon.js is that the development of the framework is now supported in house by Microsoft. But for myself and others, this is a positive, not a negative. I've been assured by the creators and lead developers of babylon.js that they have secured an agreement with Microsoft ensuring the framework remain open source and free. This ensures that anyone is able to contribute and review all code in the framework, and that it remains in the public domain. Sony gets this and we quickly moved forward adopting babylon.js as the WebGL framework within at least one division of Sony Electronics. At the end of this post I'll provide a link on youtube to a news report of not only the games we built for SXSW, but the exciting new technology on built on Sony phones which uses the phones camera to capture a hight resolution (yet optimized) 3D scan of a person's head. This is only a prototype today, but will be a native app on Sony phones in the future. So our task was not only to develop multiplayer games of 15+ players simultaneous in real-time, but to have a continuous game which adds a new player as people come through the booth and using a Sony phone, has their head scanned. This was an additional challenge, and I must say that I was very fortunate to work with a group of extremely talented software engineers. The team at Sony is the best of the best, I must say. All in all, it was an easy choice in choosing babylon.js for the WebGL framework at Sony Electronics in San Diego. Below is a news report from SXSW which shows the new scanning technoogy in use, as well as a brief example of one of the games on the large booth screen. And using Electron (a stand-alone version of Chromium), I was able to render 15 high resolution scanned heads, vehicles for each head, animation on each vehicle, particles on each vehicle, and many more animations, collisions, and effects without any limitations on the game - all running at approx. 40 fps. The highlight of the show was when the officers from Sony Japan came through the booth... which are the real people we work for... gave their thumbs up, as they were very happy with hat we achieved in such a short time. And these were the people who wanted to see graphics and playability comparable to what the Playstation delivered. And they approved. Link: Thanks to babylon.js. DB
  3. 24 points
    Deltakosh

    Babylon.js v3.2 is out

    It's celebration time! I'm so thrilled to announce that Babylon.js v3.2 is now out. Once again this could not have being possible without all of you (contributors, testers, bug hunters, doc writers)! Thanks folks! We have a wonderful vibrant community. So feel proud, share it, love it, use it Here is the release notes: http://doc.babylonjs.com/whats-new The blog will it the social network at 10am PST! And the announcement video:
  4. 19 points
    Deltakosh

    Announcing Babylon.js v3.0

    We did it again Congrats to all our great community, we've just shipped Babylon.js v3.0: https://github.com/BabylonJS/Babylon.js/releases/tag/v3.0.0 I hope you'll like it! And the blog post: https://github.com/BabylonJS/Babylon.js/releases/tag/v3.0.7
  5. 18 points
    Deltakosh

    Babylon.js v3.3 is out!!!!

    We did it guys!!! Let's share the love: Feel free to retweet as much as you can!!!
  6. 16 points
    Deltakosh

    GPU particles

    Heya team!! I'm proud to announce that the GPU particles feature is now available! Documentation: http://doc.babylonjs.com/babylon101/particles#gpu-particles Interactive demo: https://www.babylonjs-playground.com/#PU4WYI#2 Please note that this feature requires webGL2 or it will fallback to CPU particles
  7. 16 points
    Sebavan

    Glow Layer

    Hello, It has been a while I did not introduced a new feature in BJS so as the higlight layer was famous, let s introduce the glow layer: http://www.babylonjs.com/demos/glowlayer/ Documentation is available here: https://doc.babylonjs.com/how_to/glow_layer
  8. 15 points
    dbawel

    I Love This Forum

    Hey Devs and All, I'm just feeling a bit sentimental about how far this forum has come the past 4 years. @Deltakosh and @davrous ( + others) have given us a creative outlet that has turned into a new frontier. I just wanted to say how much I appreciate that I am able to come to a place that provides me not only technical advice, but I've made many new friends as well. Much love to you all. DB
  9. 14 points
    FunFetched

    Shell Shockers

    http://shellshock.io My first BabylonJS project is a whacky multiplayer first person shooter featuring, well, eggs, of course! It's in very early development and still fairly rough around the edges, but it's super easy to jump in quickly and play. It's just been made public, so finding people to shoot may be a little hit and miss (pun intended). Enjoy! Facebook: http://www.facebook.com/ShellShockGame Twitter: https://twitter.com/eggcombat
  10. 14 points
    jerome

    OfficeGames project

    Hi people, I'm glad to introduce you to my new project : OfficeGames. http://officegames.eu Well ... 3D games for office computers (not only, though). As said in the text, there's only one game for now and it's not even finished. I need your feedback and ideas to improve it and get it to the right direction. So please let your opinions, comments, criticisms, wishes, whatever in this thread. I won't answer everyone but will read them all for sure. Have fun [EDIT] FYI, my best score ever is 10200.
  11. 14 points
    Zygomatic

    500 HTML5 games in 4 years.

    Today, we finished number 500 of our growing list of html5 games. We (Arjan Haverkamp and me, Bram Schoonhoven) started this journey at the end of 2013. Our first html5 game was a remake of our Flash game Animals Connect. Now almost 400 different games are launched on our various portals. Our next goal: 1,000 HTML5 games. If we keep releasing 2 new games a week, it will take us another 5 years. All our games can be licensed for your game portal or you can distribute our games for free. Some statistics: Our most played game is Candy House with 2.5 million game plays. We have around 6 Million game plays per month with 1.25 million unique users playing our games. Average playing time is 12 minutes per game. Interestingly enough, our games are played 69% on desktop, 16% tablet and 15% mobile. Top 5 countries: United States, Germany, Brazil, Poland and Russia. Chrome is used in 58% of the game plays. Some of the tools/technology we use: Howler.js for audio. Hammer.js for touch support. Cloudflare as CDN solution. Javascript Obfuscator for obfuscating Javascript code. Browserstack for testing the games in various browsers. Google IMA SDK for monetization. Google Analytics. Add to Homescreen for adding game to the home screen. Screenfull.js for full screen support. Webfontloader.js for loading custom (Google) fonts. Cordova for creating apps. Website2APK for creating Android apps. PNGquant and JPEGoptim for optimizing images. Wavepad for creating sound sprites and optimizing MP3's.
  12. 14 points
    Deltakosh

    Help wanted!

    Hey team! we were clearly heads down working on 3.0. Now that we successfully shipped it I would like to get the help of our wonderful community. I would like to improve the content of our documentation. If you go there: https://github.com/BabylonJS/Documentation/issues you will find a list of issues related to the doc. There are 2 kinds of issues: Missing documentation: These issues are used to flag a missing tutorial / documentation / overview Incomplete documentation: These issues flag articles / topics where we consider we should add more info If you want to help, you can: Create more issues to help identify what is missing / incomplete / unclear / using bad english / whatever could be wrong Take one issue and fix it: My favorite one Pick an issue, read this small tutorial and contribute to the best doc ever made for a 3d engine One of the goal of the 3.1 will be to add helpers everywhere to make common tasks even simpler. And I'm convinced that doc will be an important part of this simplification as well. Thanks a LOT
  13. 14 points
    javalang

    PBR composer ( node based )

    Hello, I'm happy to announce that the node based PBR Composer is on the road. What is PBR Composer ? In short, PBR Composer helps you design and visualize a PBR Material in an efficient way. Parameterizing takes place by dragging and connecting specific nodes from a palette (typically textures, colors and uv-coordinates) to the output node, which represents the PBR Material. A preview panel lets you see all changes in realtime and the corresponding js-sourcecode will be updated as well. The resulting graph can be downloaded in JSON format for later use. Images can be inserted via preview fileselect dialog and/or Drag&Drop, in latter case the images will be transformed to embedded data-urls so the javascript functions can be reused without dependencies. Different meshes and environment-maps are available to see the material under different geometry and reflective light conditions. Motivation for PBR Composer: Due to the complexity of the PBR material (soo many combinations with soo much amazing effects) there is a need of having realtime feedback reflecting the changing parameters. Other than some editor already out using a bunch of parameters in confusing properties panels, nodes lets you to concentrate only on the parameters you need giving a nice overview in form of a graph. Nodes can also be shared and avoids therfore redundancy in the sourcecode. The goal is/was to make the user interface as efficient as possible. The idea for realizing the PBR Composer was inspired from Shader Editor. Technical details: PBR Composer is a web application based on dat.gui, w2ui, litegraph.js and of course on BABYLON.js TODO: At the moment, PBR Composer is customized for PBR-Glossy materials. The current activity is realizing a function for switching between Glossy and Metallic paradigms. Any questions? Let me know... PS: PBR Composer is still in alpha stage but will be deployed in beta stage soon Here it is te demo ...
  14. 13 points
    Dad72

    Web Game Editor (MMORPG)

    Hello, I'm proud to talk about version 2 of my MMORPG editor (FR and ENG) that I renamed to "Web Game Editor" instead of "HeroonEngine" which was a name that looked too much like another existing editor. This version 2 comes with a new, more modern, community-based website. It will be possible to find a manual and video tutorials for getting started, as well as a shop and a forum (FR and ENG). The editor has undergone many improvements, new features and various fixes to make it more stable, more functional and more successful. Some things have been totally rewritten. It will come with a small Integer demo that contains two terrain and plenty of media on offer. I should hopefully release version 2 in the month and make an announcement of its release. For the moment I present it here. I have been working on this editor for years since BabylonJS was born. The editor has been renamed 4 times and rewritten 3 times totally and this name is the last change. Content and features: Here is some screenshot:
  15. 13 points
    mbarde

    Stupax - Sidescroller game

    Hi all, I would like to introduce Stupax: A different sidescroller game, where you are not the guy, you are the level! In fact you control a movable platform using the arrow keys or your gamepad (Gamepad API) to help the guy (namely Stupax) to get through the levels. You can play the game here: http://mbarde.bplaced.de/stupax/ Controls: Arrow keys / Gamepad 'R' for level restart 'ESC' pause game and open menu Create and test your own levels here: http://mbarde.bplaced.de/stupax/editor.html You can find further information on my website and view the source code including contributions for the music, sounds and textures on GitHub.
  16. 13 points
    Hi Everyone, I recently launched a preview version of my game made with BJS, and you can try it here. It's a 3d billiards game, but currently only Snooker available in this preview version. Hope you'll like it, and have fun. It currently supports these browsers on desktop: Firefox, Chrome, Safari and Edge. (To BJS team: I have added a "powered by babylon.js" in the 'about' page of the game, please let me know if it is allowed to use your logo, and if I have used the right logo, since I just grabbed it from your home page, and converted to png.)
  17. 13 points
    The default pipeline has been updated to add Depth of field, Grain, Chromatic aberration and MSAA post processing. The existing bloom effect has also been updated to only bloom the bright highlights instead of blurring the entire image. See the updated demo and docs. Please let me know if you have any feedback. Thanks!
  18. 13 points
    Deltakosh

    Animation weights

    Hey team! @MackeyK24 asked for it with so much energy that I spent my entire week end working on a new feature: the animation weights support To learn more about it, please read the doc here: http://doc.babylonjs.com/babylon101/animations#animation-weights A demo can be found here: https://www.babylonjs-playground.com/#IQN716#3 As always, any feedback is welcome! Note: I could have added a third animation to the demo (a run animation) but the model animation for run is a bit bad (it looked like the model was flying). If you have a better model, feel free to let me know
  19. 13 points
    A simple demo displaying the power of the ParticleSystem by creating a low-hanging fog. https://www.babylonjs-playground.com/#BHNVUE#1 Thanks to @Wingnut for finding the PG used as base for this demo. Have a nice saturday
  20. 13 points
    RaananW

    The new Babylon Viewer

    Hi boys and girls, I don't know if you noticed, but the repository has a new directory called "Viewer" : https://github.com/BabylonJS/Babylon.js/tree/master/Viewer The viewer is a simple way of displaying a model without the need of JavaScript at all. It (obviously) uses babylon, and can be customized to your needs using HTML tags and HTML attributes. The only two important lines in your page would be: <babylon model="https://playground.babylonjs.com/scenes/Rabbit.babylon"></babylon> <script src="https://viewer.babylonjs.com/viewer.min.js"></script> Which will result in this: https://viewer.babylonjs.com/basicexample You can read about how to use it and how to customize it here - http://doc.babylonjs.com/extensions/the_babylon_viewer It is currently in a very early stage. The (public) project can be found here - https://github.com/BabylonJS/Babylon.js/projects/6 , including future plans. I am in the process of simplifying the development, build, and deploy process and it will soon be available on NPM as well, if anyone wishes to embed it using webpack/imports/require/whatever
  21. 12 points
    A 3rd person character controller for BabylonJS source : https://github.com/ssatguru/BabylonJS-CharacterController docs: https://ssatguru.github.io/BabylonJS-CharacterController/ demo : https://ssatguru.github.io/BabylonJS-CharacterController/demo/ git download: https://github.com/ssatguru/BabylonJS-CharacterController/releases npm: https://www.npmjs.com/package/babylonjs-charactercontroller Originally developed as part of my Vishva project
  22. 12 points
    Deltakosh

    New Class API documentation

    Hello team! I'm thrilled to announce that the new API doc is online. It is still beta so please report here any issue you may find. We moved to Typedoc to generate our doc in order to get: - Better readibility - Better Typescript support - More flexibility You can find it here: http://doc.babylonjs.com/api.html Have fun reading the doc PS: We are still looking for more volunteers to help writing API code comments
  23. 12 points
    Deltakosh

    Babylon.js v3.0 is almost done

    Hey team! we plan to ship bjs 3.0 on 7/12/2017. Please consider adding what you want before end of this week (7/7) or it will have to wait for a couple of weeks (We will keep the code frozen for one week to do the final validation)
  24. 11 points
    Hi everyone, I've created over 1000 tracks of music and sound effects that you are welcome to use in your games. It's all original...all my own work. All I ask is to be attributed as indicated on my homepage: http://soundimage.org/ I sincerely hope my tracks are helpful. Any and all feedback is welcome and always appreciated. All the best, Eric
  25. 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
  26. 11 points
    http://www.babylonjs-playground.com/#8E7IHP#20
  27. 11 points
    Cryptovoxels is my ethereum virtual world. You can buy parcels of land in the world, then build shops and stores using the in world voxel tools. I started this project in babylon.js about 3 months ago and sold the first parcels of land last week. A video of the editing tools: The world is multiuser, I use websockets + a node.js server (using babylon on the server side) so that you can see other players as they explore the world. The voxel engine uses a greedy mesher with ambient occlusion to generate the meshes, and then a custom fragment shader to do the texture lookup in a texture atlas. The performance is really good on mobile, and it works well in VR as well (mobile VR and desktop). Babylon.js has been really awesome to work with, the typescript bindings are great and the playground has helped me out heaps. I also created a .docset file for browsing the documentation using Dash on os x. Glad to be part of babylon.js community!
  28. 11 points
    Here's a video I made that shows the process of using mocap data in a 3D web-page. Basically I did this: Used Perception Neuron suit to mocap dance move 3D scanned in my mate Used Blender to create avatar from scan and apply mocap dance Used CLO3D to add clothing Published on web using Babylon.js The live demo is at https://punkoffice.com/hype
  29. 11 points
    Deltakosh

    New GUI control: The Grid

    Hey guys!!! I'm glad to announce the availability of a new container for GUI: The grid Doc here: http://doc.babylonjs.com/how_to/gui#grid With this new tool, it's gonna be easier than ever to build complex UI
  30. 11 points
    Samuel Girardin

    Energy.js playground

    Hi, I've made few playgrounds using energy.js (it's a physic engine) , so you can test the engine live. It's still an alpha version, but you can fun ! bounce box ball joint wood machine vehicle (arrow keys) Typescript sources, grunt, etc : github It's quite tricky to get the engine works on the playground (append script and refresh), maybe you can have after multiple run a memory error). sam
  31. 11 points
    Samuel Girardin

    New Physics Engine Progress

    Hi, Few news about energyJS, It's still in dev. Here is a quick very alpha preview with examples. This is not a bjs plugin version. @RaananW worked one year ago on the plugin. We need to talk about that, For the moment it reproduces more the c inteface of ODE c++ project(http:// www.ode.org). It's quite usefull, ODE documentation is really good, and I kept all the method name. Energyjs is port of Open dynamic engine to JS with EMSscripten (http://kripken.github.io/emscripten-site/) . Tuto1_friction Tuto2_friction2 Tuto3_bounce Tuto4_rolling_friction Tuto5_rolling_friction2 Tuto6_contact_cfm_erp Tuto7_contact_cfm_erp2 Tuto8_motion Tuto1_auto_disable_body WoodMachine BallJoint Trimeshes Vehicle (maybe you need to refresh the html page - loading is async and I forgot to fix that,, same for v+trailers) Vehicle+trailers (arrow key to control the vehicle, d to flip the vehicle) It's only cpu dependent, maybe a little more faster than oimo and canon. Really well documented on ODE's part. You may have a TOTAL_MEMORY bug, search '167108864' in js/energy.js and increased this value. This is just a start. I will publish this week the the typescript dev commented on github .
  32. 10 points
    Awesome HTML5Dev community..: BABYLONJS on STEAM!!! Appreciation for BABYLONJS and HTML5GAMEDEVS ... special thanks: The game is called BOXiGON: https://store.steampowered.com/app/842490/BOXiGON/ GOAL: the entire purpose is to TEST THE HTML5 MARKETPLACE. Including: - attempt at FaceBook "Instant" - "MS App Store". - and braving the "HTML5~Portal~Jungle"!!! PURPOSE: figure out the "3DWebPipeline" then BabylonJS (Cinematics) "Episodic Visual Novels" - ready to roll. Post here if you have questions or comments. BABYLONJS TEAM Thank you,
  33. 10 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
  34. 10 points
    Hi Babylon.js community, It is my pleasure to announce BabylonCpp, a port of Babylon.js to C++, facilitating the creation of lightweight, cross-platform 3D games and applications with native performance. This port is a manual translation from the thousands and thousands of lines of Babylon.js TypeScript code into C/C++. Some history In 2015, I was looking for an interesting pet project. Due to my interest in 3D and modern C++, I stumbled upon Babylon 3D (C#/native port). I used this project as a starting point for mine and started updating the code with the latest code of Babylon.js. In beginning of 2017 - after a long time of porting, frustration and testing - I decided to publish the code on GitHub. Since then I kept updating the code and adding examples on daily basis. The Good TypeScript makes it really easy to port to C/C++ compared to JavaScript. For most parts, it is basically copying the code, updating to the proper syntax and updating the header. To get a good overview of the current state of the project I refer to the screenshots on the samples page. Not really a surprise, but if you look at the samples code you will see that the API looks very similar to the one of Babylon.js. Not all functionality is supported yet, but this a work in progress. I am really pleased with the performance of Babylon.js and the speedup of BabylonCpp. I am aware that I am comparing apples and oranges but I can give you some numbers. On my Intel NUC NUC7i5BNHX1 (Intel Iris Plus Graphics 640 GPU) I am getting the following numbers for the relatively simple Grid material example for a resolution 1680x1050 on Fedora 28: Babylon.js engine (v3.3.0-rc.3), Firefox 62.0: +/- 15% fluctuating CPU load, 270 MB RAM usage, fluctuating fps between 45-60 fps BabylonCpp (library size is 7.6 MB): constant 2% CPU load, 16 MB RAM usage, constant frame rate of 60 fps Some possible use cases of BabylonCpp include: Native apps development on iOS, Android Using the library as a WebAssembly module Using the library in existing desktop applications or integrating third-party libraries (i.e. Recast & Detour, Bullet Physics engine, etc.) Technical exploration (i.e. testing functionality that is in OpenGL and not yet in WebGL, supporting Vulkan API) The bad Most of the time goes into keeping up with all the Babylon.js code changes. Every month I take a snapshot of the latest code and port the changes into my version. As a result, the code is always very up-to-date but code on which people are still working or that might be thrown away in later versions is also integrated. An alternative I am going to follow for Babylon.js 3.3 is sticking with the stable version and focus mainly on features and stability. Porting will be done in a branches and less frequently. Not all code can be easily ported. For instance, C++ does not have reflection. There are third-party libraries available to support this, but this means introducing a new dependency. ...and the Ugly Linux is my main development platform. The code compiles on Windows (MSVC 2017) and OS X but is not really tested and buggy. On Linux I am also getting different behaviour between the debug and the release version. So the library is for moment only really usable on Linux in debug mode... Looking forward to hear what you think about the project or where you want to use it. If you have some suggestions for improvement or want to contribute or help resolving some of the issues described above feel free to contact me any time or let them know in this forum, it certainly would help a lot! Cheers, Sam
  35. 10 points
    jerome

    SPS experiments

    Hi, People usually love the Solid Particle System (aka SPS). Some of them sometimes ask for new features like the ability to extend it once created (coming soon) or for some extra speed by the ability to disable some computations. I made some study about how things could get faster. The short answer is : go to a lower lever in the implementation (replace the arrays of objects by typed arrays of floats, for instance), then use if possible other processes (GPU or workers). Well, here are the current status of my prototypes, so you can compare on your computer and browser the differences. The SPS of reference is really big, filled with 40K (yes, 40, 000 !) boxes and tetrahedrons. It's far more than we usually ask to a SPS with animated solid particles in the PG examples you could find in the forum posts. So your browser may suffer a bit ... Reference legacy SPS : http://jerome.bousquie.fr/BJS/test/spsReference.html Then comes the lighter typed array based version : http://jerome.bousquie.fr/BJS/test/spsBuffer.html As you can notice, it's a bit faster. Not only because of the usage of buffers/typed arrays, but also because it has less features than the legacy SPS for now. Let's go on... [EDIT] (from here, your need to have a browser with sharedArrayBuffer enabled) Here comes his new friend, the worker based SPS : http://jerome.bousquie.fr/BJS/test/spsProtoWorker.html This one is really faster. In this version, the particle logic (what the user want them to do) is still in the main thread and the worker only computes the transformations (the final vertex coordinates from the particle rotations, positions, scaling values, etc). At last, here's the second worker version : http://jerome.bousquie.fr/BJS/test/spsProtoWorker2.html It looks faster ... at least on my browsers. In this last version, the particle logic is deported in the worker. The main thread only carries for updating the mesh from the vertex buffers. In both worker versions, the worker computations are decoupled from the render loop. This means that the worker computes, then answers the main thread it has finished and this one just orders it to compute again, whatever the render loop is currently doing at this moment. The render loop just reads the data currently updated by the worker in a shared buffer (shared between the worker and the main thread) Next study step to come (not soon) : the GPU based SPS Please wait for a while until the frame counter stabilizes to the current average value if you run the tests.
  36. 10 points
    Deltakosh

    New examples tab in documentation

    Hello team! I'm glad to announce the availability of the new Examples tab: http://doc.babylonjs.com/examples/ The goal is to present useful PG in a filterable way. Every example will open the PG in the right iframe and you can then click on edit to see it directly in the Playground. If you want to add more please just update this file: https://github.com/BabylonJS/Documentation/blob/master/examples/list.json Icons are saved here: https://github.com/BabylonJS/Documentation/tree/master/examples/icons and must be 125x125 images Hope you will find it useful!
  37. 10 points
    DarkLight

    3D Web Constructor

    Hello all i want to present you my new project, It's a Web CAD (It will be in the future ) for the moment it's more a viewer. For the moment i am focusing to include the most common features of BabylonJs. Here a capture of the current state As you can see it allows to see the loaded object structure, in the tree you can hide or show or allow wireframe to the a specific object, in addition you have the global actions that will be applied for all meshes. The application also has a custom context menu Here the Prefab creation section Here what i call the compound objects Mode (CSG Balybon plugin) I implemented a 3D section mode also (Still contains some bugs ) For the moment the Import is hard coded i don't have yet a server side implementation, this is the next step. The toolbar contains some other options like remove, clone mirror a mesh, change camera views, and camera behavior on selection. Your feed backs are all welcome (Positive or negative), any ideas are welcome too. Here the link to the project on github you can try it your self https://darklight4070.github.io/3DWebConstructor/ And here the source code https://github.com/DarkLight4070/3DWebConstructor And thxs for this nice BabylonJs framework Regards DarkLight
  38. 10 points
    Check out my latest Space Shooter Demo Has html gui, multiple levels or waves, score count, hazard count, restart by keyboard or gamepad button and ENEMIES For Those who want take a look at the project details, all the code and assets... You gotta love the Unity Project Packaging. So here you go: Space Shooter Project Source
  39. 10 points
    JohnK

    Playground Based Tutorials

    This demo https://economist-exposures-32112.netlify.com/ is inspired by @Wingnut's thoughts about a playground based tutorial. Whilst I have copied the PG code it is meant to be something different to the PG not a replacement. For a start the user cannot edit any code or do their own thing in anyway. It might not be what @Wingnut intends so consider it as the start of a proof of concept. This means you can ignore the style and the twee alien. The code can be found at https://github.com/BabylonJSGuide/InteractiveTutorials and the README gives some information on how I messed around the PG code. Currently there is only one tutorial and here is the code that runs it. Anyone interested in helping with further development of this - you would be most welcome.
  40. 9 points
    Luaacro

    BabylonJS Editor V2

    Hello awsome community! The BabylonJS Editor V2 is now available and online! It comes with a web version and a native desktop application (Electron)! From the V1, this new editor comes with a better user interface and more tools to write less, less, less lines of code Demo This demo video shows a project 100% made inside the editor. It includes custom scripts written using TypeScript, path finding, custom post-process and custom animations Features Create and edit particle systems Create and edit animations Create and edit lens flares systems Create and edit physics states on meshes Create and edit materials (including materials library) Add and edit sounds Add and edit textures (including render target textures & procedural textures) Save projects on OneDrive / local with Electron Deploy project template on OneDrive / local with Electron Scene graph view Create and edit custom post-process Create and edit custom materials Attach custom scripts (JavaScript and TypeScript) to your objects Test your scenes with debug support Video tutorials The documentation is available in the BabylonJS Documentation but now comes with videos to illustrate the written documentation: https://www.youtube.com/channel/UCNogU8tcA5IegFvMwE2Rckw/playlists Some links Full documentation: http://doc.babylonjs.com/resources/ Editor: http://editor.babylonjs.com/ Desktop Application: http://doc.babylonjs.com/resources/getting_started Git Repository: https://github.com/BabylonJS/Editor Conclusion If you encounter a bug, don't hesitate to report in the forum and I'll make my best to resolve it. Thanks for being BabylonJS users. Hope you'll like using this editor
  41. 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!!
  42. 9 points
    JohnK

    Bezier Surface

    I was inspired by this topic to produce a bezier surface. The surface is not a mesh but a logical object that contains the data from which you can build the mesh using a ribbon. I restricted myself to a bicubic surface. Over the next weeks I will add some other methods and who know perhaps try to write a typescript version and PR it. This PG animates the surface by changing the control points, https://www.babylonjs-playground.com/#KT9EE7#1 In this PG you can move the control points (purple spheres) in the direction of the chosen axis. Click on a control to move the axes to that control, click on a cone to set the axis along which you move the control ( done by giving mesh behaviours a go) then drag the control https://www.babylonjs-playground.com/#KT9EE7#2 Work still in progress. have fun.
  43. 9 points
    Deltakosh

    //Build 2018

    Some pictures of the booth:
  44. 9 points
    jodo

    Multiplayer Test with NullEngine()

    Hi Guys! I haven't been active here for quite some time and haven't done anything with Babylon.JS for quite a long time. But after checking out the changelogs, I saw that we can now run Babylon.js Server Side, how awesome is that! So I had to squeeze in some time and implement a proof of concept multiplayer simulation with Client and Server side physics engine. It's quite basic. The Client can control a ball by spinning it forward or backward (with W and S). By changing the camera angle (with A and D) you can change the direction of the impulse. With Space you can jump around. To check out how it behaves with multiple players you can either ask someone to also visit the site at the same time or just open a new tab in your browser. Technical it is rather simple. Server and Client communicate via Websockets. The client applies impulses to it's ball, these parameters for these impulses are sent to the server. The server applies these also and keeps the state for the whole world up to date. Each render loop the server sends the current state to all the clients (ideally 60 Hz). The clients then correct the position, direction and velocity of all objects including their own ball if needed. I haven't tried it out with higher delays, but I would suspect the result will be quite "jumpy". Interpolation for correction and prediction of movement is not (yet) implemented. Added Server Update Rate and Ping to see lags and delay in perspective to these metrics. Here is the code: https://github.com/j-o-d-o/multiplayer-babylon-js-game Here is the Demo: http://185.82.21.82:8700/ Here is a great article about Server-Client Game Networking techniques: http://www.gabrielgambetta.com/client-server-game-architecture.html which was somewhat the motivation to implement this proof of concept.
  45. 9 points
    Sebavan

    Webgl 2 Shadows

    Hello, Thanks to Webgl 2, we have been able to introduce two new kind of shadows: PCF (improved version of poisson sampling) and PCSS (contact hardening shadows). They are only available on Webgl 2 and will fallback to poisson sampling on other devices. Here is a quick shot at how contact hardening tries to simulate real life by getting softer when the blocker is further away from the receiver: https://playground.babylonjs.com/#ZT8BKT#2 And a real use in a scene with self shadows: https://www.babylonjs-playground.com/#EYEPRI#3 As usual, the doc have been upgraded: https://doc.babylonjs.com/babylon101/shadows#percentage-closer-filtering-webgl2-only And to properly setup self shadow: https://doc.babylonjs.com/babylon101/shadows#self-shadow Hope you ll enjoy it.
  46. 9 points
    Deltakosh

    360 videos

    Hello team, I'm happy to announce the availability of the Video dome! It is a new utterly simple tool to display 360 videos in your scene (with support for FOV change and VR of course) Demo: https://www.babylonjs-playground.com/#1E9JQ8#7 Doc: http://doc.babylonjs.com/how_to/360videodome
  47. 9 points
    jerome

    Solid Particle Parenting

    Hi Folks, Here's a SPS new feature : the particle parenting. Simple to understand : once a particle has a parent, all its rotation, position and pivot are then expressed in the parent particle local space. Simple to use : sps.initParticles = function() { for (var i = 1; i < sps.nbParticles; i++) { // declare each previous particle as the parent of the current one sps.particles[i].parentId = i - 1; } }; sps.updateParticle = function(p) { // each particle will rotate for +0.001 in the already rotated parent space particle.rotation.z += 0.001; } examples : the green box is parented to the translating red one, it also rotates around a local pivot http://jerome.bousquie.fr/BJS/test/spsParenting.html 600 boxes, parented per groups (stems) of 10, each rotating around its pivot : http://jerome.bousquie.fr/BJS/test/spsParenting2.html
  48. 9 points
    Dad72

    MoviRender - under construction

    Hello, I wanted to introduce a new project that I have been working on for some time in parallel with HeroonEngine. It's a 3D interactive story editor with game-shaped animations with hiding points to find or interactive objects to click to advance a story that you create, which can happen successfully or with failure. You will be able : - Create multiple scenes and navigate from one to the other to make indoor scenes, other outdoor ... - Create multiple cameras per scene to create different viewpoints as can be seen in the movies and also navigate from one to the other. The cameras to create are cameras spectator, there is also a camera made by default for the editor which is the user camera not use on the final rendering of the game. - Create a scene from scratch with a terrain and a user camera and a default spectator camera or create from a list of prefect scenes with different themes that you can complete and save to continue your work later. - Add primitive objects (to create hiding points to click) or customize for a scene, position them, turn them and scale them. Its objects can be interactive or not, made visible or hidden and what does its interaction do following a type of click (single, double, drag and long) but also the camera change, scene change, triggering animations, dialogues, effects, sounds or to make hidden objects visible ... - Animate objects, cameras and characters that are triggered with interactions on objects to advance the story. - Each scene has default shadows to activate and a default sky rotation, you can change the environment settings by changing the sky texture, add fog and change post-process and others. - You can also add backgrounds of different types to simulate a scene background. Ideal for creating depth quickly. - You can also create lights, the edit and exclude objects to illuminate. So you can create with MoviRender all kind of interactive story. This can be a police investigation to solve and according to the choices made, the story runs successfully or with failure. It's still under construction, but it's at a good enough scene to be able to talk about it. I do not know when I could finish it, I still need maybe 2, 3 months of work on it to release a first public version. I also have the whole site to do with tutorials. So I still have a lot of work. I think it's something that can be fun to create interactive stories. Feel free to leave your comments to get your opinion on this project. If you have ideas of what you would like to do with this kind of program, it may inspire me to add what I would not think. I will make an announcement when this project is available. Thank you. Here is a small screenshot:
  49. 9 points
    Deltakosh

    Please welcome the TransformNode

    I know this was a big ask from the community so I'm glad to announce that we finally support TransformNode! They are node with position / scaling / rotation like any mesh but without all the rendering. So they are just here to add transformation to a hierarchy. Example: https://www.babylonjs-playground.com/#JT0HN4 @JohnKsorry my friend because this could require some update to the doc (even if by itself everything will keep working the same as before)
  50. 9 points
    @Wingnut I appreciate the kind words I liked your idea, genious.. so i gave it a go, without clusters through. https://www.babylonjs-playground.com/#KBI6QI#1