Azariel Posted September 15, 2018 Share Posted September 15, 2018 I was wondering if there was a way to change or turn off the gravitational forces applied to a specific object. Right now my janky solution is to change the object's mass, but when setting it to 0 it appears that collision detection no longer works (at least when both objects involved in a collision have 0 mass). Are there any better solutions out there? Quote Link to comment Share on other sites More sharing options...
Guest Posted September 17, 2018 Share Posted September 17, 2018 This is tricky as the physics simulation is a whole system where all the actors live according to the same rules. So changing gravity only for a specific object is kind of unsupported. can you tell us what you try to achieve? Quote Link to comment Share on other sites More sharing options...
Wingnut Posted September 21, 2018 Share Posted September 21, 2018 Hi guys. Sorry to interrupt. Testing playground: https://www.babylonjs-playground.com/#15EUZJ#12 Ok, for THAT PG, line 70 is an "anti-gravity engine" for red sphere1. Lines 54-57 add mass to gray sphere2... after 8 seconds. *shrug* Red sphere CAN still have impact and recoil (restitution)... but Y-axis gravity-pull, is nulled/counter-acted. On 9/15/2018 at 1:00 PM, Azariel said: at least when both objects involved in a collision have 0 mass Yep, this is true. https://www.babylonjs-playground.com/#15EUZJ#15 In #15 PG... - I have set a TINY amount of mass on red sphere (line 32). I think it automatically rounds-up to .01 mass, so the line 72 anti-gravity line is still needed. - The gray sphere2 has no mass. So, I must "pull" the gray sphere2 downward (to test collision with red sphere1). Lines 73/74 do that. Collision works, restitution/recoil works, but it HAS TO HAVE line 32 mass. Remove line 32, activate line 31, and re-run... to test. hmm. Yep, when both physicsBody's have 0 mass... no colliding done. Darn. Ok, now we got a playground for the forum's mad scientists to experiment-with. I think the direction of study will be... trying to teach the physics engine to ignore gravity on a "custom physicsBody". We will probably need to overload the Cannon "body" object with a boolean like ".ignoreGravity", and then teach Cannon how to watch-for bodies with .ignoreGravity = true, and then do special no-gravity processing for those collisions. Erf. Rough. hmm. This would be a for-one-project hack, and not a core-level thing (unless you/we can convince @schteppe into supporting such a thing... in core CannonJS future versions). Anyway, sorry for the interrupt. Continuing with... On 9/17/2018 at 10:58 AM, Deltakosh said: can you tell us what you try to achieve? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.