本指南面向希望不只是游玩游戏,而是用游戏重建自己“真实”城市的高级玩家。内容涵盖获取必要数据、准备地图、创建自定义建筑(资产)以及填充城市地图内容等主题。我还会介绍每一步所使用的模组,指出注意事项并提供获取最佳效果的技巧。 假设读者熟悉游戏及其机制,了解模组的基础知识(例如如何启用模组)和Steam创意工坊,该工坊为游戏提供模组及更多所需内容。同时,还需具备基本的图像编辑技能和知识。关于创建自定义建筑,需具备Trimble SketchUp的基础知识。本指南的优势在于不会涵盖该软件的完整用法,仅介绍一些基础知识以及创建【城市:天际线】资产时的特定方面。 请注意,随着我获得更多经验、了解到更好的工具/模组和工作流程,我打算对本指南进行完善或扩展,但就目前而言,指南中已包含的部分可视为完整且经过测试的内容。 致谢 本指南的完成离不开其他用户和模组制作者的贡献,他们在我之前完成了大部分工作,发现了我所描述的步骤,创建了我推荐的模组等等。本教程中只有部分内容是基于我自己的测试和经验。我特别想感谢: zordork4,他的《城市:天际线》新手资产创建指南是我关于自定义建筑章节的基础。 Aaron Cheng,他的谷歌地图定制器。 BloodyPenguin,他制作了许多优秀且实用的模组。 GCVos、Lazarus*Man、Positivity和BadPeanut,他们的网络扩展2模组。 princekolt,他的叠加层模组。 Blackwolf(Frdm920)和Jerenable,他们改进的电车轨道。 以及其他可能被我遗忘的人…… 初步考虑 首先,你可能会想,你选择的城市是否是一个好选择,是否容易或完全可以在《城市:天际线》中重建。 我相信几乎每个符合游戏地图(最大)的城市可以模拟约17x17公里的区域,但结果在逼真度方面会有不同程度的妥协。陡峭的斜坡可能会带来额外挑战,缺乏至少一条中等规模的河流也是如此。如果你的城市包含与游戏、插件或至少一些创意工坊资产中的建筑完全不同的建筑,那么创建所需的自定义建筑将需要极大的努力。此外,正如我们将看到的,只有狭窄道路和小巷的中世纪城市也会带来额外挑战。但在接受妥协的情况下,任何城市都可以作为原型。 然而,如果你打算完整模拟洛杉矶、巴黎、莫斯科或北京,最好放弃这个想法。这样的城市既无法完整地呈现在游戏地图上(除非大幅缩小比例),也难以被如今的显卡处理如此庞大数量的建筑。或许你可以尝试制作其中一个城市区域的模型? 要创建用于建造城市的基础地图,需要特定的数据。首先,我们需要一张具有足够分辨率和质量的高度图,也称为数字高程模型(DEM)。当然,为了能在游戏地图上正确放置城市的所有元素,我们还需要一张真实城市的地图或正射影像图/卫星图像。 了解游戏内的尺寸至关重要: 一个网格单元为8x8米。 一个城市地图区块为240x240单位,因此尺寸为1920米x1920米。《城市:天际线》的地图共有9x9(即81)个这样的地图区块,但默认情况下只能购买中心25个区块中的9个。这意味着《城市:天际线》地图的总面积为17280米×17280米。 获取地图数据 获取高程模型 如果您没有其他来源的数字高程模型,例如当地或国家的土地测量办公室提供的模型,那么您会很高兴知道有一种非常简单的方法可以获取我们所需的免费高程数据。网站“terrain.party”就非常简单:打开terrain.party在你选择的浏览器中打开派对模式。 使用鼠标滚轮(或 +/- 按钮)缩小地图,导航至要建模的城镇,在 Windows 系统上可通过鼠标中键拖动地图,然后尽可能放大,直到你能在地图中央清晰看到你的城市或城镇。 点击右上角带有云图标的下载按钮。这将提示你更新所选区域,你应选择进行更新。 如果出现命名提示,暂时取消该操作,因为我们希望在导出前微调选择范围。现在你会在地图上看到一个紫色方块,表示游戏的地图区域。可以拖动该方块至首选的地图区域。记住在游戏中该区域宽度为17280米,但此网页允许你导出更小或更大的地图区域,以便获取缩放地图。你可以使用右侧的【+】和【-】按钮调整导出区域。网页中间会显示当前尺寸,默认是18千米。 调整好位置和尺寸后,再次点击带有云朵图标的【下载】按钮。当提示输入名称时,确保避免使用特殊字符,因为它们之后可能无法在文件名中正确显示。 随后会开始下载一个压缩包。该压缩包包含多个来自不同免费可用来源的高度图,以及一个【组合】高程模型,该模型对所选地图内的每个区域都使用了所有来源中最详细的数据。选择要使用的数据集后,将此文件复制到%localappdata%\Colossal Order\Cities_Skylines\Addons\MapEditor\Heightmaps


重要说明 调整导出区域时,你会看到中央的25个区块被突出显示。这是在未安装模组的游戏中,玩家可以购买区块的区域。该区域外的区块存在一些限制,尤其是最外侧的区块,其外边缘会出现一些雾效,隧道也无法正确渲染,还会有类似的故障。尽量将你的城市或城镇规划在中央5x5的区域内……但由于你可能会使用81区块模组,至少要尽量保持在7x7的范围内。 另外,你之后会注意到,游戏中的道路比现实中的典型道路要宽,至少在中欧是这样。为了避免在市中心(尤其是老城区)的道路上浪费过多空间,建议导出一个比实际比例稍大的地形模型。我选择了一块16x16公里的区域来对应游戏中约17.2x17.2公里的区域,这样我就有了一些额外的空间。如果你想模拟一个大城市,并且只关注大致的城市布局(而非比例),你可以自由选择任何尺寸。但不要期望在这样的布局中容纳真实数量的建筑物。 在欧洲,你很可能会在你的数据档案中找到【ASTER 30m】、【SRTM3 v4.1】和【SRTM30 Plus】的高程数据(此处按分辨率从高到低列出)。尽管你可能会因为【ASTER】数据看起来更详细而想要使用它,但我发现该数据在细节上并不可靠。特别是在平坦区域,它也包含许多高达10米的、现实中并不存在的凸起和凹陷。森林和大型建筑物可能会出现在这种高度图中——这并非我们所期望的。你可以稍后在地图编辑器中修正所有这些问题,但这是一项繁琐的手动工作。你或许更适合使用更平滑的SRTM3 v4.1数据。它可能缺少一些细节,但能为你节省大量时间。而且对于《城市:天际线》来说,平滑的地形无论如何都更好。 压缩包中包含一个自述文件,如果你感兴趣,可以了解更多关于数据源的信息。请注意,高度图以“普通”PNG文件的形式提供,可在任何图像查看器中查看。 注意:默认情况下,如果你导入此地形,中午时太阳会在北方。要解决此问题,请将图像旋转180度! 获取叠加图像 为了在地图上正确放置树木、道路、建筑物等,我们还需要一些视觉参考。有些模组可以将图片叠加到地图上。无论你使用哪款模组,首先都需要准备好图片。图片的覆盖范围应大致与高程模型相同。 获取此类图片最简单的方法是通过其他网站,即谷歌地图定制器,配合一款能截取超出显示范围网页完整截图的浏览器插件。 以下是具体步骤: 1. 安装一款能保存整个网页截图的浏览器插件。对于Mozilla Firefox和Chrome浏览器,“Fireshot”插件效果不错,其他常见桌面浏览器也有类似插件。 2. 打开谷歌地图定制器网页。 3. 首先确定你要导出的是地图还是卫星照片。前者为你提供更结构化但有限的信息,这些信息可根据你的需求进行自定义;而后者会显示所有内容(从植被、街道到建筑物),没有任何概括,但对于不熟练的人来说可能更难“读懂”。我个人更喜欢使用正射影像图。使用左上角的按钮可在两者之间切换。 导航到你的城市。由于没有搜索功能,最简单的方法还是缩小地图(滚动鼠标滚轮),然后拖动地图以显示所需区域,再放大到你的城市。如果使用卫星地图,你必须熟悉你所在区域的俯视图,才能从太空中找到你的城镇。 一旦你的城镇位于中心位置,设置你想要的覆盖图像大小。我使用了一张5500x5500像素的图片,但这取决于图像处理软件和你的电脑性能。像【OverLayer v2】这样的模组可以处理超大图片,但加载此类图片可能需要几秒钟(真的只有几秒钟!),而且你需要提前准备好图片。不妨试试看。 当你点击“设置尺寸”后,网页会变得非常大,你必须使用滚动条来平移浏览。现在要确保网页区域大致覆盖与你的高程模型相同的区域。 完成后,关闭所有侧边栏并截取全屏截图。平移和拼接完成后,插件会允许你将创建的完整截图下载为图片文件(PNG格式)。 使用图像处理软件制作半透明的PNG版本,即设置为50%透明度(或类似数值)。一种方法是导入图像,创建一个大小相同的全新完全透明图像,将图像图层粘贴进去,并将其图层不透明度/透明度设置为50%。如有必要,将此图像旋转180°以适应地形!


