3D建模+漫游
1.技术选型
通用的3D场景和动画,可以选择Three.js;
如果您需要处理和可视化地理数据,特别是地球模型和地理可视化,可以选择Cesium.js。
2.three.js
Three.js 是一款 webGL 框架,在任何兼容的 Web 浏览器中呈现交互式 3D 和 2D 图形,可以在其中进行矩阵、投影和矢量运算;创建和显示3D图形。
图形工具关系图如下:
3.建模
必须是互动建模的模型师(游戏行业优先,次时代方式的不行),懂得Mesh如何布线,如何展UV,以及如何控制动画,最好是用maya进行建模的,如果不是必须要会使用 Unity3d编辑器那套流程
- GIS建模:不精细,gis信息落后,模型也会落后。适合大范围的智慧城市(可以贴图)。
- 倾斜摄影(无人机建模):受拍摄角度影响(拍摄不到的显示不全),1平方km,2-3周
- 手工建模:
- BIM建模(需要提供BIM图纸),web端Bim模型的很多特点体现不出来
- 可以CAD建模(需要提供CAD图纸)
- 场景照片建模
3.1 UE4与Unity3D
UE4主要用于主机游戏和大型PC游戏开发,其写实风格更适合开发大型的、真实感较强的游戏。Unity3D则更注重跨平台的游戏开发,适合开发2D、3D、VR等多种类型的游戏。
模型是使用三维建模软件创建,如Blender/Maya/3D Max、特殊行业项目可能涉及到行业软件,比如机械相关(SW、UG)等,建筑相关(草图大师、revit)。
最好是用maya进行建模的,如果不是必须要会使用 Unity3d编辑器那套流程
3.2 模型加载
加载:在three.js中加载3D模型是使用Loader类完成的。Loader类有多个子类,分别用于加载不同的3D文件格式,比如JSON、OBJ和FBX, GLTF格式,等。这些子类都有一个load()方法,可以传入模型文件的路径和回调函数。回调函数中的参数是加载后得到的Mesh对象,可以直接添加到场景中进行显示。
除了直接加载外,three.js还支持导入3D模型的场景。场景可以使用Blender等三维建模软件创建,并导出成JSON或其他格式进行加载。导入场景也使用Loader类的子类完成,如SceneLoader和ObjectLoader等。
资料:Three.js–》建模软件如何加载外部3D模型?_threejs 对3d模型进行操作-CSDN博客
GitHub - day-day-dreamer/threejs-learning: threejs+vue3实现数字孪生园区展示
- OBJ:这是一个非常普遍的3D模型格式,可以包含多种类型的数据,如
顶点
、面
、纹理坐标
和法线
。OBJ文件通常用于交换数据,因为它们可以被多种3D软件读取和编辑。 - FBX:Filmbox格式(FBX)是一个多功能的3D文件格式,广泛用于游戏开发和电影制作。它支持复杂的模型数据,包括
动画
、骨骼
、纹理
等。 - BLEND:Blender的原生文件格式,Blender是一个开源的3D创建套件,支持全面的3D建模、动画、模拟等功能。
- GLTF和GLB:GL Transmission Format(GLTF)是一种用于3D场景和模型的
高效
、跨平台
的文件格式。它旨在为Web
和移动设备
提供高性能的3D内容。 - 3DS:3D Studio Max的原生格式,虽然主要用于
Max软件
,但也可以被其他3D软件导入和使用。
https://gitee.com/wei_feng_qin/wantonly-drag-open