Рендер JMonkeyEngine. Коробка не отображается

Мой код

 private Node enemies;


 private void initEnemies(){
    enemies = new Node();

    Box boxMesh = new Box(1f, 1f, 1f);
    Geometry boxGeo = new Geometry("Colored Box", boxMesh);
    Material boxMat = new Material(getAssetManager(), "Common/MatDefs/Light/Lighting.j3md");
    boxMat.setBoolean("UseMaterialColors", true);
    boxMat.setColor("Ambient", ColorRGBA.Blue);
    boxMat.setColor("Diffuse", ColorRGBA.Blue);
    boxGeo.setMaterial(boxMat);
    boxGeo.setLocalTranslation(playerNode.getLocalTranslation());
    boxGeo.setUserData("Health", 100);

    enemies.attachChild(boxGeo);
    rootNode.attachChild(enemies);
}


@Override
public void simpleInitApp() {
    initAsset();
    initState();
    initThis();

    flyCam.setEnabled(false);
    stateManager.detach(stateManager.getState(FlyCamAppState.class));

    MyCamera myCam = new MyCamera(cam);
    myCam.registerWithInput(inputManager);

    stateManager.attach(new GunState());

    bulletAppState = new BulletAppState();

    stateManager.attach(bulletAppState);

    initTerrain();
    initLight();
    initHUD();
    initPlayer();
    initEnemies();
}

И не показывает :( Ошибок нет Нет краша консоли Нет выхода из игры Кто знает как починить? Все работает а вот это враги нет :(

Мне это нужно для моей 3D-игры с jmonkeyengine 3

Спасибо за любую помощь


person FajosDev    schedule 10.11.2014    source источник
comment
Не могли бы вы показать метод initLight()? Может коробка просто черная. Попробуйте изменить цвет фона: viewPort.setBackgroundColor(ColorRGBA.DarkGray);   -  person 1000ml    schedule 10.11.2014


Ответы (2)


Вам может понадобиться добавить свет, чтобы увидеть вашу коробку и прикрепить ее к коробке.

DirectionalLight sun = new DirectionalLight();
sun.setDirection((new Vector3f(1f, 1f, 1f)).normalizeLocal());
sun.setColor(ColorRGBA.White);
rootNode.attachChild(Box);
rootNode.addLight(sun);
person Jman2    schedule 12.11.2014

Другое решение состоит в том, чтобы изменить Common/MatDefs/Light/Lighting.j3md на Common/MatDefs/Misc/Unshaded.j3md и удалить определения цвета Diffuse и Ambient и использовать вместо них определение цвета Color. Это происходит потому, что материал Lightning требует света в сцене, как заявил Jman2. Незатененный материал не требует света. Попробуйте - должно помочь.

person Serj.by    schedule 04.01.2015