地图编辑器模组 在接下来的部分中,我们将使用地图编辑器创建地图,该地图稍后将作为建造城市的基础。我们将使用高程模型和叠加层来添加地形、基本植被、水域、火车路线以及选定的道路。一些模组可以让操作更轻松,或者帮助规避一些限制。 哦,尽管这应该是显而易见的:请务必记住,在安装模组前始终阅读其完整说明。这样做除了能避免混淆外,还能防止因不兼容而导致游戏可能出现的不稳定情况。 此处列出的所有模组经测试均能在游戏1.版本上良好运行。12(2019年【校园】DLC更新),但我不保证它们能在其他游戏版本上正常运行。 所需模组:princekolt的Overlayer v2或类似模组(有多个可供尝试)。这个模组在易用性方面并不完美,但能完成任务。 推荐模组(按个人重要性排序,仅在需要时安装): - BloodyPenguin的Map Editor Tunnels Enabler - 如果你的高速公路或火车路线有隧道,则需要此模组。 - BloodyPenguin的No Tree Brush Slope Limit - 允许在更陡峭的斜坡上种植大量树木。(否则即使是中等坡度也会没有植被。) - BloodyPenguin的More Network Stuff - 允许在地图编辑器中放置任何道路,而不仅仅是少数选定的高速公路。Boogieman Sam 的精细道路无政府状态:用于规避道路和交叉口放置的部分限制。 Lazarus*Man 等人的网络扩展 2:提供其他实用的道路类型。目前,只有当你打算在地图编辑器中放置此类道路(而非游戏后期)时才需要它。 高级工具栏:提供可扩展的底部工具栏,便于通过视觉方式快速查找资产。 你也可以使用FindIt!模组,它能按名称轻松查找和筛选资产,还具备批量选择并批量删除对象(例如大量树木)的工具。 MrLawbreaker 的加载时暂停:无论何时加载或继续你的地图,初始状态都会处于暂停。在地图编辑器中,取消暂停游戏(个人认为)只有在检查水流是否正常时才有意义,但这样做也没什么坏处。 准备地图 安装好地图编辑器所需的模组后,我们就可以开始创建地图了。 启动《城市:天际线》,从主菜单选择【编辑器】->【地图编辑器】,然后选择【新建】。系统会提示你选择地图主题,请选择最符合你即将建造的城市气候的主题。 注意,这里有个容易出错的地方:你可能在地理课上学过中欧属于温带气候,因此可能会误以为【温带】和【欧洲】主题是一样的。虽然我不清楚所有区别,但我(通过失误)发现【温带】主题中没有针叶树。这就是为什么对于中欧地区,我确实推荐使用【欧洲】风格。 现在你将进入地图编辑器。 添加地形 我们需要做的第一件事是将地形导入地图。如果你按照上一节的步骤操作,应该已经将你的高度图(高程模型)复制到文件夹%localappdata% Colossal Order Cities_Skylines Addons MapEditor Heightmaps中。剩下要做的就是通过工具栏上的第二个按钮导入它。

在即将弹出的对话框中,选择要导入的图像,然后点击“导入”进行确认。再次点击工具栏图标可关闭对话框。为了欣赏新地形,你可能需要通过屏幕底部中央的选项来关闭雾气。

注意,重要陷阱:导入地图后,请检查方向是否正确,即北方确实是北方,南方确实是南方。如果你处于北半球(欧洲、北美洲、亚洲北部),太阳必须从东方升起,正午时位于南方,从西方落下。将此与你的地形进行对比。如果(就像我遇到的情况一样)你发现太阳位于地图的错误一侧,正午时从北方照射,你必须在图像处理软件中将地形图像和叠加层都旋转180°。如果错过此检查,之后才发现太阳从错误方向照射,就只能依靠【TimeWarp Fix】模组通过移动太阳来解决。 添加并对齐叠加层 下一步是激活叠加层。如果你正在使用【overlayer v2】模组,请确保已将半透明PNG图像复制到C: Program Files (x86) Steam steamapps common Cities_Skylines Files overlay.png路径下。该模组只会识别此名称的图像文件(其他覆盖层模组支持管理多个覆盖层)。然后点击屏幕左上角的(i)图标,几秒钟后覆盖层图像就会显示出来。此后你可以通过同一按钮快速启用或禁用该覆盖层。 几乎可以肯定你的覆盖层不会完全匹配地形,因此你需要按照模组创意工坊页面上的说明调整覆盖层的位置和大小。(句号):增大叠加层尺寸 ,(逗号):减小叠加层尺寸 方向键:移动叠加层图像(上/下:北/南,右/左:东/西) Home键:重置叠加层图像的尺寸和位置 Shift键:按住此键可加快上述所有操作的速度(精度降低) Control键:按住此键可减慢上述所有操作的速度(精度提高) 注意事项:此模组的按键选择欠佳。当您后续尝试输入海拔高度时会发现,按句号键会意外移动叠加层。在为地图输入文件名的对话框中使用方向键时也会出现同样问题。更糟的是,不小心按到“Home”键会重置地图,导致您必须重新对齐。目前该模组未提供锁定机制。这就是为什么你应该检查其他模组是否更适合你。 请注意,你可以在地图编辑器或游戏运行时替换overlay.png文件。只需先禁用覆盖层,然后重新启用,模组就会加载新图像。如果你既有用于展现整体地形的低分辨率概览图,又有用于更精确地在市中心区域放置建筑和街道的详细图像,这一功能会很有用。 正如之前所说,现在的挑战是将图像与地形对齐。留意地形中的显著特征,例如陡峭的山谷、峡谷、河床,或者任何你在地形上和用作覆盖层的地图或卫星图像上都能看到的东西。在继续操作之前,务必检查中心以及所有四个边缘或角落,确保对齐良好。

一旦你调整好地图的对齐,务必在地图上添加一些【标记元素】,这样下次启动游戏时能更轻松地进行对齐。当你退出到主菜单后再继续编辑地图,对齐状态会保留,但重启《城市:天际线》时则不会。 那么什么是【标记元素】呢?你的叠加图像中肯定包含一些容易识别的元素,比如显眼的十字路口、独特的小型地标等。在地图中心(或非常靠近中心的位置)找到一个这样的地标,例如某个十字路口。然后在地图边缘再找两到三个其他元素。在这些位置建造一些临时道路或路径,或者放置一棵大树——任何你之后能在地图上轻松找到的东西都可以。


现在,下次你需要“从头开始”对齐覆盖层时,首先对齐中央标记特征(在我示例中是上方左侧所示的十字路口)。然后前往任意边缘标记特征,仅使用增大/减小覆盖层大小的按键(.和,)来尽可能匹配该标记特征。回到中央特征——如果它未完全位于地图中心,你可能需要现在微调其位置。再次回到边缘标记特征,仅通过增大/减小覆盖层大小来使其对齐良好。最后,检查其他任何标记特征——它们现在也应正确对齐。 创建地形

接下来的步骤是满足基本的地图要求——而啾啾会很乐意向你展示你的进度。你可以按任意顺序在地图上放置树木/植被、水源、道路(以及可能的铁路/航运/航空路线)、资源和其他所有元素。只需确保覆盖所有内容即可。 创建森林和水源 创建森林:你可以现在创建森林,也可以在游戏后期再创建,但除非使用模组,否则地图编辑器中拥有更适合创建森林的工具。 放置森林时,强烈建议使用卫星照片作为叠加层。如果你足够幸运,这张照片是在非植被生长时期(冬季或春季)拍摄的,你就能轻松区分针叶林和阔叶林。在冬季,针叶林呈绿色,而阔叶林呈灰色。到了春季,针叶林通常比长出鲜嫩浅绿色新叶的阔叶林颜色更深。至少在中欧地区是这样的情况…… 使用树木笔刷可以在大片区域种植单一树种。你可以花时间尝试不同的笔刷设置,通常笔刷强度设为0.20左右时,大小在50-100之间效果较好;而笔刷强度设为0.10左右时,大小在200及以上效果更佳。(这是因为笔刷尺寸越大,树木密度似乎也会随之增加。)

在这个阶段,我通常只使用少数树种——山毛榉(在德国非常常见)和小型针叶树,有时会混合一些大型针叶树,让森林看起来更自然。不过你可以自由种植任何在你的城市里能生长的树木。(仓库提供了几十种额外的树种供选择。) 顺便说一下,在上面的截图中,你可以看到推荐的【No Tree Brush Slope Limit】模组的效果——我可以在这个斜坡上种植森林,否则这里或多或少会保持光秃秃的状态。 小贴士:打开谷歌地图、谷歌地球或类似工具查看高分辨率的地形会非常有帮助。谷歌地球甚至提供按时间戳选择图像的功能,这样你或许能找到更旧或更新的图像,这比默认图像更容易区分森林类型。很快,你的地形可能会变成这样(右侧带有叠加层):

