jME を使い始めたばかりで、blender で 3D モデルを作成し、それを .obj にエクスポートして jME アプリケーションにインポートしました。アンビエント ライトは正常に機能しますが、私が使用している直接光は、いくつかの面のみを照らしますが、オブジェクトの 1 つの面だけを照らすのではなく、オブジェクトの方向 (両方の上腕) に関係なく、オブジェクト全体を照らします。 :
キャラクターの残りの部分はディレクショナル ライトで照らされません。これはソースコードです:
public class Hello extends SimpleApplication {
@Override
public void simpleInitApp() {
Spatial character = assetManager.loadModel("/character.obj");
Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
character.setMaterial(mat);
character.scale(0.5f, 0.5f, 0.5f);
rootNode.attachChild(character);
AmbientLight al = new AmbientLight();
al.setColor(ColorRGBA.White.mult(1.3f));
rootNode.addLight(al);
DirectionalLight sun = new DirectionalLight();
sun.setColor(ColorRGBA.White);
sun.setDirection(new Vector3f(0,1,0).normalizeLocal());
rootNode.addLight(sun);
}
/**
* @param args
*/
public static void main(String[] args) {
Hello app = new Hello();
app.start();
}
}
何が問題ですか?