【Stage3D学习笔记续】真正的3D世界(二):显示模型

时间:2022-01-28 10:47:13

虽然我们进入真3D世界了,但是上一章的Demo仍然是显示的一个平面,尽管我们的平面在3D空间中旋转可以看出一点3D透视的效果,但是既然是真3D,就要拿出点3D的样子来!

如果要显示3D模型,我们就要告别直接使用代码编写顶点数据的时代了,想想上一节,平面的四边形手写顶点或许还过得去,但是如果手写一个立方体的8个顶点数据就有点难了吧,如果是显示更加复杂的形状呢?

要显示一个3D模型,就需要一个特定格式的3D模型文件,3D模型文件一般使用3D建模工具创建,美术完成建模后会将模型导出为特定格式的3D模型数据文件,常见的格式有obj、md2、md5和dae等,当然更多情况下是自定义的二进制格式(尺寸更小解析更快,但牺牲了可读性和通用性)。

对于特定的格式的文件,我们需要编写特定的解析类来进行解析,将文件中的数据解析为我们可以直接使用的顶点数据。

我们使用书中提供的解析obj数据文件的ObjParser类,使用该类,在解析obj文件后可以通过特定的方法直接获取文件中定义的顶点位置、uv等数据。

ObjParser类

在获取模型文件中的数据之后,就可以将其绘制到3D舞台上了,绘制方法和上一节一直,下面就直接上Demo了:

代码