本文介绍在使用DataV城市三维场景构建器组件过程中,遇到三维模型相关的常见问题。

为什么网上的三维模型那么便宜,买来的三维模型能不能用?

网上购买模型
  • 网上很多售价非常低廉的三维城市模型,通常不是用来渲染三维实时引擎,而是用来离线渲染视频的。这些模型的流通渠道并不正规,所以价格便宜。
  • 这些建模的时候没有考虑实时渲染的场景,通常体积巨大,无法在数字孪生这种实时渲染的场景下使用。
  • 如果要强行优化、轻量化此类模型,成本可能比重建模型还高,因此不建议在网上购买低价三维模型。

为什么其他现成专业三维软件的三维模型不能用?

专业三维模型
  • 三维模型是一个非常宽泛的概念,数字孪生业务场景涉及的模型往往特指某类实时渲染引擎可以使用的三维模型格式。数字孪生三维引擎能支持的三维模型格式只是一部分。
  • 有很专业的行业软件也生成三维模型,比如Revit、ProE等等。此类三维软件往往是用于计算机辅助制造、建筑设计,生成的三维模型体积巨大、构件复杂、数据结构复杂,需要专门的处理才能导出数字孪生三维引擎能使用的格式。
  • BIM模型通常是当做三维空间数据源对待,而不是单纯的三维模型。需要有专门的数据工作流程,将BIM模型处理为轻量化三维展示模型和空间关系数据,再进入三维渲染引擎使用。

为什么不能全程手工建模?

  • 规范的三维模型是需要建设成本的,全程建模的成本异常高。
  • 全程手工建模的模型体量也是异常巨大,渲染引擎一般无法全部渲染。
  • 全程实景建模通常采用倾斜摄影这样更加自动化的智能建模手段。

三维模型主流格式有哪些?

三维模型主流格式有主流三维模型的类型渲染场景分类两大类。

主流三维模型的类型包括以下几种:
  • 手工模型
    模型种类 说明
    通用三维模型(游戏、影视用途) 常规三维建模软件有3dmax、maya和c4d等可以用于产出模型。通常包括丰富细节的几何体和精美的贴图。此类模型是最常见的三维模型,通常不要求与真实世界完全对应,可能在建模过程中具有一定的艺术性夸张效果。这类模型通常格式包括obj、fbx、dae、collada、stl和gltf等等。
    专用三维模型(BIM、CAD等用途) 通常用于建筑、工业等行业的专业模型。比如BIM模型等,特点是包含了非常真实且细节化的几何构件,而且构件都会标注详细的属性数据。此类模型体积通常非常巨大,展示渲染相对不太方便,需要进行格式转换才能被常规三维引擎使用。这类模型通常格式包括dwg和rvt等等。
  • 自动建模模型
    模型种类 说明
    点云 激光扫描生成的模型。特点是可以将真实的物体位置和外观作为模型顶点保存下来;缺陷是模型非常大,而且缺乏模型的语义化分割。这类模型通常格式包括ply和pcd等等。
    倾斜摄影 利用航空光学设备对物体进行多角度拍摄,并进行三维模型重建,将真实场景图片进行贴图。特点是场景还原非常真实,通常模型比较大,而且缺乏模型的语义化分割。这类模型通常格式包括osgb等等。
渲染场景分类包括以下几种:
模型渲染种类 说明
离线渲染 将模型用于影视和动画渲染等视频制作。通常渲染质量非常高,缺陷是渲染时间非常长,渲染单帧需要几分钟甚至几个小时。通用使用maya和blender等三维建模软件进行渲染,主要产出是视频,渲染内容无法进行实时更改。
实时渲染 将模型用于游戏和数字孪生等强交互的三维引擎渲染,用于游戏开发、数字城市等等应用,渲染的内容可以实时调整。

适用于DataV城市三维场景构建器组件的模型格式有哪些?

适用于DataV城市三维场景构建器组件的模型格式当前仅有gltf格式一种。

gltf格式的模型是DataV引擎推荐的模型格式,gltf格式为3D内容的数据格式提供统一的标准,在互联网中方便传输,可在浏览器内高效渲染。

gltf实用工具

如何评价三维模型的质量?

可以从如下两个角度评价三维模型的质量。
  • 艺术角度
    • 美观度:主观上感受是否美观。
    • 设计工作流是否规范。
    • 是否采用规范的PBR工作流进行制作贴图。
    • 几何体构面、法线、uv等是否规范合理。
  • 技术角度
    • 面数是否合理:几何体构面、法线和uv等是否规范合理。
    • 比例是否正确,上方向是否正确:建议按真实世界比例进行建模,Y+为上方向。
    • 必要属性是否完备。
    • 几何体ID:模型与点击交互等识别的数据。
    • 动画ID:具备动画的模型,用于调用特定的动画片段。

常用的三维建模工具有哪些?

常用工具有如下几种:
  • 3d max
  • c4d
  • maya
  • blender

关于三维建模(适用Web三维引擎)的建议有哪些?

  • 尽量使用blender进行建模。
  • 建模比例需要与真实世界1:1。
  • 单个模型尽量控制面数在10000以内。
  • 导出模型为gltf格式。
  • 用gltfviewer验证gltf模型正确之后再导入DataV引擎中。