这个回答想从游戏技术的角度解释一下,刺客信条系列的建筑是怎么做出来的?为什么这么像实景?笔者的专业是建筑学,所以感到这个技术很有意思。
最开始玩AC2的时候非常震撼的,西方建筑史里面背过的教堂和广场直接在游戏里见到了,看到的时候简直想哭。论城市场景,我只服育碧爸爸。嗯废话少说,下面开始讲正事。
主要的参考是今年GDC2016的一个演讲:Assassin's Creed Syndicate London' Wasn't Built in a Day,来自育碧魁北克工作室,讲的是2015年发行的刺客信条:枭雄(Assassin‘s Creed: Syndicate)中,维多利亚时代的伦敦是如何做出来的。官方技术解密哦。
当然啦,地标建筑肯定都是美术手堆的。比如威尼斯圣马可广场,佛罗伦萨圣母百花大教堂这种。
对场景美术来说不是什么难事,制作方只要肯投时间投钱,肯定能做出来。
难点在于城市的背景性建筑,就像下图这些房子。几千几万栋,让美术手工建的话,花多少钱啊,太费时间了。
育碧开始放大招了。
育碧魁北克团队做了一套生成建筑的工具。这个维多利亚伦敦场景的模型有七千多栋房子。都是用他们的工具做的。
首先是路网,在他们的工具里可以手工直接画出道路。道路完成后,道路中的街块就自动生成房子了。
房子分成前后屋顶等等几部分处理。
做了很多组件,这些组件都是模数化的。比如窗户是3m宽的,柱子是0.5m宽。还有2*3米宽的飘窗等等。用这些组件来拼合成下面这个建筑立面。
组件组合的时候比较有灵活性,比如说3m的窗户插到柱子里,总长是3m。接在柱子两端,总长是4m。等等等等。这样开间有很多种变化方式,再加上还有层数的变化。
之后他们做了不少建筑的模板,可以替换组件的。这样就可以美术做很多组件,然后拼出不同的房子了。
比如你看下面这个街道里面,有几个房子长得很像是不是。
街道上有一些小品,房子上还会放一些装饰件,这些就都小case了。
基本的思路就是这样。考据一下伦敦的历史地图。历史地图还是比较好找的,一方面是欧洲地图技术发展的比较早比较好,另一方面城市保护做的比较好,很多古代的城市肌理还保存到了今天。美术对着地图建路网,放上地标建筑。背景性的房子用模板-组件的方式填充上就好了。这些组件参考当时的建筑风格做一些,模板也是。大概的城市肌理会保留,至于尺度感只要差不多合适就可以了,应该也不会细究。这些都做到,玩家就会觉得场景很真实了,我猜也没人去细究每一栋房子是不是符合历史。
学建筑的肯定会对这种方式非常熟悉。这不就是模块化建筑吗。20世纪20年代魏森霍夫建筑展时格罗皮乌斯就提出工业预制住宅了,欧洲战后住宅更是实践的广泛。我国解放后也搞过大板建筑体系,最近国家在推装配式住宅也是同样的思路。
日本KSI体系,SI指的(Skeleton-Infill),框架结构加填充物,模块化装配。和育碧这套工具对应就是框架结构=模板,填充物=组件。
育碧这套工具除了生成模型速度快,还有一个优点是迭代速度快。同样一个房子可以快速更换模板和组件。路网改变时建筑模型会跟随路网自动生成。
建筑/机械里面这种方法看着很眼熟啊,叫做参数化设计,建立零件之间的数据关系,易于修改。像CATIA这种参数化软件本质上也是节点式(可能应该说树状)的组织结构,和MAYA,Houdini无比相似。建筑学生可能更熟悉的是Grasshopper。
这类方法在计算机图形学里叫做过程式建模(或程序式建模,
Procedural modeling),大概可以理解为一种基于规则的建模方法。做参数化设计熟悉的L-system,Fractal等等的也算过程式建模的方法。游戏里用的比较多的比如Houdini,SpeedTree,WorldMachine,Substance Designer这些软件都可以算过程式建模。我一个研究建筑参数化的居然最近才知道这个过程式建模这个名字,醉了,真是感觉隔行如隔山。
最近非常火热也有很多人吐槽的无人深空(
No Man's Sky)就是宇宙级别地应用过程式生成算法,动物,植被,地形,星球,飞船都是过程式生成的。
话说回来,这种大批量制作建筑的方式也有不少现成的工具可以自己玩玩的。比如MAYA插件,
Ninja City - Maya Script和
kludge city,还有在Python写的
Procedural City Generation,以及更著名一点的CityEngine。当然也可以直接拿Houdini或者Rhino/Grasshopper做。地图的数据直接上
OpenStreetMap下载就可以了,OSM格式就是一个xml,有api可以解析。Grasshopper里直接用
Elk | Grasshopper插件就能读地图数据。希望大家玩得开心。
最后作为育碧爸爸的粉丝再膜一次。
以上。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 tinynews.org All Rights Reserved. 百科问答小站 版权所有