打开主菜单

Ballance Wiki β

网格

BallanceBug讨论 | 贡献2020年7月14日 (二) 08:53的版本
(差异) ←上一版本 | 最后版本 (差异) | 下一版本→ (差异)

网格 (Mesh) 是决定物件形状(包括材质贴图等)的元素。

3D建模中,3D物件自身和网格实际上是分离的:3D物件只存储物件的位置、旋转角度、缩放量,而网格实际上才是决定了物件形状的元素。如果将一个物件的网格删除,该物件的形状亦将消失,虽然物体自身仍然存在,但已经处在不可见状态。而如果多个物体共用网格,改变网格则会导致这些物体形状均发生相同的变化。

Virtools 内,可以通过在物体上右键查看物体的网格,也可以通过 3D Object Setup 内显示的网格列表查看网格。后者将会显示一个网格列表,可以在其上右键以增加或删除物体所使用的网格。如果一个物体存在多个网格,则仅有第一个网格会被实际应用。

3ds Max 中,物体的网格不会直接显示在列表中,但如果以“实例”方式克隆物体,则克隆产生的物体与原物体将会有相同的网格。

Blender 和 3ds Max 中,网格均可以通过进入物体的编辑模式进行修改。

在Virtools中,网格由顶点坐标、顶点法向量、顶点贴图坐标以及面顶点序进行描述。Virtools中支持良好的(也就是Ballance制图中默认使用的)是三角面。并且Virtools中的顶点法向量、顶点贴图坐标比较特殊,它不允许一个顶点在不同的面上具有不同的顶点法向量和顶点贴图坐标(也就是一个顶点只能有唯一的顶点法向量和顶点贴图坐标被面来使用),这种行为的后果就是一些原本只需要一个顶点即可描述清楚的物体,Virtools需要根据这个共用顶点的面的材质和引用的顶点贴图坐标来拆分顶点,这增加了网格的顶点个数,也增加了存储体积。同理,这也造成了原先的 vt2obj 工具使用时产生的大量翻面现象,原有的面的法线被翻转,导致面自身被翻转到背面。

例如Ballance中的路面边缘的顶点,由于路面顶面和侧面的材质不同,Virtools在处理这样的网格时,边框上的顶点实际上被根据材质而拆分,被不同的面进行引用。