PhysicCharacter falls through static meshes but not through boxes? :/

Hi!

I got this mesh of a house, then I got this PhysicsCharacterNode that got gravity set to 80.

Problem is, when hes inside of the house he falls through the floor.

I’v even subdivivded the floor and it doesnt fix it.



He can stand on a Box made like this:

PhysicsNode floor = new PhysicsNode(new BoxCollisionShape(new Vector3f(100, 1, 100)), 0);

But not on the mesh floor which is much smaller in size of triangles.

I have even decreased the size of gravity to 1. All it does is making it move slower through the floor, but it still moves through!
Am I the only one experiencing this or is it a common error?
If so, how can I fix or bypass this?

Did you try setting the physics space accuracy?

@glaucomardano He didn’t post his code how he creates the mesh collision shape, usually he messes it up himself explicitly not doing whats written in the docs :wink:

I did get my way of the mesh from the tutorials of jme3 and so is the characterphysicnode.

Heres how the physic of the mesh object is taken:

[java]public static PhysicsNode StaticMeshNode(String name, String texture, float scale){

Node shape = ShapeMesh(name,texture);

shape.setLocalScale(scale);

CollisionShape sceneShape = CollisionShapeFactory.createMeshShape(shape);

PhysicsNode house = new PhysicsNode(sceneShape);

house.setLocalTranslation(new Vector3f(30f, -6, 0f));

house.attachDebugShape(MainClass.getAsset());

house.updateGeometricState();

house.updateModelBound();

house.attachChild(shape);

house.setMass(0);

MainClass.getRoot().attachChild(house);

MainClass.getPhysic().add(house);



return house;

}



public static Node ShapeMesh(String name, String texture){

Spatial model = MainClass.getAsset().loadModel(name+""+name+".mesh.xml");

model.setMaterial(MaterialManager.Texture(texture)); //Simply loads a texture image



return (Node) model;

}

[/java]





Now I tried setting the accuratcy to 0.005 (originally it was 0.01666…) but that prevented my character from jumping and it made it shake alot more…

Having higher value than original made it lag more but the character still fell through the ground.



Have no clue how to solve this, and the work im making to keep the project going is running out :stuck_out_tongue:

Need help fast

None of the “node” classes is used in the tutorials anymore. You are using deprecated API anyway. Also calling updateGeometricState() is never good.

Ahh oke.

Well I tried following the tutorial you suggested:

https://wiki.jmonkeyengine.org/legacy/doku.php/jme3:beginner:hello_collision

But I had to replace RigidBodyControl with something because apparently it doesnt exsist :confused:

That meens I got an unupdated version of jme right?

OHSHT!

I just updated to the latest jme, GOOSH my whole game broke down XD



There is no physicspace, no assetmanager, not even a rootNode?!

Im gonna have to rebuild everyscript to get this up running again :frowning:

Everything I knew… Gone…

You extend simple application and no longer have a rootNode? Something is very very wrong…