Problem with loading 3ds model

Hi all!

I have a problem with loading 3ds model to JME. I want to create a multi-player tank shooter for my first JME game.

Found a 3ds tank model on a free 3dsmax page. want to load it, but it looks very bad.

what do i wrong?

is it a problem with my code or it is possible, that my vga card is too weak for that? i use my laptop, that is for offical use, so i think it's vga card bad. should i try it on a stronger PC?

My code for 3ds loading:

   private void addPlayer(URL maxFileLocation) {
      Node model = null;
      try {
         MaxToJme maxToJme = new MaxToJme();
         ByteArrayOutputStream out = new ByteArrayOutputStream();
         maxToJme.convert(maxFileLocation.openStream(), out);
         BinaryImporter importer = new BinaryImporter();
         model = (Node) importer.load(out.toByteArray());
         model.setModelBound(new BoundingBox());
      catch (IOException ioe) {
      Quaternion quaternion = new Quaternion();
      quaternion.fromAngleAxis(-FastMath.PI/2, Vector3f.UNIT_X);
      playerNode = new Tank("Tankmode", model);

      playerNode.setLocalTranslation(new Vector3f(50,2,80));
      scene.updateGeometricState(0, true);

add a ZBufferState to the rootNode

Yep seems the model is inside out.

If dhdd's suggestion dosen't help, it could be that the model was exported with wrong normals?

i had a similar problem that wasn't fixed untill i reset the normals


I tried ZBuffer but isn't work. What ZBufferState option do you advise?

This model is from a free site, but .max isn't available so i cant export it again…

Try adding a CullState

        CullState cs = DisplaySystem.getDisplaySystem().getRenderer().createCullState();

if the tank is correct then, you know that the normals have to be inverted, after that you can use Face.Back to increase performance.

The solution was the ZBuffer! I just forgot to call updateRenderState() on root node, sorry…

Now the tank is visible.

Thx for the help!