第九章:用户交互
游戏控制器 游戏控制器是玩家于游戏交互的主要设备,大部分游戏都是通过控制器来互动的,比如: 街机 游戏板、操纵杆、跳舞毯、方向盘 主机(XBOX、PlayStation等) 手柄、专业方向盘、Kinect体感传感器等 个人电脑(PC) 键盘、鼠标 手机、 ...
游戏控制器 游戏控制器是玩家于游戏交互的主要设备,大部分游戏都是通过控制器来互动的,比如: 街机 游戏板、操纵杆、跳舞毯、方向盘 主机(XBOX、PlayStation等) 手柄、专业方向盘、Kinect体感传感器等 个人电脑(PC) 键盘、鼠标 手机、 ...
概念 jMonkeyEngine3是一个基于场景图的3D游戏引擎,因此有必要对场景图的概念进行一些说明。jME3的场景图通过Spatial、Geometry、Node这3个类来实现,它们之间的关系如下图: 场景图(Scene Graph)是一种数据结构,用于管理游戏场景中的物体,场景中的每个物体都被称为Spatial。 Spatial表示3D空间中的一个物体,它在空间中有三种线性变换:位移(Translation)、旋转(Rotation)、缩放( ...
感受光影 计算机中没有光,只有数据结构和算法,光照和阴影在3D引擎中是两种不同的事物。 光照能够让物体面向光源的一面看起来更加明亮,而背光面则更加灰暗。Lighting.j3md材质的作用就是如此。 但是光照并不能让物体在地板、墙壁上投射阴影。在3D引擎中,绘制影子需要额外的计算,这将影响程序的性能(降低FPS)。 观察下面2个场景的截图,第一场景中只有光照,第二个场景中加入了阴影。加入阴影之后FPS降低了一半不止。 上图源代码:HelloLight ...
今天逛论坛,发现有人分享了一个Android Studio的jME3工程模板生成器,挺有意思。虽然比不上BootMonkey功能那么强大,但是贵在短小精悍。 原帖:Android Studio template project generator 运行这个小程序需要Java 8,因为它的界面是用JavaFX制作的。 用法很简单,输入Project名、Package名之后,点击“Generate” ...
作者:这一章内容不属于jME3入门必须弄懂的知识,如果你对jME3的材质系统工作原理感兴趣可以继续往下阅读,直接跳过下方内容也不影响开发。 但我建议至少读完“材质实例:j3m文件”,因为这会帮助你理解jME3 SDK中的材质编辑器的作用,并且在一定程度上减少编写Java代码的工作量, jME3的材质系统定义了2种文件格式:j3md和j3m。j3md来关联材质所使用的着色器程序,充当Java代码与Shader代码中间的粘合剂。j3m来保存一个具体的材质参数。 如果你对源代码感兴趣,可以去查看这2个组件中的文件: jme3-core 其中内置了一些最常用的j3md文件以及对应的着色器代码,Unshaded. ...