如何构建WebGL场景中的地面模型?

摘要:总述:大部分3D编程都涉及到地面元素,在场景中我们使用地面作为其他物体的承载基础,同时也用地面限制场景使用者的移动范围,还可以通过设置地块的属性为场景的不同位置设置对应的计算规则。本文在WebGL平台上借助Babylon.js库探索并实现了
总述: 大部分3D编程都涉及到地面元素,在场景中我们使用地面作为其他物体的承载基础,同时也用地面限制场景使用者的移动范围,还可以通过设置地块的属性为场景的不同位置设置对应的计算规则。本文在WebGL平台上借助Babylon.js库探索并实现了两种地面构造方法,除了两种确定的构造方法外,本文还包含了对一些其他选择的探讨和一些对电子游戏艺术的看法。建议在阅读本文前,先学习3D编程入门知识和Babylon.js的官方入门教程,前者可以在 https://space.bilibili.com/25346426/channel/detail?cid=14552找到一些介绍基础概念的视频教程,后者可以在https://github.com/ljzc002/ljzc002.github.io/tree/master/BABYLON101找到英中对照版本,本篇文章所用到的代码可以在https://github.com/ljzc002/ljzc002.github.io/tree/master/EmptyTalk下载。 一、方法一——使用标准地块拼装构造地面 1、我们先制作5种标准地块: 标准地块都是边长为1的正方体,每一种标准地块使用对应的纹理表示特定的地貌,我们可以用这些标准地块的复制体拼接成复杂的地面构造。在本文中我使用正方体作为标准地块,垂直排布的生成地形,你也可以使用六棱柱等其他形状作为标准地块,或者将地块绕y轴旋转一些角度后进行排布。
阅读全文