游戏中最常见的三维模型 (3D Model) 是由三角形 (Triangle, 用来描绘几何形状) 构成的. 除了物体的几何形状, 三维模型通常还需要保存其它多种信息. 例如材料信息 (Material),纹理坐标 (Texture Coordinate). 对骨骼动画 (Skeletal Animation) 模型来说, 我们还需要保存模型的骨骼结构层次. 一开始就介绍所有这些信息可能会使得初学者难以理解. 我会用一个系列文章由浅入深地介绍游戏中常见的三维模型的格式. 这里就是系列文章的第一篇--简单的三维模型. 游戏中的三维模型主要是由三角形构成的. 以一个立方体为例: 从视觉上, 它由六个面围成. 每个面最少可以由两个三角形构成. 这样, 我们最少可以通过12个三角形描绘出一个立方体的形状. 点 (Point) 是描述三角形的基本方式 (点是构成三维模型的一个基本要素. 具体见"游戏中的基本数学概念--矢量与点"). 在数学中我们通常用三个点来定义三角形的三个顶点(Vertex). 还是以立方体为例. 它由8个点来描述立方体的8个顶点, 它们的序号 (Index) 从0到7. 构成立方体的12个三角形可由这8个顶点的序号来描述. 图一中的三角形T1由<0,1,2> 描述. 这说明, T1的三个顶点是点0, 1, 2. 这种采用序号的描述方式大量地应用在游戏中 (特别是图形模块中). 一方面, 这种方法能节省内存, 另一方面, 它能加快处理速度. 下面我给出图一中立方体的具体描述 (假设立方体的边长为1.0): 那么点1的x,y,z坐标可表示为{0.0, 1.0, 1.0} //由此类推,所有8个点的几何信息可表示为: {1.0, 1.0, 1.0}, {0.0, 1.0, 1.0}, {0.0, 0.0, 1.0}, {1.0, 0.0, 1.0}, {1.0, 1.0, 0.0}, {0.0, 1.0, 0.0}, {0.0, 0.0, 0.0}, {1.0, 0.0, 0.0} //而由上述三角型T1的表达方式,我们也可以得到所有12个三角形的序号表达形式为: {0, 1, 2}, {0, 2, 3}, {0, 4, 5}, {0, 5, 1}, {1, 5, 6}, {1, 6, 2}, {2, 6, 7}, {2, 7, 3}, {3, 7, 4}, {3, 4, 0}, {4, 7, 6}, {4, 6, 5} 下面我们来看一个简单的例子: 当我们需要知道该立方体中第三个三角形的信息时, 先查找序号信息. 我们可得到这个三角形三个顶点的序号 {0, 4, 5}. 再利用这三个序号分别查找顶点信息, 我们就得到了这个三角形的三个顶点的位置: {1.0, 1.0, 1.0}, {1.0, 1.0, 0.0}, {0.0, 1.0, 0.0}. 这样一个三角形的几何位置就确定下来了. 需要指出的是, 这种方法虽然简单, 却非常有用, 它能被用来描述任意复杂的物体. 图二是DirectX 提供的一个人物模型.图三显示了这个人物模型的三角形组成. 从表示方式上来说, 它与前面提到的立方体没有什么不同. 只是它的三角形更多更小, 所以可以描述更细微的信息. 实际上, 大部分的游戏都会用类似的方法来保存和描述三维物体的几何形状. |
- 浏览: 346152 次
- 性别:
- 来自: 北京
最新评论
-
白色蜻蜓:
...
(转载)新浪微博错误提示代码 -
crzdot:
我也是用ultroiso做的mini启用盘,然后再把iso拷到 ...
centos6.4安装 -
k496229870:
...
libgdx学习之Camera -
DiaoCow:
蛮不错的。
redis命令思维导图 -
kingdelee:
HTTPClient完胜?
URLConnection与HttpClient的对比
相关推荐
变压器三维模型,gltf格式,webgl三维模型,three.js三维模型,三维可视化,电力数字孪生模型
《X-47B三维模型与MTL格式详解》 在数字艺术和计算机图形学领域,三维模型是构建虚拟世界的基础。X-47B,全称Northrop Grumman X-47B,是一款由诺斯罗普·格鲁曼公司研发的无人驾驶战斗空中系统(UCAS)的概念验证...
《X-47B三维模型-obj格式深度解析》 在数字时代,三维建模技术在各个领域,尤其是航空、航天、游戏开发和工业设计中扮演着重要角色。本文将聚焦于“X-47B三维模型-obj格式”,探讨其在模型创建、存储和交换中的应用...
Jayanti S, Kalyanaraman Y, Iyer N, et al.Developing an engineering shape benchmark for CAD...美国普渡大学开发的三维模型库,作为三维模型检索的测试用例。每个模型包含.obj,.stl两种格式,包含对应的.jpg图像。
21135-01223B-S3-终版三维模型-20220820.wlkx
CAD三维模型-订书机 一部分,好的就再传下一个
乐白机器人三维模型-LM3.stp
在IT领域,人脸三维模型是一种复杂的技术,它涉及到计算机图形学、人工智能以及音频处理等多个方面的知识。本项目的核心是创建一个能够实时响应并同步语音的三维人脸动画模型,这一技术在游戏开发、虚拟现实、教育、...
适用于开发三维文旅系统的三维唐代墓葬模型,使用三维扫描仪建模,质量非常高。三个不同墓葬的三维模型,有obj和gltf两种格式。适合自己开发三维系统的人,当作Demo来开发,亲测使用Cesium可以正常加载。
"核电小模型-3DMAX.rar"是一个专为核电领域设计的三维模型资源,它包含了核电厂区的关键元素,如冷却塔等设施,为专业人士提供了直观的视觉参考和设计基础。 3DMAX,全称Autodesk 3ds Max,是一款由Autodesk公司...
某个圆形变电站的三维建模模型,glb格式,适用于three.js开发测试,可用来做一些三维室内漫游测试、室内导航测试和三维模拟巡检测试
针对三维模型数据量增大时加载速度降低且浏览不流畅的问题,在分析Cesium模型格式3DTiles的基础上,提出了一种三维模型轻量化技术。将模型中的纹理图片依据材质和模型网格进行合并,实现正确纹理贴图,降低了Draw...
带动画的风电场风力发电机三维模型,gltf格式,适用于风电场三维数字孪生场景的搭建;风电场三维可视化模型;带叶片转动动画的风机三维模型;
在这个环境中,升压站作为风电场的关键设施,其BIM(Building Information Modeling,建筑信息模型)三维模型扮演着至关重要的角色。 BIM技术是一种革命性的建筑设计和施工管理方法,它不仅提供了三维几何视图,还...
水泥搅拌机三维模型_fbx格式_obj格式,三维可视化,数字孪生模型,3D模型
在“Low Poly - Laptop”这个项目中,我们讨论的是一款笔记本电脑的低多边形三维模型。 首先,我们需要了解三维建模的基础知识。三维建模是通过计算机软件创建三维形状和结构的过程。在低多边形建模中,艺术家通常...
水泥搅拌车三维模型_fbx格式_obj格式,三维可视化,数字孪生模型,3D模型
基于深度学习方法的三维模型相似度计算 深度学习技术在计算机视觉和计算机图形学领域的应用非常广泛,其中三维模型识别和相似度计算是重要的研究方向。本文总结了基于深度学习方法的三维模型相似度计算的关键技术点...
三维模型应用于建筑BIM设计参考,三维模型库的建筑信息化模型(BIM)的英文全称是Building Information Modeling,是一个完备的信息模型,能够将工程项目在全生命周期中各个不同阶段的工程信息、过程和资源集成在一...
Blender三维模型——古代房屋模型(Hoi An Ancient House Model) 实验模型官网下载地址:https://www.cgtrader.com/free-3d-models/architectural/architectural-street/hoi-an-ancient-house-model