是时候将一些动物放归野外了:工具栏中的【环境】按钮可让你放置某些森林动物(或者如果你喜欢的话,也可以是外来动物)的生成点。如果模拟区域内存在野生动物,你可能需要设置一个或几个生成点。

创建河流与水体 地图发布的要求之一是起始区域需有流动的水。因此,现在是时候让水流起来了。如果你尚未选择起始区域,现在就该决定:我将在地图的哪个位置创建至少一条道路连接和流动的水? 如果你的城市位于岸边,应首先使用工具栏【水】部分中的【提高海平面】工具,将海平面调整到与地形看起来自然协调的高度。

如果你的地图区域内有一条较大的河流(或多条河流),那非常好,因为它能提供所需的流动水源。需要注意的是,你无法合理地创建宽度小于3-4格的河流,即大约30米宽。如果你想模拟穿过村庄的小溪流,或者像德国奥格斯堡这类城市中的小河道,那可能无法实现,对此我们深表歉意。 你可以使用【平整】工具来挖掘河道。如果你不熟悉这个工具,操作方法是:先用鼠标右键选择一个高度,然后用左键就能在地图上绘制出这个高度的区域。由于河床通常是平坦的(山地河流除外),所以我认为这个工具非常适用。可以使用如下截图中的笔刷设置(笔刷强度0.10) 你可以挖掘一条相对狭窄的沟渠——正如我所说,3-4格是后续获得有效水流的最小宽度。同样,【覆盖层】能极大帮助你准确了解河流的位置。我建议将河床至少挖深约8米。否则,很难在不淹没周边区域的情况下确保水流正常。

河流必须有一定的坡度,否则水流很难知道该往哪个方向流动。确保河床至少每公里降低一米左右——当然,如果你的河流实际坡度更大,事情就会更简单。 为了确保河流不会反向流出地图,你可以在河道到达上游一侧的地图边界之前停止挖掘。这就是放置第一个水源的位置。我建议在此操作时暂停游戏,以避免在调整水源之前淹没你的区域。

如果你的河流像上面截图中那样狭窄且水浅,那么初始时应将水量设置得非常低——0.01。当然,对于更深、更陡且更宽的河流,则需要更高的水流。你可以通过滑块调整水量,或者在对话框中输入具体数值。 现在取消暂停游戏,观察水流的变化情况。(你可以根据喜好加快游戏速度。)根据实际情况调整水源。 如果你拥有一条坡度不大的河流,你会发现,尽管水在朝着正确的方向流动,且水源在持续提供新的水,但越往下游,水流似乎变得越来越小。基本上,水好像以某种方式渗透流失了。实际上,这相当符合现实情况。如果你有一条没有支流沿途汇入更多水源的河流,那么这条河永远无法流入大海。 对此有两种解决办法,因为建造小支流并非可行选项。你可以选择增加水源的蓄水量,寄希望于这能让河流延伸得更远一些。但更好的方法是在沿河添加更多低容量的水源。沿着下游走,当你觉得河流看起来水量太少时,就在那里添加一个小型水源。在每个水源前略微抬高河床会有所帮助,这样水更有可能向下游流动。 小贴士:将额外的水源放置在桥下,这样它们就不那么显眼了。

不过,如果要模拟的城市中没有河流该怎么办呢?例如,拉斯维加斯就没有河流,而我选择模拟的德国城市魏森堡也没有。

别担心,任何流动的水都可以。实在不行,甚至可以在水库或水处理厂中模拟流动的水。你的城市可能就有一个! 记住,你需要在起始单元格中有水,所以选择起始单元格时,要确保那里有水库、水处理厂,或者有足够的空间来建造这些设施。你可以在【地图设置】选项卡(工具栏中从右数第二个)中选择起始单元格。

你可以在那里创建一条人造河流,由一个小型水源、几米长的“河道”以及一个用作排水的蓄水池组成(水会在那里渗透掉)。将所有这些都放置在明显低于周围地形的高度。根据你在不淹没周边区域的情况下引流出的水量,之后你可以在游戏中用这个水源为城市的一部分供水……当然,它也可能毫无用处——除了能满足地图编辑器的需求之外。 顺便说一下:目前还不能在你的河流和湖泊中生成鱼类。这不是一款钓鱼模拟器。 创建基本的道路和铁路连接 创建外部道路和铁路连接相当简单,与在游戏中建造道路和铁路没有区别。默认情况下,只有少数高速公路和国道可用。如果你想使用地图编辑器中已有的其他道路,则需要【更多路网扩展】模组。尽管在普通地图中,通常只有高速公路作为地图的出入口,但实际上你也可以用较小的道路创建外部连接,例如双车道“国道”。因此,即使你的城市区域内没有高速公路,也无需担心。 如果地图要在无模组的情况下可玩,必须至少有一条从地图边界到“起始区块”(即新游戏中玩家最初可见的区块)的道路连接。 请注意,道路在地图编辑器中显示为简化版本,在游戏中它们会看起来更美观。另请注意,默认情况下,您无法在地图编辑器中建造隧道(与立交桥不同),但【地图编辑器隧道启用器】模组可解决此问题。地图编辑器中的隧道入口外观也经过简化。

我还可以推荐一个名为【精细道路无政府状态】的模组。它能让你以原版游戏不支持的方式创建十字路口、放置道路以及火车/电车轨道——通常这么设计是有原因的。所以请谨慎使用这个模组!不过,若想创建更真实的高速公路交叉路口,它会非常有用,因为它允许以锐角连接两条道路(但如果角度过小,道路通常会显示得很不美观)。 你还可以用它创建更真实的交叉路口,比如电车从道路中央切换到道路侧边——这其实就是一个角度相当锐利的电车-道路交叉路口(见下方截图)。创建更真实的火车轨道道岔/交叉口时也是如此。通过禁用节点吸附功能(见下方截图),可让有轨电车轨道紧邻街道铺设。允许创建极短的道路路段,从而能在现有节点附近进行道路分支。不过,过度使用此功能可能会产生不良效果,例如人行道交叉和路缘角重叠,导致街道外观显得有些怪异。

关于立交桥的几点提示: 1. 若要让一条道路(或火车轨道)通过桥梁跨越另一条,两条路线之间至少需要10米的高度差。你可以在地形工具中轻松查看高度,使用【平整地形】工具并右键点击某个位置,即可“测量”该点当前的游戏高度。 2. 游戏中无法创建现实中存在的窄型立交桥(宽度小于约30米),因为游戏不支持垂直斜坡或小型隧道。你可以通过以下方法解决:先建造较宽的立交桥,之后在游戏中使用诸如码头、石头或墙壁等资产,将斜坡隐藏在一些人造“地形”后面。另请注意,无法将【Network Extensions 2】模组中的“微型道路”用作桥梁——它们没有高架版本。 完成地图 现在你已在地图上放置了树木、水域、道路,可能还有火车、渡轮和飞机连接,几乎可以完成地图编辑器中的工作并进入实际游戏了。在保存最终地图之前,有几件事你可能需要做或检查,因为一旦使用此地图开始游戏,就无法再返回地图编辑器:是否满足最低要求?问问啾啾,它会显示检查清单。 如果你不打算将地图用于游戏,而只是为了重建真实城市,那么你可能不需要关心农田、矿石和石油等自然资源。不过,在现实中存在农田的地方放置一些农田也无妨。泛黄的农田区域可能会为你的地图增添些许变化,使其更具真实感——而且这样一来,日后就能在这些区域“发展”出农场,而不只是手动放置农场了。

