I'm using jme physics2 everything was going smoothly until I decided to make the level static can anyone tell what exactly am i doing wrong??
package com.tps1.lvlLoader;
import java.io.IOException;
import java.util.concurrent.Callable;
import java.util.concurrent.ExecutionException;
import java.util.concurrent.Future;
import trb.jme.imaging.TextureLoader;
import trb.jme.quake3.Quake3Converter;
import trb.jme.quake3.Quake3Loader;
import com.jme.input.FirstPersonHandler;
import com.jme.input.InputHandler;
import com.jme.light.PointLight;
import com.jme.math.Vector3f;
import com.jme.renderer.ColorRGBA;
import com.jme.scene.state.CullState;
import com.jme.scene.state.LightState;
import com.jme.scene.state.ZBufferState;
import com.jme.util.GameTaskQueueManager;
import com.jmex.game.StandardGame;
import com.jmex.game.state.GameStateManager;
import com.jmex.physics.DynamicPhysicsNode;
import com.jmex.physics.PhysicsSpace;
import com.jmex.physics.StaticPhysicsNode;
import com.tps1.GameState.Charactertype;
import com.tps1.GameState.DefineGameState;
import com.tps1.GameState.SkyBoxManager.SkyBoxGameState;
import com.tps1.util.ErrorHandler;
public class levelTester extends DefineGameState {
Quake3Converter converter;
Vector3f eyePos = new Vector3f();
public levelTester(String act, String scene){
initLevel(act,scene);
}
protected void initLevel(String act, String scene) {
display.getRenderer().getQueue().setTwoPassTransparency(false);
cam.setFrame(new Vector3f(-14, 1.5f, -2.5f), new Vector3f(0, 0, 1), new Vector3f(0, 1, 0), new Vector3f(-1, 0, 0));
cam.update();
CullState cullState = display.getRenderer().createCullState();
cullState.setCullFace(CullState.Face.Front);
getRootNode().setRenderState(cullState);
// load quake 3 level
TextureLoader.getInstance().registerPath("src/com/tps1/data/levels/act"+act+"/scene"+scene+"/");
Quake3Loader loader = new Quake3Loader();
try {
loader.load("src/com/tps1/data/levels/act"+act+"/level.bsp");
} catch (IOException e) {
e.printStackTrace();
ErrorHandler.reportError("Thier is an issue loading the level", e);
}
converter = new Quake3Converter();
converter.convert(loader, display);
//////////////////////////////THIS AREA///////////////////////////////////////
/**sets up physics space*/
setPhysicsSpace( PhysicsSpace.create() );
this.getRootNode().attachChild(staticNode);
staticNode= getPhysicsSpace().createStaticNode();
staticNode.attachChild(converter.getRoot());
staticNode.generatePhysicsGeometry();
/////////////////////////////////////////////////////////////////////////////
GameTaskQueueManager.getManager().update(new Callable<Object>() {
public Object call() throws Exception {
getRootNode().lock(display.getRenderer());
return null;
}
});
setupZBuffer();
}
private void setupZBuffer(){
ZBufferState buf = display.getRenderer().createZBufferState();
buf.setEnabled(true);
buf.setFunction(ZBufferState.TestFunction.LessThanOrEqualTo);
this.getRootNode().setRenderState(buf);
}
@Override
public void update(float tpf) {
super.update(tpf);
Vector3f camLoc = cam.getLocation();
eyePos.set(camLoc);
converter.setVisibility(eyePos, true);
}
@Override
public void cleanup() {
// TODO Auto-generated method stub
}
public static void main(String[] args){
StandardGame standardGame = new StandardGame("GameControl", StandardGame.GameType.GRAPHICAL, null);
standardGame.start();
try {
SkyBoxGameState.Manager().setActive(true);
levelTester nex = new levelTester("Test","1");
GameStateManager.getInstance().attachChild(nex);
nex.setActive(true);
} catch (Exception e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
Charactertype Avenger = new Charactertype("ninja");
Avenger.setActive(true);
Avenger.getRootNode().getLocalTranslation().set(345f, 34f, 34f);
}
}
as an error message I receive this repeated almost 30+ times
INFO: Child (null) attached to this node (null)
Mar 7, 2009 4:05:25 AM com.jmex.physics.PhysicsNode createPhysicsGeometry
WARNING: Skipped geometry:
java.lang.IllegalArgumentException: Extent cannot have a component that is 0 to generate collision geometries!
at com.jmex.physics.PhysicsNode.createPhysicsGeometry(PhysicsNode.java:357)
at com.jmex.physics.PhysicsNode.generatePhysicsGeometry(PhysicsNode.java:304)
at com.jmex.physics.PhysicsNode.addPhysicsGeometries(PhysicsNode.java:202)
at com.jmex.physics.PhysicsNode.addPhysicsGeometries(PhysicsNode.java:223)
at com.jmex.physics.PhysicsNode.addPhysicsGeometries(PhysicsNode.java:223)
at com.jmex.physics.PhysicsNode.generatePhysicsGeometry(PhysicsNode.java:172)
at com.jmex.physics.PhysicsNode.generatePhysicsGeometry(PhysicsNode.java:147)
at com.jmex.physics.PhysicsNode.generatePhysicsGeometry(PhysicsNode.java:132)
at com.jmex.physics.PhysicsNode.generatePhysicsGeometry(PhysicsNode.java:119)
at com.tps1.lvlLoader.levelTester.initLevel(levelTester.java:60)
at com.tps1.lvlLoader.levelTester.<init>(levelTester.java:27)
at com.tps1.lvlLoader.levelTester.main(levelTester.java:99)
Mar 7, 2009 4:05:25 AM com.jme.scene.Node attachChild