第四章:用jMonkeyBuilder转化j3o
简介
jMonkeyBuilder
是由 JME3 的白俄罗斯用户 @javasabr
制作的开源美术工具,专为 JME3 量身打造,下文简称 JMB 。
- JME3官方论坛讨论串:Editor:jMonkeyBuilder
- 项目地址:Github BitBucket
- 使用说明:wiki
- 下载地址:jMonkeyBuilder 1.4.0
JMB的功能非常强大,拥有粒子编辑器、地形编辑器、材质编辑器、Shader Node着色器插件,转换j3o只是它诸多功能之一。
JMB不是Java开发工具,它是一个美术工具。它可以用来编写材质、着色器,但不要妄图用它来写Java代码。对于程序员来说,应该把JMB和IDE配合起来使用。
作者正在开发一个IDEA插件,可以在 IDEA 中自动集成jME3,并使用 JMB 来制作和管理游戏资产。也许将来开发JME3程序会比现在简单得多。
创建资产目录
如何下载、安装JMB我就不介绍了。JMB提供了安装包,直接根据提示点“下一步”即可。无需担心语言问题。我已经汉化了JMB的大部分界面。如果下载 1.4.0 或更高版本,JMB的界面将会直接显示成中文。
启动 JMB 后,界面可能是这样的:
JMB没有“创建工程”之类的概念,你需要先手动建立资产目录,然后再把它设定为JMB的工作目录。这样做的好处,是可以让 JMB 直接使用 JME3 工程的资产目录,让两个工具在同一目录下工作。
我在 F:\
盘创建了 assets
目录,并在其中JME3标准资产目录结构。同时,我把 monkey.blend
和 DiffuseMap.png
也拷贝到了 Textures/Monkey
目录中。
在JMB中,点击菜单 文件 -> 打开资源目录
,然后选择 F:\assets
目录。这是,左侧的 资源
导航面板将显示完整的资产目录结构。
鼠标左键双击 DiffuseMap.png
,可以预览这个纹理。
转换j3o
鼠标右键单击 monkey.blend
,在弹出菜单中选择 转换 -> 将 .blend 转换为 .j3o
。
这时将弹出“模型转换”对话框,可以修改转换后生成的文件名,以及文件保存的目录。
现在不需要修改任何内容,直接点击“转换”按钮即可。
结果:
鼠标左键双击 monkey.j3o
文件,可以预览这个模型。点击窗口上方 monkey.j3o
标签中的 x
,可以关闭这个预览窗口。
3D预览窗口的操作说明:
- 前后滑动鼠标滚轮(中键),可以改变摄像机视野;
- 按住鼠标中键(滑轮)不放,左右拖动鼠标,可以改变摄像机视角;
- 按住鼠标中键(滑轮)不放,再按键盘上的
WASD
键,可操作摄像机飞行。
鼠标右键单击 Models
目录,在弹出窗口中选择 新建 -> 新建目录
,创建 Monkey
目录。
把 monkey.j3o
拷贝到 Models/Monkey
目录中。
你可以按 delete
键删掉 Textures/Monkey
中的 .blend 文件和 .j3o 文件。但我建议你先留着 .blend 文件,等确认不需要之后再干掉它。
删掉 Textures/Monkey/monkey.j3o
,重新打开 Models/Monkey/monkey.j3o
之前,最好通过菜单 其他 -> 清空资源缓存
来清除 JMB 中缓存的模型数据。
调整模型属性
JMB可以用来调整 j3o 模型的属性。
双击打开 Models/Monkey/monkey.j3o
模型,在 JMB 右侧的 物体
面板中,将会显示这个 j3o 模型的内部结构。
点击三角形图标可以展开/收起结构树。
与 Blender 中的原始结构比较,会发现几乎是一样的。
节点重命名
鼠标以较慢的速度双击任意节点,节点名称将变成可编辑状态。输入名称后按回车键,重命名即可生效。
这个 j3o 模型的根节点是根据转换之前的路径来命名的,我将其改成了 Models/Monkey/monkey.j3o
。
移除节点
这个模型中的 Lamp
和 Camera
节点,保存了我在 Blender 中的灯光和摄像机数据,对 JME3 程序本身没有什么意义,可以删掉。
右键单击 Lamp
节点,选择 移除
。左键选中节点,然后按 delete
键也能实现同样的操作。
如果你误删了什么数据,按 Ctrl + Z
可以撤销操作。
我删除了 Lamp
和 Camera
节点,并干掉了节点中自带的光源,现在结构是这样的。
编辑节点属性
目前这个模型的节点有4层:Models/Monkey/monkey.j3o
、Scene
、Suzanne
和Suzanne1
。鼠标左键点击任意一个节点,可以查看节点的属性。
注意,最后一个节点 Suzanne1
的图标与前三个不一样,它是JME3中的几何体(Geometry),保存了三角网格和材质数据。
点击材质
节点,可以查看这个模型的材质属性,这些属性是根据 .blend 中的材质转换成的。
还记得我在 Blender 中把猴头的高光硬度
设成了8,并关联了 DiffuseMap 纹理吗?在这里都可以调整。
把高光硬度(Shinniess)
改成 32.0,高光颜色(Specular)
改成白色(#ffffff),“油腻”的猴子头就出现了。
不过我不太喜欢油腻,按两次 Ctrl + Z
撤销这两个操作。
移动节点
鼠标左键选中一个节点或几何体,可以在3D预览窗口中调节它的空间变换:平移、旋转、缩放。
选择一种变换方式,然后用鼠标拖拽箭头即可。
使用任何一种变换操作后,右边的属性面板都会显示结果。例如:平移变换后,将会显示节点现在的位置坐标。
若想把节点恢复到原点处,用鼠标拖拽显然不是一个好主意。可以直接在属性面板中编辑节点的位置,把坐标改成 0.0, 0.0, 0.0
即可。
同理,想让模型绕Y轴旋转90°,可以直接把旋转改成 0.0, 90.0, 0.0
。
不过我并不需要移动猴子头,所以改回了默认值:
- 位置
0.0, 0.0, 0.0
- 缩放
1.0, 1.0, 1.0
- 旋转
0.0, 0.0, 0.0