提示:你可能会问,如果在游戏后期才发现忘记添加某些自然资源,或者想在需要时再添加自然资源、河流等该怎么办。别担心,当然有对应的模组可以解决:【额外景观工具】(Extra landscaping tools),它能将地图编辑器的所有这些功能重新添加到游戏内的景观工具中。 再次强调——在重建真实城市时,并不需要地图在无模组环境下具备“良好的可玩性”。但如果你打算将地图发布供其他玩家使用,这会是一个加分项。 最后一步是使用工具栏中【地图选项】里的工具拍摄一些快照。这些快照会在你之后选择该地图作为新游戏的基础时显示。 就是这样。现在你可以关闭地图编辑器并进入实际游戏了。但在此之前,让我们重新回顾一下所需的模组列表。 游戏内使用的模组 游戏内使用的模组列表与地图编辑器所需的模组略有不同。首先,很明显我们不再需要“Map Editor Tunnels Enabler”。在我看来,“More Network Stuff”也不是必需的,除非你要使用其中适用于游戏内的某些功能。 必备模组 Overlayer v2(由princekolt制作)或任何类似模组——用于使用覆盖图像/地图,以帮助在地图上放置物品。 81 Tiles (Fixed for 1.2+)(由BloodyPenguin制作)——允许你购买(或立即启用)81个地图区块中的任意一个。你可能会想这么做,这样你就能从一开始就在地图上的任何地方开始建造了。 无限金钱——一个内置模组,能让你不再为财务问题烦恼(不过,抱歉,这在现实生活中可不管用)。 推荐模组(按我个人重要性排序) BloodyPenguin的额外景观工具——允许在游戏编辑器中放置水源、自然资源等。 Boogieman Sam的精细道路无政府状态——如前所述,它允许创建更尖锐的十字路口,并能让电车轨道非常靠近道路等。 Lazarus*Man等人的网络扩展2——提供了几种新的道路类型,尤其是非对称道路和比原版游戏更紧凑的道路。在模拟欧洲古镇时,我认为“微型道路”是必不可少的。此外还包括一些仅供行人通行的道路,这些道路能形成可供在其旁放置建筑的区域——这与游戏默认的“人行道”有所不同。 交通管理器:总统版[稳定版],由LinuxFan(及其他开发者)开发——该模组允许你控制车道、路灯、停车以及其他方面。例如,要创建仅单向通行的真实高速公路/街道交叉口时,此模组是必需的。这是一款高级工具,使用前需要阅读文档和/或观看示例视频。 移动物体!Quboid 的模组:除了能自由移动已放置的物体外,该模组还提供通过边界框选择多个物体进行删除的功能——非常适合移除刚种植但选错树种的多棵树木以及类似任务。 Boogieman Sam 的【Find it!】:允许按名称筛选和查找任何资产。如果你想快速放置特定建筑或道具,或者想了解例如有哪些围栏,这个模组不容错过。 BloodyPenguin 的【Prop & Tree Anarchy】:允许在任何地方放置道具(非功能性资产,如回收站、路灯、卫星天线)。 boformer 的【Building Themes】:允许将“建筑主题”定义为用于某个区域的建筑集合。本质上是“区域风格”的高级版本。如果感兴趣,可以阅读我关于此问题的另一篇指南。 关于城市外观的推荐模组 有许多模组会影响渲染、颜色查找表(LUT)、天空盒等内容。我不会涵盖所有此类美化模组,仅列出一些我认为相关的: TimeWarp Fix - 允许设置城市的纬度和太阳大小(以及其他参数),使太阳轨迹在你选择的位置更加真实。如果你忘记旋转地形/叠加图像(旋转了180°),可以使用选项中(标签不太恰当的)“经度”滑块,让太阳在正午时从相反方向照射。日光经典 - 移除《日落》更新所引入的偏黄(类似日落)色调,让你的城市外观更加真实。由于这也会影响资产编辑器,你的资产截图和预览图在没有黄色色调的情况下会看起来更好。 注意:如果你按照我建议的那样,将地图的地形/叠加图像旋转了180°,请禁用此模组的【经典太阳位置】选项,否则太阳位置会再次偏离90°。 推荐资产:Jerenable和Blackwolf(Frdm920)制作的【精英电车轨道(ETT)】——一套电车道路和电车轨道,比游戏默认的电车轨道看起来更加真实。仅在你的城市有电车时需要。如果你的城市使用轻轨通勤列车,创意工坊中clus的轻轨轨道(LRT)及相关资产或许会有所帮助。 柏林风格建筑——这是一个建筑合集与主题包,包含一些欧洲许多大城市中常见的典型市中心住宅楼。尽管该合集中存在一两个错误,但如果它符合你的城市风格,我还是非常推荐的。 注意事项:创意工坊中的模组和资产列表可能会让人眼花缭乱,你可能会忍不住立即订阅并启用几十个模组以及数百个资产和合集。我不建议这样做,因为模组越多,它们出现不兼容或导致问题的可能性就越大,比如你使用了某些过时的模组,或者在游戏新版本发布时遇到麻烦。此外,资产越多意味着游戏加载时间越长,甚至可能拖慢游戏运行速度。因此,刚开始时要循序渐进,只有在真正需要时才添加模组和资产。再次提醒,在抱怨它们未按预期工作或没有达到你想象的效果之前,请仔细阅读其描述! 开始游戏内建造 当你启动新地图并加载地图模板后,需要重新启用叠加层(可能还需要将其与现有地形重新对齐——参见我之前给出的相关提示)。 提示:我发现让谷歌地球(或者如果你喜欢的话,谷歌地图或必应地图)在单独的窗口中运行非常有帮助,这样可以看到你正在处理区域的更高分辨率图像。这些应用程序分别...网页能让你更详细地查看例如道路的车道数量、特定交叉路口的外观,或是建筑物与树木的布局。道路及道路宽度的折衷方案

我通常会先重建主要道路网络,从连接城市与郊区或周边村镇的大型道路开始,然后再添加更细致的小型道路。关于道路网络的技巧可以查看我的相关部分。重建真实城市并没有太多特别需要解释的地方,除了你需要根据地图覆盖层上显示的位置来规划道路,而且通常会比普通游戏中使用更多种类的道路(如果适用的话,还包括电车轨道和火车轨道)。 哦,如果你还没有这样做,或许可以给道路起上它们在现实世界中的名称,并调整路线使其与现实中的路线相符。在《城市:天际线》中,当你开始在市中心规划道路时,可能会发现游戏内道路看起来比现实中更宽——事实确实如此。以下是一些例子: 街道类型 | 基础游戏宽度 | 现实宽度¹ | 最接近的匹配项 ---|---|---|--- 单向单车道带停车及人行道 | 16米² | ~8米 | 8米,来自“Network Ext. 2”的“单车道单向带停车” 双向1+1车道无停车带人行道 | 16米 | 9-12米 | 8米,来自“Network Ext.”的“双车道小巷”双向,1+1车道,两侧有停车区,带人行道 16米 12-16米 16米,基础游戏中的【双车道道路】 双向,2+1车道,非对称,带人行道 16米 ~14米 16米,【大众运输】DLC(或【Network Ext. 2】)中的【非对称三车道道路】 双向,2+2车道,无中央分隔带,无停车区,带人行道 32米(!) ~16米 16米,【Network Ext. 2】中的【小型四车道道路】 双向,2+2车道带中央分隔带,无停车区,无人行道 32米 22-26米 32米,基础游戏中的【带中央分隔带的四车道道路】 ¹ 根据德国城市测量。其他国家的数值可能有所不同。 ² 基础游戏中没有此类道路,最接近的是双车道单行道。在某些情况下,使用【Network Extensions 2】模组中的“小型重型道路”或“微型道路”可以规避这种差异;而在其他情况下,尤其是仅允许单侧停车的道路,你将不得不使用现有的较宽道路。这就是为什么我建议在创建高程模型时略微放大比例,例如只使用16x16公里的地图区域,而不是真实比例地图所需的约17x17公里。 是否建造自定义建筑 没有真实建筑的“真实”城市会怎样?其标志性会大打折扣,不是吗?但创建自定义建筑是一项耗时的任务。一个普通的简单建筑从零开始制作通常需要花费数小时。即使你已有现成的建筑模型,正确的重新纹理化也可能需要数小时。这绝非玩笑!最终的决定权在你:你可以只使用【原版建筑】(或来自扩展包的建筑以及创意工坊中外观相似的建筑)。如果运气好的话,可能已经有人建造了你所在城市的一些独特建筑——或者至少是类似的建筑。但即便你打算自己创建自定义建筑,也不要尝试单独建模城镇中的每一栋房屋,除非你打算为你的城市聘请一整个建模公司。 只需专注于【地标建筑】(市政厅、火车站、教堂、剧院、塔楼、学校等,或许还有一些独特的市中心建筑),其余部分用原版建筑填充即可。如果你拥有【强烈推荐】的“European Suburbs”扩展包,那么这些建筑将非常适合许多中欧的郊区和村庄。建筑主题【柏林风格建筑】为市中心建筑提供了极具真实感的资产。若涉及苏联地区的大型街区建筑,有包含【苏联风格】建筑的合集,这类建筑通常是高层建筑或4-6层的大型街区建筑。 你很可能需要至少创建一些自定义建筑。本教程旨在教你一种尽可能简单的方法,只需使用免费软件即可实现。 我硬盘里正好有一百多座德国魏森堡镇的建筑模型,这些模型是十年前谷歌积极邀请建模师为谷歌地球创建建筑时制作的。因此,我的目标是将这些现成的建筑模型导入《城市:天际线》中。不出所料,由于以下几个原因,这个过程并不简单:《城市:天际线》不支持SketchUp文件,而且我的旧版SU8没有兼容的FBX导出器。(新版的SketchUp Pro有这个功能,但价格不菲。)最后但同样重要的是,《城市:天际线》对模型的要求与谷歌不同:你需要考虑单元格大小,还得留意夜景灯光、反射效果等细节。 本节将介绍如何调整和转换用谷歌/天宝SketchUp创建的现有建筑,使其能在《城市:天际线》中使用。这并非谷歌SketchUp的完整指南——关于这款简单CAD软件的使用方法,已有相关指南和视频教程可供参考。但在我看来,SketchUp是完成这项工作最简单且用户友好的工具之一。创建一个非常简单的房屋模型只需几分钟。而且,它具备创建复杂中世纪建筑的工具,即使是几乎没有直角的建筑也能制作。 接下来的章节中,我将介绍以下必要步骤: 1. 准备建筑纹理 2. 创建建筑模型(在SketchUp中) 3. 为模型添加纹理(在SketchUp中) 4. 使用Blender(开源软件)以最简单的方式将模型转换为所需的.fbx文件在《城市:天际线》中导入并配置建筑 自定义建筑1 - 基础纹理 要让建筑能在《城市:天际线》中使用,你只需拥有一个纹理——更准确地说,是一组带有不同后缀的纹理,我们稍后会详细介绍。与为谷歌地球创建的模型相比,这是一个很大的差异和限制,因为在谷歌地球的模型中,你可以使用任意数量的自定义和内置纹理。这不仅意味着如果你有这样的现有建筑,就必须对其进行完全重新纹理化,还意味着你必须创建一个包含所有即将用于不同面的小纹理和照片的初始图像。通常,它看起来会有点像拼图。

