在上一篇文章中,小编为您详细介绍了关于《小牛赛事报:一路连胜VG以黑马之姿晋级德杯四强》相关知识。本篇中小编将再为您讲解标题Steam游戏《TownScaper》技术分析!。
|
TownScaper是今年6月份上线Steam的建造类游戏,不过它的作者已经在twitter做了一年多的游戏开发日志。结合2019年欧洲独立游戏大会的一场演讲,EPC2018一场演讲,输出一下这个游戏的技术要点。 首先作者从业经验非常令人羡慕,在育碧Division干完后就自己出来单干独立游戏。
波函数坍缩 游戏的核心技术是波函数坍缩,本来是一个利用固定种子和连通性筛选迭代像素最后坍缩到稳定的图像内容的自动生成算法。
https://github.com/mxgmn/WaveFunctionCollapse#notable-ports-forks-and-spinoffs github.com/mxgmn/WaveFunctionCollapse 将2D算法转为3D算法的基础,就是下面这张Cube的匹配图。
完成理论基础建设后,作者设计的房屋建模。
每个Cube都不是一个完整的房子,所有完整的房子都是用若干个(4xn)模型块拼接而成。
下面是作者完成3D化的波函数坍缩的Demo地址。
非结构网格 如果你试玩了上面的Demo,会发现完成了生成算法的屋子都是方方正正的矩形布局。作者非常出彩的在六边形布局的基础上扩展了非结构网格生成算法,让房屋的布局摆脱一板一眼的方正布局。
算法的核心,每个菱形的中心和四个顶点的连接向量,统一到一个轴向上,随机给力,再还原到菱形的角度上。
网格变形 配合非结构网格的方案,每个Cube区块的模型根据当前网格的形状做扭曲。
沙滩和海浪 生成结束后根据生成轮廓线,再平滑,组合生成沙滩mesh,再外扩成海浪mesh
Italian wires 作者开发期心血来潮做了一个类似广场彩旗的细节,在整体风格变得“威尼斯”之后,改成了高空的晾衣绳。
上线之后又加了圆形浮空岛下面加螺旋桨的细节。 庭院 在房屋形成的封闭空间里二次进行波函数坍缩计算,这次模型换成庭院围墙组,2D版算法即可。
Boids 每个鸟落在屋顶的时候一个模型,起飞的时候一个模型,飞行动画是shader写的顶点基于高度的偏移。 鸟群计算用Boids算法
利用房屋模型外表面法线判定飞行范围和落脚位置
植被 灌木利用视错觉而非CG技术制造立体感。 关于凹脸错觉看过这种玩具的人就秒懂。
环境光 通过分层写RT记录空间信息,偏移采样获得颜色。
像素风格化 粗化描边
Moody Clouds 环形缓慢旋转的天空盒
包围盒计算和球面相机 通过已有建筑计算包围六边形,用屏幕中心射线确认相机锚点
保存数据 所有数据序列化成编码,本地复制和网络分享功能就完成了。
总结 26块钱买个技术玩具,不亏。 来源:知乎专栏:人类本质复读机 |
编后语:关于《Steam游戏《TownScaper》技术分析!》关于知识就介绍到这里,希望本站内容能让您有所收获,如有疑问可跟帖留言,值班小编第一时间回复。 下一篇内容是有关《赛博朋克2077超梦不兼容怎么办?超梦片不能看解决方法[多图]》,感兴趣的同学可以点击进去看看。
小鹿湾阅读 惠尔仕健康伙伴 阿淘券 南湖人大 铛铛赚 惠加油卡 oppo通 萤石互联 588qp棋牌官网版 兔牙棋牌3最新版 领跑娱乐棋牌官方版 A6娱乐 唯一棋牌官方版 679棋牌 588qp棋牌旧版本 燕晋麻将 蓝月娱乐棋牌官方版 889棋牌官方版 口袋棋牌2933 虎牙棋牌官网版 太阳棋牌旧版 291娱乐棋牌官网版 济南震东棋牌最新版 盛世棋牌娱乐棋牌 虎牙棋牌手机版 889棋牌4.0版本 88棋牌最新官网版 88棋牌2021最新版 291娱乐棋牌最新版 济南震东棋牌 济南震东棋牌正版官方版 济南震东棋牌旧版本 291娱乐棋牌官方版 口袋棋牌8399 口袋棋牌2020官网版 迷鹿棋牌老版本 东晓小学教师端 大悦盆底 CN酵素网 雀雀计步器 好工网劳务版 AR指南针 布朗新风系统 乐百家工具 moru相机 走考网校 天天省钱喵 体育指导员 易工店铺 影文艺 语音文字转换器