3.1 城市与建筑

来自Infinitipedia
跳到导航 跳到搜索
Bbsm.png 小提醒:假如你需要更多资讯,可以参考此页面的中英对照版本
上一页
下一页

3.1 简述

a) 一般建筑

城市建模背后的设计思路是先手动设计一些不同的基础模型,然后用由程序按照以下顺序生成城市模型:

  • 生成城市的基本形状和风格(程序自动生成)。
  • 生成城市街道及地形(程序自动生成)。
  • 程序根据基础模型(基础模型手动设计并且会进行艺术加工)生成大量的巨型建筑的主体部分。
  • 把程序生成的大量建筑物(程序生成的建筑通常都非常简单)添加到城市中。

所以我们仅仅只要设计出大量的不同风格的“基本建筑模型”,程序就可以根据事先定义好的运算法则组合出建筑物,并且决定它们应该位于什么地方。

一般程序组合出的建筑物会被拿到相同的或不同的城市里复制多次。程序生成的建筑都是标准化的样式。具体的标准如下:

  • 建筑物都有一个或多个建筑地基模块(处于建筑物的底部)。地基模块标记为:B1、B2、B3……
  • 建筑物都有许多的建筑层模块(处于建筑物的中间)。分别标记为:F1、F2、F3……
  • 建筑物都有一个或多个建筑顶模块(处于建筑物的顶部)。分别标记为R1、R2、R3……
  • 最后,每个建筑物都有可以和其他模型连接的接口模块。分别标记为O1、O2、O3……

建立建筑模型时,程序的运算法则会先选一个建筑地基模块。然后搭上若干个建筑层模块,最后在建筑物的顶部添加一个建筑顶模块以结束建模。除此之外,你可以通过接口模块来添加一些其他模型(例如:建筑物的侧楼)。

作为一个建筑设计师(或建模者),你必须把这些积木式模块都设计成一个独立的模型,并且要提供这些模块的连接规则。对于每一个模块你都必须仔细说明它可以和哪些模块连接。举一个简单的例子:

我们假设一个建筑有2个建筑地基模块(B1和B2),3个建筑层模块(F1、F2、F3),2个建筑顶模块(R1、R2)和一个接口模块(O1),连接规则为:

  • B1:F1,F2
  • B2:F1,F3
  • F1[O1]:F1,F2,R1
  • F2:F2,F3,R2
  • F3:F3,R1,R2
  • R1:无
  • R2:无

根据连接规则,可以连接成如下建筑:

  • B1,F1, F2, F1, R1
  • B2,F1,F1 [O1],F2,F3,R2
  • B1, F2, F3, F3, F3, F3, R1

但不能连接成如下建筑:

  • B1,F3,F3,R1:F3不能连接B1
  • B2,F1[O1],F1,F1[O1],R2R2不能连接F1
  • F1,F1,R2这个连接顺序是对的,但是没有以建筑地基模块开始
  • B1,F1,F1[O1],F2:这个连接也是对的,但是没有以建筑顶模块结束

b) 特殊建筑

特殊建筑或城市的基础性建筑物不同与一般建筑,它们将是独一无二的,你不可能见到两个一样的特殊建筑物。这些建筑通常有特殊的功能,例如:工厂、starports(飞机场?)、大财团公司或政府办公室。特殊建筑在每个城市里都寥寥无几,这意味着我们可以为特殊建筑提供更多的系统资源。特殊建筑可能有是以一定的运算法则组合起来的也可能毫无规律(特殊建筑的运算法则和一般建筑的运算法则是一样的)

c) 标志性建筑

标志性建筑在整个游戏里都是独一无二的。它们比特殊建筑更稀少,只存在于主要的中心城市。标志性建筑都有特殊的形状,很容易辨认,并且无法仿照。每一个主要城市都有一二个标志建筑,它们都有特殊的纪念意义,或者是城市的特别建筑。例如:在地球上,你可以发现巴黎艾菲尔铁塔、金字塔、帝国大厦等。和特殊建筑一样,标志性建筑有的是由程序根据运算法则建立的,有的是完全手动建立的。但是标志性建筑相对于特殊建筑和一般建筑有更多的多边形。

d) 建筑类型

在一个典型的城市中会存在以下几个一般建筑或者特殊的建筑:

  • 摩天大楼、居民公寓:民用建筑一般都比较长,并且是垂直的,高度适中。如果你要建立一个由程序生成的一般行建筑物,通常不用为它的高度花费太大的精力。因为它的高度主要由建筑层模块的数量决定的,只要建筑地基模块+建筑顶模块的高度不是太大。最高建筑物的高度都在千米这个数量级上。
  • 军用建筑。
  • 政府建筑。
  • 公司办公室。
  • Starport(星球停靠港)
  • 工厂、制造厂
  • 农场
  • 采矿厂、精炼厂
  • 等……这些并不是一张完整的清单。

注意1:建造建筑物时不要过度追求视觉效果——建筑物的程序运算法则比飞船的运算法则来的简单,虽然它有更大的灵活性。在游戏里将会有数百种的人造模型和资源,我们不想不使一个程序生成的工厂建筑物和另一个看起来有点相象。

注意2:有些建筑物是不合适建在城市里的。例如:工厂、农场、采矿厂,等。它们一般建在“旷野上”。

e) 底部地基

为了更方便的绘制城市地形图,我们假设所有的建筑都处在一个平面区块上,这个平面模型叫“底部地基”。这个地基是正方型的,并且大小是2的平方(例如:16m、32m、64m、128m、256m、等)。底部地基上并不是全部地方都要添加上建筑细节。我们实际上只在一些特殊的地基上添加(也可以用程序来自动添加),地基有的可以添加一些特别的地面细节(例如:街道、街灯、树木、喷泉等)。如果你想要,这些细节你都可以用模型建立起来。

但是你必须保证你的建筑能和底部地基紧密地结合起来(为了这个目标有时候可能会浪费一些面积,例如:建筑物的建筑底部大小是35 x 35,我们就不得不用一块大小是64 x 64的底部地基来放置这个建筑物,这意味着在建筑物的每边上有15米的空面积)

f) 圆顶

有些城市会被一个巨大的圆顶所笼罩(特别是这个城市处在非常恶劣的自然环境自下或则周围没有大气)。每个圆顶都是由一个处在正中心的柱壮物和几个供坐支撑起来的。城市的出入口可以处在圆盖的底部(圆盖旁边的一个洞),或者在圆顶的顶部(处于圆顶顶部的正中央)。一个城市当然也可能由许多个大小型号不一的圆顶通过盖上的出入隧道连接而成的。

下面是一个大小是10km x 10km x 2km的圆顶:

I71.png

图7:一个城市圆盖:直径:10km,高:2km

g) 运输系统

暂缺待补

上一页
下一页