推荐的纹理尺寸为:小型建筑512x512,大型建筑1024x1024,巨型建筑2048x2048。你可以使用任何你选择的图像处理软件来完成此任务(例如开源软件Gimp),只要该软件支持图层或对象、具备实用的选择工具并能导出PNG图像。《城市:天际线》的《新手资产创建指南》展示了在Photoshop中的操作步骤,而某个视频则演示了在Jasc Paint Shop Pro中的部分步骤(从28分30秒开始)。关于获取纹理的说明:你可以使用纹理库提供的通用纹理,也可以使用自己拍摄的建筑照片,或者将两者混合使用。主要使用可重复用于多个外立面的通用纹理能够减小纹理文件的大小,但使用自己拍摄的照片通常会让建筑看起来更加真实。我个人只在烟囱等小面积表面使用通用纹理。 拍摄建筑照片时,尽量选择阴天,以避免纹理中出现强烈的对比度和固定阴影,这些在与游戏渲染的阴影不匹配时会显得很奇怪。同时,尽量避免人物、车辆、灯杆和其他物体遮挡建筑的外立面。这虽然有难度,可能需要多次拍摄尝试,但能让最终的建筑看起来更专业。当然,如果你有相关技能,也可以尝试从图片中编辑去除一些物体。我建议将此基础纹理保存为允许进一步编辑的格式,并同时保存为PNG或JPG文件。 提示:我建议先创建此【基础纹理】,然后构建3D模型并将此纹理应用于其上(参见后续章节),并且只有在完成此步骤并确保漫反射纹理为【最终版本】后,再创建派生纹理。这样可以避免在发现纹理图像缺少某个面或需要其他校正时再次执行该步骤。 自定义建筑2 - 创建模型 在本节中,我将介绍SketchUp部分——首先创建模型几何形状。 如果您尚未安装SketchUp,请下载Trimble SketchUp Make(需注册)。请注意,自2017年起,Trimble提供【SketchUp Free】作为网页应用程序。我尚未测试其适用性,因此推荐2017年的旧桌面版(又称“制作版”)。即使是2010年的旧版SketchUp 8也可以使用!请注意,以下所有截图均使用德语版SketchUp 8创建。 如果还不熟悉该软件,请阅读基础教程。对于简单建筑,你应该了解: - 如何使用坐标系 - 如何绘制顶点和多边形以及如何移动它们(熟悉Shift和Ctrl等按键修饰符) - 如何使用挤出工具从多边形创建实体 - “偏移”工具可用于创建悬挑屋顶 - 如何区分“外部”(白色)和“内部”(默认浅蓝色)面,并确保面朝向正确(可在面的右键菜单中反转朝向)。SketchUp建筑速成课程 首先选择合适的模板。你可以使用任何公制模板,“默认”或“地球建模”(如果仍可用)都很合适。如果从默认模板开始,先删除人物模型,然后从“窗口”->“材质”窗口中删除其关联纹理。 屏幕显示坐标系。开始时,红色指向右方,绿色指向后方,蓝色指向上方。如果建模时让入口朝向红色轴,或者(对于转角建筑)从该方向(红色轴和绿色轴反方向)看时道路位于前景,之后我会告诉你如何以正确方向导入模型。 建议安装城市:天际线工具扩展。从SketchUp扩展仓库将【com】安装到SketchUp中。操作方法是通过“窗口”->“首选项”,在“扩展”选项下进行。至少在SU8版本中,有一个按钮可以安装已下载的扩展。 此插件通过创建网格参考线来辅助定位,并能导出可直接用于资产编辑器的正确FBX文件,但后者需要商业版的SketchUp Pro 2015或更新版本。另一种方法是使用Blender进行格式转换,我会在后面介绍,过程并不复杂。 请注意,你可以根据喜好重新排列工具栏,启用更强大的工具栏并禁用其他工具栏。只需在“视图”->“工具栏”菜单下进行设置即可。

打开样式窗口并查看当前样式。我推荐一种样式,即与坐标系轴线平行的线条会获得相应的颜色(红、绿、蓝),这有助于判断线条是否真的平行于某一轴线,而非仅仅看起来平行。你可以通过以下步骤实现:例如选择【基础样式】,切换到【编辑】选项卡(1),在选项卡下方选择线条设置(2),然后选择将线条“按轴线”着色(3)。完成后,使用更改后的设置更新样式(4)。现在你可以点击对话框的工具栏将其关闭或最小化。 对于我们的示例建筑,我们从一个6x4米的矩形底座开始。使用【矩形】工具。
从工具栏和坐标系中心用鼠标绘制一个矩形。绘制完成后,只需输入“6;4”(然后按回车键)作为矩形的尺寸。你的数值将显示在右下角的输入框中,矩形也会相应调整。(如果输入错误,可以重新输入。) 现在或之后,你应该使用【移动】工具将模型移动到网格参考线内的正确位置,或者简单地使其水平居中于原点,除非你希望之后在《城市:天际线》中放置时带有一些偏移。确保移动的是建筑,而不是坐标轴!


然后使用【推/拉】工具
通过拖动已高亮显示的面将其向上拉伸成一个方块。释放鼠标后,输入“3”将高度设置为3.0米。若要为建筑添加山墙,请使用【偏移】工具。
从上方表面向外拖动,直至出现悬垂表面。松开鼠标后,输入“0.3”(德语环境下输入“0,3”)以精确确定偏移宽度。选择中心表面并删除。然后选择外部“边缘”,在上下文菜单中选择“翻转表面”,使白色(外部)面朝下。


现在使用【线条】工具
从短边中心向上绘制一条直线。该线必须变为蓝色(表示垂直线)。输入“2”作为长度。在对边重复此步骤,然后绘制第三条线将两个上端点相互连接。 为了完成屋顶,用线条将四个角与山墙连接起来,注意SketchUp会自动为所有被包围的三角形和平面矩形创建面。然后可以选择并删除每个正面的两条垂直线(这将合并它们旁边的共面)。

