Jme笔记 (camera) Jmonkey
(可能没计算机图形学的基础 , 理解起来有点困难 )
前几天在UBUNTU上运行JME好好的,升级了显卡驱动后,就不行了.老是LWGJL出问题,不知什么时候能解决!
State ,是一种状态 , 可以在这上面加上光 , 材质等等
任何状态对象都是 这样得到的: display.getrenderer().creat......; 由渲染器创建
调节光线时注意: 要卸载原来的默认灯光 lightState.detacheall(), 灯光要打开 , setDiffuse 散光吧, 控制打在物体上的颜色 .
在变换位置时, 为什么是 setlocalTranslation() , 这里的 local 可能就是在本节点上的意思 . 因为移动了更长官级的节点相对位置不变 .
display.getRenderer().setBackgroundColor(ColorRGBA.green) //显示器.得到渲染器.设置背景色. //RGBA R(red) G(green) B(blue) A(alpha透明度),三原色加上透明度,所有的颜色都有了
照相机, 我搞了好久 ! 现在终于看懂了 , 可能与这几天的英语提高有关 , 文章看起来顺手了 .
Camera cam;//定义一个照相机,系统还有一个默认的 cam=display.getRenderer().createCamera(display.getWidth(),display.getHeight());//创建照相机,需要显示器的长和宽作为参数 cam.setFrustumPerspective( 130f, //这是视角,单位为度. display.getWidth()/display.getHeight(), //显示器的宽和长之比 2, // 看得最近的距离 500); //看的最远的距离 //设置照相机的视锥. cam.setFrame(new Vector3f(30,30,30),//照相机的位置 new Vector3f(-10f,0,0), //应该是朝向左边的轴 new Vector3f(0,20f,0), //朝向上边的轴 new Vector3f(-1,-1,-1)); //镜头的指向
这个setframe还是不好理解,怎么要这样做呢?
使用setlocal 和lookat就很好理解,setlocal 不用说,lookat有两个参数,前面一个是镜头指向,光有这个不行,比如照相,对准了物体还不行,还要根据你所处的世界摆正照相机,那么第二个参数就是这个,我们虚拟世界是怎么摆放的,一般向上是(0,1,0),如果把1改成-1,那么世界就倒过来了。
cam.update(); //相机更新 display.getRenderer().setCamera(cam); //给渲染器加我的相机