第二章:制作3D测试模型

为了演示如何转换j3o,我需要制作一个3D模型。在后续的文章中,我会用它来演示如何使用资产文件。

编辑网格

打开 Blender,按 ESC 可以关掉中央那个启动画面。

场景中默认有一个方块,我不需要它。用鼠标右键选中方块,按 X 键,然后点删除。

Shift + A 键,在弹出菜单中选择 网格 -> 猴头

我想要的就是这个猴头,按 Ctrl + S 键保存它。

在弹出窗口中,选择保存目录为 F:\Modeling\,并输入文件名 monkey.blend,点击 “保存工程文件”。

现在我有了 F:\Modeling\monkey.blend 文件。在后面的步骤中,我会习惯性地按 Ctrl+S 保存阶段成果,避免因死机、停电、车祸、雷暴、地震、海啸、孩子哭闹等原因导致的作品丢失。

纹理绘制

继续编辑这个猴头,给它涂色。

将 Blender 的工作模式从 物体模式(Object mode) 改成 编辑模式(Edit mode)

此时猴头“变黄了”,这其实是网格的顶点被全选了。如果你的猴头不是这样,就按 A 键全选。(再按一下 A 键可以取消全选。)

将 Blender 的工作视图从 Default 切换成 UV Editing ,准备进行纹理展开、上色等操作。

在右侧的 编辑模式 下,先全选顶点,然后按 U 键,选择 智能UV投射

弹出了 智能UV投射 的配置窗口,直接点确定即可。左侧窗口将出现猴头展开后的顶点结构。

点击左下方菜单中的“新建”按钮,将弹出创建图像窗口。输入文件名为 DiffuseMap,并把分辨率改成高 512px 宽 512px,然后点击确定。

左下选择图像绘制模式,右下选择 纹理绘制模式。右上选择 选显卡,然后把 绘制模式(Paint Mode) 改成“图像”,并把 画布图像(Canvas Image) 换成我们创建的“DiffuseMap”。

你会看到猴头变成了漆黑一团,这是因为对应的纹理上只有纯黑色。你可以更改左侧的底色模式,把单色图换成UV栅格图彩色栅格图,用来帮助你观察纹理映射关系。

在右上选择“工具”选显卡,然后可以把选择画笔样式、颜色、半径、力度等参数,并在模型上直接绘图了。

如果在模型上不好画,可以先随便涂几笔,权当做个标记,然后在左边的纹理中继续上色。

按住鼠标中键,可以调节摄像机视角,给猴头背面上色。

剩下的就看美术能力了,我把它涂成了这样。

画完之后,在左下菜单中选择 图像 -> 保存为图像,把这个纹理保存为 DiffuseMap.png 文件,与 monkey.blend 文件放在同一目录下。

别忘了 Ctrl + S 同时保存 monkey.blend 文件。

将 Blender 从 UV Editing 视图切换回 Defualt 视图。在下方菜单中把工作模式改为 物体模式(Object Mode),着色方式改为 纹理

这样就可以预览模型效果了。

修饰细节

可以看到,这个猴头基本上都是由四边形组成的,而JME3游戏引擎只支持三角形网格,因此需要对这个模型做一点修饰。

在物体模式下,点击右侧面板中的“扳手”,并在“添加修改器”选项中,选择“三角形(Triangulate)”。

点击“应用”后,这个修饰器将把Blender中的多边形网格拆解成三角形网格。

在左侧“工具”选项卡中,将着色方式改成“光滑”。

“光滑着色”将为模型生成顶点法线,让表面看起来比较平滑。

应用材质

在右侧面板中,点击“纹理”图标,然后新建一个纹理。

将纹理的ID改为"DiffuseMap",便于待会在材质中引用。然后点击"打开",选择我们刚才保存的 DiffuseMap.png 文件。

接着在右侧面板中,点击“材质”图标,新建一个材质。

新建的材质名为 Material,可以改成你喜欢的,也可以不管它。注意右侧的材质类型,把 数据 改成 物体,将其关联到的猴头模型上。

切换成 物体 类型后,材质对象不见了。点击 "新建" 左边的图标,选择刚才创建的材质。

生成物体材质后,切换到“纹理”面板,把 "DiffuseMap" 纹理关联到这个材质中。

现在把显示模式从 “纹理” 改成 “材质”,可以看到这个材质的实际效果。

眼睛的位置不太对。这是因为没有正确应用纹理坐标(UV)。

在右侧面板中,将映射坐标改成 UV

改完之后,看起来就正常了。

现在这个猴头看起来太“油腻”了,切换到“材质”面板,调整一下它的属性:

  • 漫射强度调整成 1.0
  • 高光强度调成 0.01
  • 高光硬度调成 8

现在看起来就好多了。

最后,别忘了 Ctrl + S 保存。

最好把 monkey.blendDiffuseMap.png 放在一个单独的文件夹中。

OK,成了。

comments powered by Disqus