Jump to content

about cannon.js and babylon physic engine


Recommended Posts

I asked myself the following question about cannon.js. There has been no update for 1 year. view babylon.js depends cannon.js (for the physics), Babylon.js will not be able to evolve its physics engine?

I think the possibility that babylon.js can have on the physical complex meshes (eg character)

Cannon.js not evolving, that's what it'll prevented babylon.js to evolving its physics engine? Maybe I'm wrong. I do not know.


This is just to know what it was about the future of physics engine babylon.






Link to comment
Share on other sites

I would have to agree with dad72 on this. There are features missing from cannon like the ability to handle collisions with a "terrain" object that aren't a standard object. Just leads me to ask the question of what would be the solution for situations like this where the source is dead and not expansive enough for our needs? Complex terrain as an example is necessary in most modern games.

Link to comment
Share on other sites

Omio.js looks promising.  


Just a thought, a little more work but what if we could switch between two?

Probably more work to support, but would be nice to switch between a lighter or heavier weight physics engine.


Phaser does it but not invisible to the user with completely different calls....

Link to comment
Share on other sites

What about working on cannon.js? Babylon.js could be a second life for it. Just an idea, maybe another engine would be better but maybe we would get stuff done quicker by participating to cannon.js development https://github.com/schteppe/cannon.js


To participate in the development of cannon.js must already know physical. this is a complex area. Much remains to be accomplished in a working cannon.js. Using another motor as Oimo.js this engine covering most of the needs. No need to spend time on additionally cannon.js

Link to comment
Share on other sites

Ammo would be nice as bullet is always being worked on. I think we should probably speed test all the candidates and then feature compare to see what would be best. I would like to be able to use gravity physics on 3rd person camera on more than just height mapped terrain, and standard shaped objects. It would be nice if there was a package that could handle this as my terrains are compiled and not height maps.



A little off subject, but while we're on the topic of emscription compiled C++ programs...

I've had experience with Recast for path finding etc. it's a great tool. It will even spec out hole sizes to path a monster based on his height.



I had planned on eventually emscripting recast for my client project since it's worked so well for our server.

Link to comment
Share on other sites

Yo, yes i'm in deep test of ammo physics for the moment is slower than oimo for many objects simulation.

for shapes : 500 for oimo / 200 for ammo at 60 fps 

for contraint : 60 ragdoll in oimo / 20 max in ammo.

ammo takes more cpu resource. 


oimo.js is far lightweight and simple

146kb for oimo (30 kb in png)

3617kb for ammo (554 kb in png)


but ammo have powerfull vehicle systeme, terrain, more shape, TriangleMeshShape...

maybe next release can be faster (yes 20% faster :)


is possible to add this to oimo.js but is huge work.


i developpe the same method for oimo.js and ammo.lab

both use same unit (1 unit = 1 meter).

demo editor will be the same in next version.


i have to make doc for oimo.js

i think is easy to use both on any 3d engine.


Link to comment
Share on other sites

It looks like everyone really liked Oimo.js, found it a while ago :)


Typescript port sounds awesome ! 


For the physics engine : here is some demos of Loth (french guy) using is oimo.js port : http://lo-th.github.io/Ammo.lab/ it uses three.js. Oimo is fast.


Demo 4 and 8 is something that everyone would love to see while using Babylon.js, that's for sure ;D

Link to comment
Share on other sites

Why keep Cannon.js by default being given that he died?
I think the creation of the plugin (here) is complicated and makes the use or change in physical babylon complicated. I understand anything, I do not feel able to do this plugin to Oimo.js or Ammo.js (which is awesome too)
In the roadmap it was noted :
Add support for Oimo.js


I thought that Oimo.js or Ammo.js is more complete, would replace Cannon.js who died and not complete. I think now the use of physics in babylon is limited to a handful of users expert, the others will not understand anything, I too as a user and not a developer of complex engine.

I preferred to use before, but with a replacement to Oimo.js or Ammo.js. Wholesale now we must make a physical complex plugin. That'll do it? 2, 3 person? And the others users who are not experts?

Link to comment
Share on other sites

I keep it for now because this is the only one we have :) But I really count on our community to create new plugins quickly (Oimo and Ammo for instance)


BTW for regular users you have nothing to do, babylon.js will continue to work as before. Once a new plugin will be ready I will add it to babylon.js as a default plugin too.


Perhaps a side note here is required to explain how plugins work: As long as you reference cannon.js, then the plugin by default will be cannon. If we have a plugin for ammo then as  long as you reference ammo.js it will be used by default and so on


So absolutely free and transparent for users

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    • No registered users viewing this page.
  • Create New...