创建城市天际线模型的过程可以分为以下几个步骤:
准备地图底板
地图底板提供了一个稳定的视觉参考,帮助玩家理解城市的布局和地形特征。底板可以是矢量、栅格或图片格式。在Mapmost SDK for WebGL中,可以通过以下代码添加天空盒:
```json
{
"sky-url": "./sources/CubeRT_Capture_Tex_2048.png",
"sky-angle": 0,
"sky-exposure": 1,
"sky-opacity": ["interpolate", ["linear"], ["zoom"], 0, 0, 5, 0.3, 8, 1],
"sky-type": "atmosphere",
"sky-atm2725700614292, 110.95561210040023],
"sky-atmosphere-sun-intensity": 5
}
```
添加城市模型
构建城市模型是实现《城市:天际线》风格场景的核心。通过创建丰富多样的建筑物、道路和公共设施,可以让玩家体验到真实的城市生活。模型的细节和比例需要与地图底板和天空盒相协调,以确保整体场景的和谐性。在场景中添加城市模型的示例代码如下:
```javascript
let models_obj1 = ["newDM2_5"].map(item => ({ type: 'glb', url: item }));
```
准备贴图
贴图包括法线贴图(RGB)、凹凸贴图(_n)、镜面反射贴图(_s)等。这些贴图对于增加模型的真实感和细节非常重要。例如,白色区域表示贴图的这个区域完全反射,黑色则完全不反射,这对于任何有玻璃或者高反光金属的建筑区域都是必须的。
导入模型和贴图
在游戏引擎中,通常有一个资产编辑器可以用来导入模型和贴图。需要确保模型的大小符合游戏的要求。例如,对于小型建筑物,可以使用1024x1024的贴图;对于大型建筑,可以使用2048x1024或2048x2048的贴图。
绘制需要镜面反射的区域
打开漫反射贴图,开始绘制需要镜面反射的区域。把需要有反射效果的地方都用白色涂上(一般只有窗户),不需要反射的地方涂上纯黑色。
调整反射效果
一般情况下,我不喜欢游戏自带的百分之百镜面反射,那样反而显得窗户的反射太假。因此,可以使用200的白色而不是255的白色来调整反射效果。
通过以上步骤,你可以创建一个协调且富有细节的城市天际线模型。建议在实际制作过程中,多尝试不同的模型和贴图组合,以达到最佳的效果。