>本文探讨了飞行模拟的演变,重点是在基于Web的飞行街机中创建现实的大规模地形。
>飞行模拟中的关键发展:
>>本文详细介绍了使用高度图创建3D地形的使用。 黑色代表最低点,白色最高点,灰度表明中间高度。这种简单的方法为飞行街机提供了足够的细节,而更复杂的应用程序可能会利用全彩频谱来获得更高的精度。 高度图由于其紧凑的尺寸和图像操纵软件中的易于编辑而具有比传统多边形网格的优势。 (可用的交互式演示)
> 在Photoshop中创建的飞行街机高度图基于太平洋岛连锁店。 该图像清楚地显示了跑道和村庄的“平坦”区域。
(飞行街机的高度图)> (构图映射到3D网格)
从高度图到3D网状
> babylon.js简化了高度图映像为3D网格的转换。 subdivisions
参数控制细节的水平,从而显着影响顶点计数。 线框纹理有助于可视化高度图到网格的转换过程。
(说明高度图解码和线框纹理应用程序的代码片段省略了,但在原始文章中可用。) 用WebGL着色器增强纹理细节
>使用了大型纹理图像(最初是4096x4096,后来减少到2048x2048),但为了改善细节,尤其是在近距离范围内,实现了自定义着色器。 该着色器将基本纹理与噪声纹理混合在一起,从而创造出更真实的外观。
(着色器应用程序之前和之后)
着色器由用GLSL编写的顶点和碎片着色器组成。 顶点着色器处理标准纹理映射,而碎片着色器则将基础和噪声纹理融合在一起,还基于距离相机距离的雾效应。(省略了顶点和片段着色器的代码片段,但在原始文章中可用。
结论
Flight Arcade演示了高空图和WebGL着色器如何在基于Web的3D环境中创建现实的大规模地形。 这种方法在数据效率和设计工作流程方面具有优势,展示了现代网络技术的力量。 本文还重点介绍了用于学习JavaScript和Web开发的各种Microsoft资源。 一个常见问题解答部分解决了有关飞行模拟器的常见问题。
>
以上是重新构想飞行模拟器:然后的详细内容。更多信息请关注PHP中文网其他相关文章!