我们就先介绍到这里,但请记住,SketchUp还有许多实用工具。你可以移动、缩放和旋转选定对象,测量距离,还可以使用【圆形】和【跟随路径】工具创建(伪)球体和圆锥体,并且可以将选定的面和边进行成组,以便轻松复制粘贴到其他位置。 再次强调,确保你的建筑相对于原点中心位置正确——这个点稍后将成为你所选x×y网格的中心。除非是在倾斜地形上,否则任何位于红绿平面下方的部分稍后都会处于地下。 【城市:天际线】专用注意事项 在建模真实建筑时,最好有建筑的平面图或至少大致的占地面积,以便获取尺寸数据。你可以从地籍办公室获取详细的建筑地图,也可以查看谷歌地图,那里能看到建筑物的轮廓。你可以选择尽可能精确地创建建筑,也可以略微简化,使其更适合游戏及其8x8米的网格。(矩形建筑比形状不规则的建筑更容易成排放置,但如果你打算使用【Place it!】模组手动放置,网格可能对你来说并不重要。不妨试试看。 注意:为谷歌地球建模建筑时,建议将建筑的重复部分创建为组和可重复使用的组件,以保持模型简洁。在为《城市:天际线》创建建筑时,你仍可暂时使用群组和组件,但在导出建筑以在Blender中进行转换前,必须将它们全部“分解”。然后确保所有部件通过面相互连接(形成一个“网格”),否则这些部件在资产编辑器中会丢失。 我尚未测试在不同图层上操作的情况,但除非你确定可行,否则建议仅使用默认图层。 自定义建筑3 - 纹理处理与导出 到目前为止,你只有一个白色、无纹理的建筑。如果你愿意,可以在此阶段将建筑导出为。obj,将其导入Blender并按照Zordorks的《新手资产创建指南》中的描述进行纹理处理。但如果你同意作者和我个人的观点,即Blender在左右鼠标按钮的使用方面有些不便,那么你可以尝试在SketchUp中为模型添加纹理——那里的操作相当简单直观……或者说,如果不是因为《城市:天际线》的话本该如此。 始终记住,对于《城市:天际线》,你必须只使用一张纹理图像,不能使用多张。 编辑:在某个论坛中, modder Elektrix描述了一种使用自行编写的Blender扩展程序的替代工作流程。它绕过了“单一纹理图像”的限制,通过在Blender中“烘焙”单一纹理来实现。

如果尚未打开材质窗口,请将其打开——你可以在菜单的“窗口”->“材质”中找到它。 在下拉菜单中切换至“模型中”视图(第一个选项)。如果你导入了现有模型,且在此部分看到多个纹理(就像我那些谷歌地球时代的旧SketchUp模型一样),请通过逐一选择并在右键菜单中选择“删除”来删除所有这些纹理。(当被询问是否使用默认材质时,选择“是”。) 使用“创建材质”按钮——右侧从上数第二个按钮——你可以导入原始纹理图像(不是减弱的漫反射纹理版本)。在“创建材质”对话框的“纹理”部分,使用右侧的按钮导入你的纹理图像。此处使用的图像不一定需要是之后导入《城市:天际线》的纹理的静音变体——只需使用“自定义建筑”章节第一部分中创建的纹理即可。你可以给材质起一个有用的名称,但并非必需,因为你只使用这一个。关闭“创建材质”对话框。此时“材质”对话框应显示你唯一的纹理。

然后点击图像,“填充桶”工具将被启用。接着点击你想要应用此纹理的面。该面会被应用纹理,但初始位置可能不正确。 右键点击该面,选择“纹理”->“位置”。此时你的纹理会以平铺形式显示,并且会看到四个图钉。这些图钉要么是不同颜色(“固定图钉”),要么全是黄色(非固定图钉)。你可以通过这四个图钉来调整纹理的位置、大小、旋转、倾斜和变形。确保最终你的面位于这四个图钉范围内。

我建议从固定(彩色)锚点开始操作,但这取决于个人喜好。假设要为一个矩形区域添加纹理,请按照上方截图所示,在纹理图像中将覆盖该面的部分的四个角上放置锚点。然后将这四个锚点拖动到模型实际表面的对应角上。如果使用固定锚点,请先从左下角的【红色】锚点开始,它用于移动纹理。接着使用右下角的【绿色】锚点,它用于旋转和缩放图像。此时纹理很可能已经就位。如果没有,请继续使用左上角的【蓝色】锚点来扭曲图像,必要时再移动最后的【黄色】锚点(但请注意下方说明)。现在你的纹理应该已经正确放置了。右键点击并选择【完成】以退出纹理编辑模式。 注意:SketchUp(至少SU8版本)的纹理功能似乎存在一个严重限制。如果纹理应用时出现扭曲,这会导致OBJ导出器创建单独的纹理——而《城市:天际线》不支持这种情况。

为避免这种情况,建议使用彩色定位点。只需将红色、绿色和蓝色定位点移动到它们实际的理想位置(调整大小、旋转、拉伸甚至切变都是可以的)。当移动黄色定位点时,会出现一个“吸附点”以及两条指向它的辅助线。将黄色定位点设置到这个吸附点上,即使这并非纹理位置的理想位置。这样做,模型导出时应该仍只使用一个纹理(但最好检查一下)。如果将第四个黄色定位点移动到SketchUp建议的点以外的任何位置,OBJ导出器将会为其创建一个单独的纹理文件。在这种情况下,你必须撤销操作步骤,直到回到只有一个纹理文件的状态。稍后你需要按照《新手指南》中描述的方法在Blender中微调这个特定的面。因此,最好也阅读该指南中关于Blender UV映射的章节。(注意:我不知道这个问题是否也适用于当前版本的SketchUp。) 现在,这个面应该会按预期显示:

对模型中的每个面都执行此操作。不要忘记朝下的面,例如悬垂屋顶上的面。无需为建筑的底面或完全位于地形下方的任何部分添加纹理。你甚至可以通过选择这些面并按“Del”键将其删除。 最后,在导出模型之前,检查“组件”对话框,确保模型不包含任何组件。在左数第二个下拉菜单中选择“在模型中”,如果列出了组件,右键单击每个组件,选择“选择实例”(如果有的话),然后右键单击模型中任何选定的实例,在上下文菜单中选择“分解”。提示:在添加纹理后执行此操作,这样你只需为一个共享组件添加纹理,而不是为其多个实例添加纹理。

当所有操作完成且你认为模型已准备好在《城市:天际线》中使用时,通过“文件”->“导出”->“3D模型”导出模型。在导出对话框中,选择“.obj”作为文件格式,并检查OBJ导出选项(通过右下角按钮进入)中“导出纹理分配”是否已勾选。另外,建议将模型进行三角化处理,因此除非你需要在Blender中对某些面进行纹理处理,否则也请启用此选项(不确定在《城市:天际线》中不进行三角化是否会有问题)。其他所有选项保持默认即可(截图来自SketchUp 8,新版本可能有所不同)。关闭选项并导出文件。

注意:你将从SketchUp获得一份导出摘要。如果摘要显示已导出多个“实例”,则说明你的模型包含必须先分解的组件。如果对话框列出多个纹理,这也是有问题的。检查创建的纹理子文件夹,找出导致OBJ导出产生多余独立纹理的面,将这些面的纹理替换为默认材质(白色),然后在Blender中为这些面添加纹理。你可能以“扭曲”的方式应用了纹理,而OBJ导出器不支持这种方式。 为方便起见,以下是我所知的完整禁止事项清单。忽略这些,你之后将无法导入模型: - OBJ导出后出现多个纹理 - 存在组件或组 - 存在任何未连接的面或面组(确保所有面都通过其他面而非仅通过线条连接到主模型。尤其要检查烟囱、老虎窗、前楼梯等部分。一个简单的检查方法是:点击模型,选择“选择”->“所有已连接项”,按下“删除”键,查看剩余内容……当然,之后要撤销操作。) 自定义建筑4 - 注意LOD 首先——什么是LOD? LOD即“细节层次”,在3D建模中通常指模型、纹理或两者的低分辨率版本。使用LOD版本意味着,当你从远处查看模型或纹理时,反正无法看清细节,加载这些细节就是浪费。在这种情况下使用简化版本可以节省内存、缩短加载时间并降低场景复杂度(对于模型而言)。

通常情况下,LOD模型的三角形数量会比原始模型少50%或更多。任何在1公里外无法看清的细节都可以省略,包括老虎窗、内陷窗户等。在上述示例中,教堂原始模型约有1600个三角形(本身已是轻量级模型),而LOD模型仅有700个三角形。根据经验,LOD模型的三角形数量尽量控制在1000个以内。 我需要提供LOD版本吗? 如果你不提供LOD版本,《城市:天际线》会为你的模型生成一个。但生成的版本外观是否理想,取决于你的模型几何结构。如果你的模型较为简单(三角形数量少于1000个,主要由较大的面组成,面通常沿坐标轴方向排列,没有圆形或不规则形状),那么生成的版本很可能是可接受的,这样你就可以省去额外的工作。 否则,你的模型很可能在远处看起来会扭曲变形,像一堆垃圾。当然,你可以先尝试一下,如果不满意再回到这一章,但我可以告诉你,事后修复会花费数小时的时间。 如何在《城市:天际线》中使用LOD 理论上,一切都非常简单。你只需提供一个附加的.fbx模型,并在文件名后加上后缀“_lod”,同时为每个相关纹理提供一个单独的图像文件(通常为PNG格式),同样加上该后缀。例如,如果你已有: mymodel.fbx mymodel_d.png mymodel_i.png mymodel_s.在按照后文所述将模型导入资产编辑器之前,你需要添加以下额外文件: mymodel_lod.fbx - 模型的简化版本 mymodel_lod_d.png - 漫反射纹理的缩小版本 mymodel_lod_i.png - 可选的光照纹理的缩小版本 mymodel_lod_s.png - 可选的高光纹理的缩小版本。在LOD中几乎没有用处。 我建议将LOD版本的纹理缩小到宽度/高度的约1/4,但通常256的宽度/高度就足够了。再大的纹理也不会改善效果,因为反正你也看不到细节。 现在请注意…… 这听起来相当简单,但存在一些限制,其中之一使得使用SketchUp创建LOD成为一件真正麻烦的事(或者更准确地说,是一个反复尝试的过程)这些规则如下: 所有LOD纹理必须具有相同的尺寸。(如果你的漫反射纹理是512x512像素,而光照纹理是256x256像素,你可以在资产编辑器中创建模型,但该模型在游戏中会失败,并显示错误“LOD aci null”。)嗯,这条规则很容易遵守。 LOD纹理不能使用平铺。所有UV坐标必须在0.0-1.0范围内,这意味着它们必须直接位于你的纹理上,而不是旁边。 第二条规则——不适用于主模型——是问题所在。在定位纹理时,SketchUp会将纹理显示为重复(平铺)的图案,而不会显示哪个平铺区域的坐标在0.0-1.0范围内。更糟糕的是,即便你认为:我会坚持使用最初被四个图钉围绕的初始区块,但在超过50%的情况下,这会让你误入歧途。 这意味着:SketchUp并非用于LOD模型纹理处理的理想工具!请使用Blender或其他能即时显示你的面是否贴合纹理的软件。 请按照以下步骤检查LOD模型的纹理定位是否正确: 1. 按照下一章详细描述的方法,将模型从SketchUp导出为.obj文件。 2. 打开Blender并导入模型(点击文件,然后输入“i”(导入)和“w”(Wavefront),找到之前导出的.obj文件)。 3. 在顶部工具栏中,将视角从“默认”切换为“UV编辑”。 4. 点击模型(在Blender 2.7中使用右键)。在右下角工具栏中,将“物体模式”切换为“编辑模式”。 在左下角工具栏中,将“顶点选择模式”切换为“面选择模式”。现在,你可以点击任何错误面上的黑色矩形,在右侧看到该面以灰色“高亮”显示(!!!)。这样你就知道需要以何种方式重新定位哪个面的纹理了。 请注意,我并非Blender专家,因此可能有更好的方法来实现这一点。

当我将一个现有的SketchUp模型加载到Blender中并检查其中的UV坐标时,我发现只有约30%的UV坐标位于纹理上(在正确范围内),50%在纹理左侧,20%在纹理右侧或其他位置,有些甚至偏离得更远。 你有两种方法来纠正这个问题:一是直接在Blender中操作(如果你熟悉UV编辑模式的话。遗憾的是,我并不熟悉。);二是在SketchUp中,检查每个面当前的纹理位置,然后在SketchUp中相应地移动纹理,从SketchUp重新导出,再导入Blender并再次验证,重复此过程,直到至少所有较大的面都没问题。这可能会令人沮丧,这就是我不推荐使用SketchUp来完成这项任务的原因。如果你有一些经验,或许能猜到一开始在SU中应该把纹理放在哪里,但经过快速测试后,到目前为止我仍然无法提供任何有用的规则。 自定义建筑5 - 使用Blender进行模型转换 如果你因为没有SketchUp Pro许可证而无法使用Cities Skylines Tools,那么你必须按照本章内容将.obj文件转换为所需的.fbx格式。 启动Blender(我使用的是Blender 2.79)。输入“b”并拖动鼠标框选场景中的立方体和灯光。按“Del”键删除它们。 然后选择“文件”->“导入”->“Wavefront(.obj)”(或者在文件菜单中,按“i”“w”),导航到包含的文件夹。将obj文件或文件夹粘贴到上方文本框中。提示:通过左侧边栏的“添加书签”选项将文件夹添加到“书签”中,以便下次更轻松地找到。选择并点击“导入”(或按回车键)以导入模型。现在你应该能看到模型,可能需要稍微缩小视图。很可能看不到任何纹理。要更改此设置,请使用底部栏中“对象模式”右侧的视图模式选项——如果显示白点,在下拉菜单中选择“纹理”。



查看右上角的网格列表。该列表必须只显示一个网格,否则模型将无法导入【城市:天际线】! 除非你想按照《新手指南》中的说明对某些面进行纹理处理,否则可以直接跳至在Blender中执行的最后步骤: 如果尚未对模型进行三角化,且模型处于选中状态(右键点击模型进行选择),请从底部工具栏的“对象模式”切换至“编辑模式”。然后在“编辑模式”下按“Ctrl+T”,你会看到模型被三角化。现在可以切换回对象模式。

最后从菜单中选择“文件”->“导出”->“FBX(.fbx)”(或在文件菜单中,按“e”“f”),导航到输出文件夹并选择输出文件名。 在左下角的FBX导出选项中,确保启用“!实验性!应用变换”,否则你的模型在《城市:天际线》中会完全比例失调且方向错误。 “向前”轴选择“Y向前”,“向上”轴选择“-X向上”。如果你按照我推荐的方式将模型正面朝向红色轴(或对于转角建筑,朝向红色轴和相反的绿色轴),那么之后你会在《城市:天际线》资产编辑器中找到方向正确的模型,门朝向正右方。你也可以在那里旋转模型,但我了解到这会严重影响凹凸贴图,如果你打算使用此类贴图的话。 所有其他导出选项可保留默认设置。 为了让《城市:天际线》在下一步中找到你的模型及其纹理,它们必须位于以下位置: - Windows系统:%localappdata%\Colossal Order\Cities_Skylines\Addons\Import - Mac系统:/Users/<用户名>/Library/Application Support/Colossal Order/Cities_Skylines/Addons/Import - Linux系统:/home/<用户名>/.local/share/Colossal Order/Cities_Skylines/Addons/Import 点击“导出”确认,大约一秒后即可完成。 自定义建筑6 - 衍生纹理 建筑物(例如命名为buidling.导入《城市:天际线》的fbx文件需提供以下PNG格式纹理图片,每张图片需带有特定的文件名后缀: 纹理文件后缀 含义 描述 _d 漫反射纹理(RGB) 包含建筑的材质图像和/或照片 _i 自发光纹理(遮罩) 灰度图像,不同灰度值决定窗户在夜间是否发光及发光方式 _a 阿尔法纹理(遮罩) 指定每个像素透明度的灰度遮罩_s 高光纹理(遮罩):灰度图像,用于指定每个像素的反射率。 _c 颜色纹理(遮罩):灰度图像,用于指定每个像素的位置,以便游戏引擎通过应用颜色变化生成具有不同颜色的多种建筑版本。 _n 法线贴图纹理(RGB):3 颜色通道的切线空间法线贴图。 只有漫反射纹理(例如“building_d.png”)是必需的。 强烈建议使用照明(窗户灯光)纹理,使建筑在夜间看起来效果良好。 透明度可能很有用,例如,如果你有带“孔洞”的围栏纹理,并希望将该围栏建模为单个矩形,而不是实际对孔洞进行建模。颜色纹理仅在你希望为建筑启用随机颜色时才相关——这部分内容我们在此不做讨论。 高光纹理决定建筑的特定部分反射光线的程度。它并非必需,但如果窗户、金属门和围栏能呈现不同程度的反射效果,可让建筑外观更具真实感。 生成衍生纹理

复制你之前制作的基础纹理。为了补偿(无论出于何种原因)游戏中颜色会显得更亮、饱和度更高的问题,此副本的亮度应降低至约155,饱和度调低25%。然后将此副本另存为【建筑名称】_d.png。它可能看起来像右侧的示例。 为了让建筑在夜间发光,建议从此最终图像创建一个发光纹理(以及可选的高光纹理)。为此,你需要一张灰度图像,其中窗户具有特定范围的灰度值(例如140用于常亮灯光),而其余部分(夜间会变暗)必须使用灰度值192。 以下是我使用旧版“PhotoImpact”软件的个人工作流程——其他软件可能有其他实现此效果的首选方法,但我不会在此详细介绍图像处理。 我首先将之前的漫反射纹理(降低亮度后)转换为灰度副本。然后,使用适当的选择工具(如魔棒工具或任何允许选择相似颜色区域的工具)选择多个窗户区域。此处重要的是关闭选择的抗锯齿功能,因为我需要“像素级锐利”的蒙版。接着,用一种比目前最亮颜色更亮的颜色(例如200,即浅灰色)填充所有这些区域。我对所有窗户或更宽泛地说,所有至少在某些时候应该发光的区域重复选择 - 填充步骤。在将所有发光区域涂成白色后,我可以轻松选择这些区域,反转选择,然后将这个选择区域 - 即所有剩余区域 - 用灰度值0填充。现在我们得到了一张不错的高光贴图,不妨将其保存为【建筑名称】_s.png(窗户现在具有200的较高反射值,其余区域值为0,无反射)。接下来我们来创建照明贴图。通过测试我发现,这张灰度图像中的数值含义如下:0 - 无照明(仅在使用1-64数值时才用此值);1...~64 - 纹理以递增的亮度显示其原始颜色。此功能可用于模拟发光表面或受外部光线照射的面,例如著名地标的聚光灯照亮的外立面。 120左右 - 始终以黄色(灯光)照明。 192 - 无照明(如果使用发光窗户,请使用此值!) 121...192...255 - 数值越接近128或255,窗户在夜间的点亮时间越长(平均而言也越亮)。这是一个随机过程,因此无法确定某个数值会在傍晚点亮,另一个会在午夜左右点亮。 注意:应避免混合使用120以下和120及以上的数值,因为这会在这两个范围的边界上产生难看的伪影(亮线)。因此,如果创建带有发光窗户(120+)的面,请使用192作为这些面的“非照明”值,而不是0!以下是不同夜晚不同时间下,测试屋顶面所有可能数值的部分截图(第一张截图是资产编辑器中的静态截图)



-


如果想简化操作,窗户选择120或127(常亮),建筑其他部分选择0或192。

这种光照贴图很容易从高光纹理中导出(你可能需要先创建一个副本)。使用魔棒工具选择背景并将其设置为192,这样在夜间它会保持黑暗。 最后,要么再次选择所有窗户区域并将其设置为120(常亮),要么框选部分窗户并赋予不同数值。在多层办公楼中,你可以决定有些窗户完全不亮,有些经常亮,大多数则较少亮。使用低于192和高于192的数值会创建两组在不同时间亮起的窗户。这比建筑物整晚完全亮着(或完全不亮)更具真实感。 参考:城市:天际线 模组制作 - 建筑资产创建【重要提示】(强烈建议阅读) 《城市:天际线》自定义资产创建新手指南 自定义建筑 7 - 创建资产

到目前为止,你至少应该有以下两到四个文件: <building>.fbx - 模型本身 <building>_d.png - 漫反射纹理,用于显示模型表面的外观,已根据游戏需求调整 <building>_i.png - 可选的发光纹理(夜间灯光) <building>_s.png - 可选的高光纹理(反射效果) 现在启动《城市:天际线》,在主菜单中选择“编辑器”->“资产编辑器”,然后点击下方的“新建”(右侧截图)。选择任意主题(例如欧洲主题)。我认为选择哪个主题并不重要,但我也不确定。 对于要创建的资产类型,选择“建筑”并点击“继续”。 接下来的对话框很重要,需要理解。你无需从头开始配置资产。你可以选择一个相似的资产,然后复制其设置,并可选择在之后修改(大部分)设置。在这里,你需要决定你的模型日后是“可放置的”独特建筑,还是可生长建筑(例如低密度住宅),或是公共服务建筑,如消防站或学校。因此,务必选择最适合你模型的模板。你之后无法更改此模板(或其相关属性)!所以要确保你不会将消防站创建为办公楼之类的情况。 提示:如果你创建了一个转角建筑,你需要另一个转角建筑作为模板。或者,你需要使用【ModTools】(如[cslmodding.info]中所述)来在之后更改分区模式。在我的示例中,我创建了一个健身房模型,因此我选择【医疗】选项卡,并选择【体育馆及……】建筑作为模板。

在接下来的导入对话框中,选择之前保存的.fbx文件(Windows系统下路径为%localappdata% Colossal Order Cities_Skylines Addons Import),并使用旋转箭头旋转模型,直到其屋顶确实朝上,且主立面(例如主入口)在预览图像中位于右侧(正面)。游戏会要求道路位于此处。 注意:确保缩放比例设置为1,否则模型会比预期的更大(或更小)。《城市:天际线》会尝试计算一个缩放比例,将模型缩放到模板大小,但如果我们已按比例创建模型,这并非我们想要的结果。 现在你会看到建筑放置在一个平面上。 故障排除 如果在导入对话框中选择.fbx文件后,没有模型预览怎么办?别怪我。事实上,《城市:天际线》对其接受的模型十分挑剔——更糟糕的是,它不会告诉我们具体问题出在哪里,只能通过反复尝试来排查——也就是点击“返回”,导出并转换一个简化版本替换现有版本,然后再次进入导入对话框检查。 以下是我已知的可能导致模型被无声拒绝的情况:

.fbx文件格式不符合要求。网上有相关信息,简而言之:不能直接使用SketchUp Pro导出的.fbx文件。对于SketchUp Pro 2015或更新版本,有一个插件可以将文件修改为【城市:天际线】所需的格式;对于旧版本,则需要使用Blender进行转换。 模型包含多个网格。在为谷歌地球建模时,我曾使用一个技巧:将一个小矩形放在一个大矩形前方几厘米处,以降低多边形数量(右侧示例),但【城市:天际线】无法处理这种情况。其他例子可能包括烟囱、屋顶窗或楼梯未通过面与模型其他部分连接。(有关如何判断哪些模型部分可能导致问题,请参见Blender相关章节。)使用某些模板时,你的模型可能会呈现出明显的偏色,例如偏红或偏蓝。这是由于模板中使用的颜色变化导致的。要“修复”此问题,请打开建筑设置对话框底部的【材质】部分,点击任意【颜色变化】颜色并将其设置为白色。预览模型将反映此更改并显示其正常颜色。 自定义建筑8 - 配置资产 首先要做的是调整宽度和长度(以单元格为单位)。如果你在上一步中设置的比例有误,现在就会发现建筑没有占据预期的单元格矩形区域。

现在你应该检查众多建筑属性。不同类型的建筑,其属性也有所不同!你可能需要禁用颜色变化(除非你真的希望建筑在后续呈现随机的色彩色调),并且如果你的建筑实际位于斜坡上,且在你的模型城市中也要放置在斜坡上,那么可能需要禁用“平整地形”选项。 你或许需要调整租户或工人数量以及类似设置,以便更好地将该资产用于游戏中的实际用途——而不仅仅是“看起来好看”。如果你想更好地理解某些数值(例如“吸引力累积”)的含义以及适合它们的数值范围,可以查阅【城市:天际线】的Paradox Wiki:资产属性页面。关于“材质”部分中的楼层变量——只有当你的建筑包含带有完全高光区域(数值255)的高光纹理(“_s”后缀)时,才需要这些变量。此类区域会显示为透明窗户,呈现“模拟室内地板”。为了正确放置该模拟地板,游戏需要诸如底层及后续楼层高度(以米为单位)等数据。命名不当的“楼层数量”实际上应是生成模拟地板的总上限高度。 在资产编辑器中有许多选项可用于添加道具(例如路灯、回收站、植被)。建议你使用标记来标识建筑物的入口,以便市民能够从街道走到建筑物的入口处。停车标记可让车辆在指定位置(靠近道路处)停放。请注意,你最多只能放置64个道具,其中包括标记,但不包括路径等。 最后步骤 当你认为模型看起来不错且已完成时,可使用工具栏中的【资产编辑器设置】为其创建预览图像。如果你觉得建筑物看起来偏黄——尤其是在这些快照中——可以考虑启用【Daylight Classic】模组,该模组会去除这种“日落般”的色偏。 现在你已完成所有操作,可以通过右上角的齿轮图标保存资产。这座建筑物现已准备好在游戏中使用。现在你可能需要做的事情是:彻底测试:放置位置是否正确(相对于单元格)?看起来是否符合预期(不太亮、不太暗、色彩不过于鲜艳)?是否有缺失的纹理甚至缺失的部件?夜间效果是否良好?功能是否正常(是否雇佣了正确的员工、是否提供了预期的医疗床位等)? 如果你已经做到这一步,那么恭喜你。现在你可以开始批量制作建筑了……当然,前提是你有时间。 参考资料:城市:天际线 模组制作 - 建筑资产创建、城市:天际线 维基 - 资产编辑器、城市:天际线 新手资产创建指南、教程:反光建筑的地板……为城市注入活力 在本章中,我将介绍让城市焕发生机的技巧。通过一座座放置建筑、一个个添加道具以及绘制道路,打造一个在暂停模式下看起来美观的城市是一回事。但重建一座在游戏中实际运行效果与现实中一样好(或几乎一样好)的真实城市则是另一回事。 我认为这是打造真实城市的“圣杯”,是否接受这个挑战由你决定。 正常游戏中的规则同样适用于“真实”城市。这包括住宅区、商业区和工业区的平衡,公共服务、公园的覆盖范围,以及功能完善的交通网络等。 待办事项:随着我自己在这方面经验的积累,本章内容将会扩充。目前,关于《城市:天际线》中“真实城市建设”的多个方面,有很多(视频)教程可供你阅读或观看。 参考讨论:如何创建真实的城市?——讨论了外观美观的城市与“实用”城市之间的区别。 最后 希望你喜欢我的教程并觉得它有所帮助,尽管它未能详尽涵盖所有方面。我始终欢迎改进建议和建设性批评,如果你有其他技巧、更高效的工作流程,或者发现了错误,都可以在评论中告诉我,以便我完善这份指南。谢谢。




换一换 






























