神看光是好的,于是,转动地球的一面有了光亮。
1.创造一个方块形状的网格(Mesh);
2.加载一个能够感光的材质(Material);
3.创造一个几何体(Geometry),应用刚才和网格和材质;
4.创造一束定向光(DirectionalLight),并让它斜向下照射,好使我们能够看清那个方块;
5.将方块和光源都添加到场景图(rootNode)中。
public class HelloJME3 extends SimpleApplication {
private Geometry geom;
/**
* 初始化3D场景,显示一个球体。
*/
@Override
public void simpleInitApp() {
// #1 创建一个球形的网格
Mesh mesh = new Sphere(16, 24, 1);
// #2 加载一个感光材质
Material mat = new Material(assetManager, "Common/MatDefs/Light/Lighting.j3md");
// #3 创建一个几何体,应用刚才和网格和材质。
geom = new Geometry("Box");
geom.setMesh(mesh);
geom.setMaterial(mat);
// #4 创建一束阳光,并让它斜向下照射,好使我们能够看清那个方块。
DirectionalLight sun = new DirectionalLight();
sun.setDirection(new Vector3f(-1, -2, -3));
// #5 将方块和都添加到场景图中
rootNode.attachChild(geom);
rootNode.addLight(sun);
}
/**
* 主循环
*/
@Override
public void simpleUpdate(float deltaTime) {
// 旋转速度:每秒360°
float speed = FastMath.TWO_PI;
// 让方块匀速旋转
geom.rotate(0, deltaTime * speed, 0);
}
public static void main(String[] args) {
// 配置参数
AppSettings settings = new AppSettings(true);
settings.setTitle("一个方块");
settings.setResolution(480, 720);
// 启动jME3程序
HelloJME3 app = new HelloJME3();
app.setSettings(settings);// 应用参数
app.setShowSettings(false);
app.start();
}
}
效果图如下: