Is there a way to slow down a projectile without gravity effecting it? I am planning on having a pseudo 3D game with “cardboard cut out sprites” similar to the original ragnarok online. I want it to play more like an arcade game. I still want them be able to dodge a projectile. I would like my arrows to shoot indefinitely in one direction.
Tip: if you don’t want real physics then don’t use a real physics engine. 1000 problems solved instantly.
Moving an object in one direction without gravity affecting it is one of the easiest things to do… unless you try to involve a physics simulation.
Right now I am just using the physics provided by the BulletAppState and RigidBodyControl. What other physics engine is provided in jMonkeyengine. I am new to jMonkeyengine and I am going through book examples, so I wasn’t even aware physics other physics engines supported by jMonkey
Well, you are using “real physics” and your question implies that you don’t want to use “Real physics”.
spatial.move() would do what you want to do… where as fighting the physics engine at every step is going to be painful.
So, step 1: if you don’t want to use real physics then stop using the real physics engine and just do your own physics loop.
Edit: on the other hand, if you are still new to things and pos += velocity * tpf is a new concept then maybe fighting the physics engine is better.
And when you have moved the projectile on your own you will probably be wondering how to detect collisions. There are two ways to go about it:
- jME has a ‘built in’ collision detection of sorts. This is what you want to use.
- jME also has integration with Bullet which being a physics engine also detects collisions. You probably don’t want to use this since your use case is not ‘real physics’.
NM, I fixed it the same day I posted it. You just need to set the gravity of the project node (not the scene node) (E.G. bulletPhy.setGravity( new Vector3f(0,-0.01f,0) );