学安全方面久了,有点无聊,今天闲来无事
查了下除了unity以外还有什么好用的游戏引擎,我尤其关注了java写的游戏引擎
果然有,jmonkeyengine,于是打算看看
jme简介:
package mygame; import com.jme3.app.simpleapplication; import com.jme3.light.directionallight; import com.jme3.scene.mesh; import com.jme3.scene.shape.box; import com.jme3.material.material; import com.jme3.math.vector3f; import com.jme3.scene.geometry; public class main extends simpleapplication { public static void main(string[] args) { main app = new main(); app.start(); } @override public void simpleinitapp() { mesh box=new box(1,1,1); material mat=new material(assetmanager,"common/matdefs/light/lighting.j3md"); geometry geom = new geometry("box"); geom.setmesh(box); geom.setmaterial(mat); directionallight sun =new directionallight(); sun.setdirection(new vector3f(-1,-2,-3)); rootnode.attachchild(geom); rootnode.addlight(sun); } }
cam.setlocation(new vector3f(4.4114223f, 3.3620508f, 7.5415998f)); cam.setrotation(new quaternion(-0.046265673f, 0.9518722f, -0.1815604f, -0.2425582f));
public static void main(string[] args) { appsettings settings = new appsettings(true); settings.settitle("一个正方体"); settings.setresolution(1280, 1024); main app = new main(); app.setsettings(settings); app.setshowsettings(false); app.start(); }
package mygame; import com.jme3.app.simpleapplication; import com.jme3.light.directionallight; import com.jme3.scene.mesh; import com.jme3.scene.shape.box; import com.jme3.material.material; import com.jme3.math.fastmath; import com.jme3.math.quaternion; import com.jme3.math.vector3f; import com.jme3.scene.geometry; import com.jme3.system.appsettings; public class main extends simpleapplication { private geometry geom; public static void main(string[] args) { appsettings settings = new appsettings(true); settings.settitle("一个正方体"); settings.setresolution(1280, 1024); main app = new main(); app.setsettings(settings); app.setshowsettings(false); app.start(); } @override public void simpleinitapp() { mesh box = new box(1, 1, 1); material mat = new material(assetmanager, "common/matdefs/light/lighting.j3md"); geom = new geometry("box"); geom.setmesh(box); geom.setmaterial(mat); directionallight sun = new directionallight(); sun.setdirection(new vector3f(-1, -2, -3)); rootnode.attachchild(geom); rootnode.addlight(sun); cam.setlocation(new vector3f(4.4114223f, 3.3620508f, 7.5415998f)); cam.setrotation(new quaternion(-0.046265673f, 0.9518722f, -0.1815604f, -0.2425582f)); } @override public void simpleupdate(float deltatime) { float speed = fastmath.two_pi; geom.rotate(0, deltatime * speed, 0); } }
package mygame; import com.jme3.app.simpleapplication; import com.jme3.light.ambientlight; import com.jme3.light.directionallight; import com.jme3.math.colorrgba; import com.jme3.math.quaternion; import com.jme3.math.vector3f; import com.jme3.scene.geometry; import com.jme3.scene.spatial; import com.jme3.system.appsettings; public class main extends simpleapplication { private geometry geom; public static void main(string[] args) { appsettings settings = new appsettings(true); settings.settitle("诺手"); settings.setresolution(1280, 1024); main app = new main(); app.setsettings(settings); app.setshowsettings(false); app.start(); } @override public void simpleinitapp() { cam.setlocation(new vector3f(0.41600543f, 3.2057908f, 6.6927643f)); cam.setrotation(new quaternion(-0.00414816f, 0.9817784f, -0.18875499f, -0.021575727f)); flycam.setmovespeed(10); viewport.setbackgroundcolor(colorrgba.lightgray); spatial model = assetmanager.loadmodel("models/demo/darius.obj"); model.scale(0.03f); model.center(); //定向光 directionallight sun = new directionallight(); sun.setdirection(new vector3f(-1, -2, -3)); //环境光 ambientlight ambient = new ambientlight(); //调整光照亮度 colorrgba lightcolor = new colorrgba(); sun.setcolor(lightcolor.mult(0.6f)); ambient.setcolor(lightcolor.mult(0.4f)); rootnode.attachchild(model); rootnode.addlight(sun); rootnode.addlight(ambient); } }
只有模型,没有贴图,可能是我没有导入吧。。。
无所谓了,我不是专业搞游戏的,今天只是想到了,随便看看
继续我的kali学习之路。
如对本文有疑问, 点击进行留言回复!!
springboot利用profile配置文件进行多环境切换
如何使用MyBatis-Plus代码生成器(逆向工程)一键生成代码
网友评论