Ok I added physics and BetterCharacterControl. But it seems the BetterCharacterControl still has flickering even if i have pretty detailed grid. I guess this can be because of flap floor. @normen could you check it?
Could you check why flickering happens? Is it possible to fix? As this is pretty big issue.
All pro engines have no any flickering for character controls i guess.
@mifth said:
Could you check why flickering happens? Is it possible to fix? As this is pretty big issue.
All pro engines have no any flickering for character controls i guess.
You keep coming back to this issue, just stop @mentioning me with it.
@normen said:
You keep coming back to this issue, just stop @mentioning me with it.
Well, you were the author of this control. If you don’t want to get bug report and dunno want to fix it - then sorry. I stop bothering you with this issue.
@mifth said:
Well, you were the author of this control. If you don't want to get bug report and dunno want to fix it - then sorry. I stop bothering you with this issue.
Thanks. I announced that I don’t have time much time for jME anymore almost a year ago already.
@mifth is it only a problem when you aren’t moving? If so then you should probably disable it (make it inactive). Like bullet does for other objects. Every tick bullet applies gravity and then re-corrects it when there is a collision. So you end up with some floating point errors on the position.
@wezrule said:
@mifth is it only a problem when you aren't moving? If so then you should probably disable it (make it inactive). Like bullet does for other objects. Every tick bullet applies gravity and then re-corrects it when there is a collision. So you end up with some floating point errors on the position.
I should or BetterCharacterControl should sleep? If you disable it you will get many issues too. Well you can make a test and find a solution.
I found a strange issue when I close the application i get an Exception:
WARNING: RigidBody com.jme3.bullet.objects.PhysicsRigidBody@15320ddc does not exist in PhysicsSpace, cannot remove.
июн 02, 2014 1:35:53 PM com.jme3.app.Application handleError
SEVERE: Uncaught exception thrown in Thread[LWJGL Renderer Thread,5,main]
java.lang.NullPointerException
at com.jme3.bullet.PhysicsSpace.removeGhostObject(PhysicsSpace.java:524)
at com.jme3.bullet.PhysicsSpace.removeCollisionObject(PhysicsSpace.java:421)
at com.jme3.bullet.control.GhostControl.setPhysicsSpace(GhostControl.java:153)
at com.jme3.bullet.PhysicsSpace.remove(PhysicsSpace.java:409)
at org.aitest.character.AICharacterControl.destroyCtrl(AICharacterControl.java:224)
at org.aitest.character.AIMainCharacterController.destroy(AIMainCharacterController.java:135)
at org.aitest.character.AIMainCharacterController.cleanup(AIMainCharacterController.java:151)
at com.jme3.app.state.AppStateManager.cleanup(AppStateManager.java:323)
at com.jme3.app.Application.destroy(Application.java:635)
at org.aitest.AIMain.destroy(AIMain.java:90)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.deinitInThread(LwjglAbstractDisplay.java:196)
at com.jme3.system.lwjgl.LwjglAbstractDisplay.run(LwjglAbstractDisplay.java:233)
at java.lang.Thread.run(Thread.java:744)
Exception: java.lang.RuntimeException thrown from the UncaughtExceptionHandler in thread “LWJGL Renderer Thread”
AL lib: (EE) alc_cleanup: 1 device not closed
The error message is pretty explicit, ain’t it? You try to remove a physics object that has already been removed. Maybe you first control.setEnabled(false) and then try to PhysicsSpace.remove(control).
@normen said:
The error message is pretty explicit, ain't it? You try to remove a physics object that has already been removed. Maybe you first control.setEnabled(false) and then try to PhysicsSpace.remove(control).
Yes, it’s understood that exception is because of physics object that has already been removed.
But! If i try to remove RigidBody which already was removed i’ll get WARNING: WARNING: RigidBody com.jme3.bullet.objects.PhysicsRigidBody@7fc2cce7 does not exist in PhysicsSpace, cannot remove.
And the application gets no Exception.
And if i try to remove GhostObject - i’ll get such an Exception.
So, the issue happens only with GhosObjects.
Question: is it possible to make Warning instead of Exception when GhosObject already was removed?