Away3D 3D 场景渲染与管理全解析
1. 3D 坐标系统与向量表示
在 3D 空间中,向量通常用于表示点的位置,一般写成 (X, Y, Z) 的形式,即按字母顺序排列的三个值,用逗号分隔并括在括号内。这个向量对应着点在各自坐标轴上的位置。
2. 渲染过程
渲染过程是将场景中的对象准备好以便在视图中可视化的一系列操作,主要包括裁剪、Z 排序和透视投影。
- 裁剪(Clipping) :裁剪确保只有视图内可见的对象才会被考虑进行渲染。简单的判断方法是查看投影向量相对于视图边缘(由视口边缘或 Flash 电影边缘定义)的位置。如果向量落在视图的裁剪区域之外,在渲染过程开始前会被标记为移除。这样可以大大减少渲染视图所需的绘图操作和处理量。
- Z 排序(Z sorting) :Z 排序用于计算对象绘制到屏幕上的顺序。在现实生活中,离我们近的物体通常会出现在离我们远的物体前面。在 3D 引擎中,每一帧都需要计算这种重叠顺序,以确保视图中显示的 3D 对象看起来自然。通过使用场景中每个点的投影 3D 向量的 Z 坐标,我们可以将所有 3D 对象按 Z 值排序。为了在视图中正确显示场景,我们采用画家算法,即从后往前(Z 值从大到小)绘制对象列表。从 Flash 10 开始,原生显示对象基于 3D 坐标系定位,但缺少自动 Z 排序功能,这可能导致显示对象的重叠不自然。而 Away3D 会自动对场景中的对象执行 Z 排序,确保所有 3D 对象正确渲染到视图中。
- 透视投影(Perspective Projection) :透视投影是将场景中 3
超级会员免费看
订阅专栏 解锁全文
48

被折叠的 条评论
为什么被折叠?



