在某些使用场景中,SuperMap iClient3D for WebGL/WebGPU 需要加载一些带有动画的三维模型来展示特殊场景效果,而三维建模软件众多且模型格式纷纭,格式上的不统一给载入模型带来麻烦。
另一方面这些模型通常还包含了场景、灯光、摄像机等冗杂信息,这将大大降低模型载入效率和显示性能。
glTF是由khronos组织定义的一种文本交换格式,它可减少3D模型中与渲染无关的冗余内容,并且充分支持OpenGL,WebGL,OpenGL ES图形加速标准,glTF格式具有利于网络传输的特性,而广泛适用于在互联网和移动设备上展现三维模型。
如何实现在SuperMap iClient3D for WebGL/WebGPU中导入glTF三维模型。本文从以下几个方面进行说明:
下面以导入一个带有动画的塔吊模型为示例进行说明。
此步骤需要通过 3ds MAX 软件将*.max的模型导出为DAE格式,DAE文件格式是3D交互文件格式,一般用于多个图形程序之间交换数据。
3ds MAX在导出时所提供的DAE格式选项为Autodesk Collada (*.DAE),使用该格式模型贴图将不能正常导出,我们需要使用OpenCOLLADA (*.DAE)格式导出,因此请下载适应于3ds MAX的DAE输出插件。
本示例所使用的插件为:COLLADAMax.dle.exe(提取码:fs72)
1.1操作步骤
(1)安装第三方插件:下载插件后,将插件文件存放于3ds MAX安装目录下的plugins文件夹。
(2)重启 3ds MAX,打开原始三维模型,选择导出|Export,选择文件存放路径、输入文件名称,保存类型选择OpenCOLLADA(*.DAE)格式。
(3)点击保存,弹出OpenCOLLADA Export对话框,勾选copy Images,点击OK。
1.2操作结果
导出DAE模型操作完成后,DAE格式的模型将存放于目标路径下,其中还包括了一个images的文件夹,此文件夹存放着模型的纹理图片。
2.1使用说明
导出DAE格式的模型后,在此操作中将使用转换工具(colladaTogltf.exe)将模型由DAE格式转为gltf格式。
2.2转换工具操作步骤
(1)Win+R打开 运行 对话框,输入 cmd 并回车,打开命令行窗口。
(2)在命令行窗口中,进入到转换工具colladaTogltf.exe所在的文件夹,即输入: cd exePath 。
(3)输入命令行,命令格式为:collada2gltf.exe –f daePath -e
(4)按下回车即可进行格式转换。
2.2转换工具操作结果
转换完成后glTF模型与DAE模型存放在同一文件夹下。值得注意的是,glTF格式模型的数据量大幅度降低,这将有利于提高加载模型的速度。
SuperMap iClient3D for WebGL/WebGPU 可通过KML文件直接加载*.gltf格式的三维模型。
3.1操作步骤
(1)将转换后的*.gltf格式的三维模型存放到服务器资源文件夹下,地址: SuperMap iServer_HOME /webapps/ 产品包 /examples/webgl/SampleData/models
(2)进入 SuperMap iClient3D for WebGL/WebGPU 产品包存放路径(SuperMap iServer_HOME/webapps),在examples/webgl/SampleData文件夹下,以文本方式打开crane.kml文件,修改KML文件中模型的存放地址。
(3)以localhost方式运行网页
如有疑问,请参考范例:KML导入模型(塔吊)