GameDesign 板


LINE

其实好像不算是个 100% 的程式主题。 毕竟是 Shader 所以应该算技美=50% 程式+50% 美术? 今年初在完成游戏 AI 的翻新後,决定放自己一长段时间的假暂时不要想现在游戏专案的 开发。於是二月、三月、四月期间我做了一系列无关手上专案的游戏实验。 三月的时候我研究起了能怎样在短时间内建构一个能被有效使用的世界,不过当时日本政 府国土交通省正巧公布了一个全国都市建模计画,可以说是与上面研究的部分内容重叠甚 至让上面的研究变得不必要。 於是我一边有点悻悻然地整理成果写起了工作流程研究文章,一边构思接下来该研究什麽 才好。於是四月时就将研究转移到奠基於前述既有建模,能怎样拿来利用的部分。 一、完整的东京 23 区建模 Plateau 计画是一个要将全日本都市都进行建模的土木计画。 这个大前提代表了几件事情: -土木用途为重,例如说疏洪防灾的模拟计算,资料完全不是为了游戏而准备的 -也毕竟是土木用途为重,建模品质并无一致 --大约只有一成以下的建模是 LOD 2 级(形状完全正确,附加低解析度材质) --其余则是 LOD 1 级(只有外框形状正确) 也因此说是与前述工作流程部分重叠而已,因为要根据这样的资料做成能用的场景还是需 要进行相当的额外处理。 截止到现在为止,全国的建模都已经被公布了,而今年三月公布这个计画的初期成果是东 京 23 区的完整建模。那一成的精细建模还附赠超大的材质,而就算用上了几 GB 的材质 ,实际上也只是低解析度的平面贴图,近看完全不行。 因而让我想研究能怎样以此为基础延伸。 但也先说现阶段我完全不建议任何人尝试以 Plateau 的建模资料去制作游戏。光是要放 进去 Unity 正常执行就很折腾了 XD 倒是熟悉 Unreal 的人或许可以试试看 UE5 的 Nanite 对於自动处理这些资料的效果有多 好。在我初步的尝试中感觉是还不错,如果未来要延伸 Plateau 建模应用的话,我应该会 拿来当作藉口摸 UE5。 二、纯 Shader 的无材质表现 去年底的时候因为 Digital Foundry 的介绍让我注意到了《空战猎鹰(Falconeer)》这 款游戏,这款游戏只使用了 Shader,甚至所有的 UI 都是用 Shader 写出来的成果而没 有使用到任何材质。唯一的例外是因为主机效能问题生成海洋的杂讯有事先生成出来的材 质。 虽然游戏性本身并不是我特别喜欢的部分,但是视觉表现的部分却相当惊人,也因为是 纯 Shader 表现的而能以一人之姿完成这款开放世界游戏。在追踪了解的访问中可以了解 到一些这个实作能带来的性质与好处: (一)游戏里面所有光线表现都独立於 Unity 本身的光线渲染 也就是 Unlit(不受光),因此可以很有目的性地表现出理想的视觉。 (二)由於完全不使用材质,所以整个游戏的记忆体需求极小 小到他可以一次性载入整个开放世界不用进行效能管理。 (三)大部分的 Shader 表现具备自动化的性质 像是根据在世界中的高度决定雪、草的密度,因此他可以着重在建模出正确的形状就好, 丢进去游戏里就会自动看起来正确。 虽然作者也说做出一套可以完全覆写掉 Unity 光线表现的机制就花了他一整年,但成果 就是可以一人做出相当规模又有特色的开放世界。符合我之前做的研究,能够相对低(人 力)成本地实现高品质的表现。 三、实验 由於我原本三月的研究就已经覆盖到了只仰赖 Shader 表现建物,这次全面性的光线表现 覆写实验中,我想要做性质更加歧异的方向。 於是就决定表现看看沉在水底的都市样貌。 目标就是从素模: https://imgur.com/YVODxBc 变成这样: https://imgur.com/9FK3uoO 四、实作 以下就开始讲述一些为了模仿水下表现而尝试的东西。由於我的 Shader Code 研究还不 够充分,因此实验中是使用 Unity 2020.2 的 Shader Graph 制作。 (一)波纹 https://imgur.com/J0hjjp6 应该有很多人在触及水面 Shader 时都已经知道了,Voroni 图姑且可以表现出像是水的 波纹的感觉。在这个例子中,对於所有 Shader 都进行一个上往下的正投影表现。 (二)沙子 https://imgur.com/m61UYRk 基本上沙子有与无的堆积可以使用 Gradient Noise 的密度去表现,根据世界高度来决定 就可以轻易表现出来。 (三)沙丘 https://imgur.com/eftBRGR 同样根据 Gradient Noise,只要调整地板模型的顶点(Vertex)就可以营造出高低起伏 。 (四)远景渐层 https://imgur.com/WeGTLCF 这部分用了一个从《空战猎鹰》作者学来的手段:直接在玩家周围围一颗半透明的球。 https://imgur.com/ETDpBjV 写一个 Shader 根据镜头距离控制这颗球的颜色、透明度,将颜色分别渐变两次。 这颗球也就充当 Skysphere 使用,写了一个表现水面波纹的表现。 https://imgur.com/SImV5ax (五)闪烁的沙粒 https://imgur.com/SabpLWw 波纹所使用的是 Voroni 图的边线,将它倒转的话就变成了「点」。过去曾经用来仿造星 空,用来散播某种性质的不规则点,拿来当闪烁的沙粒也非常适用。 三天实验的测试,全部加在一起就变成了这样: https://imgur.com/w1IYMZX 最後完成的 Shader 基本上就是有一些共同使用的子 Shader 去固定处理像是波纹的投影 表现,确保跨 Shader 之间呈现出来的波纹是一致的。 五、延伸 这里流水帐地提一堆可以额外改良的空间: -波纹不需要只用正投影,可以根据时间变化有角度的改变 -所有表现都可以纳入深度会降低光线概念处理 -任何杂讯都可以用好几层杂讯去叠,避免高处观看时会有规律感 而最後,确实依然可以说这样的画面还是缺乏精细感,也因此或许不需要正面对决,而是 可以刻意使用低解析度表现: https://imgur.com/R4c7Q5f 就像《A Short Hike》的低解析度完全是为了隐藏表现能力的不足,但也没有因此而影响 游戏体验,反而增加了相对於有限解析度的圆满感。在玩家太容易被画面精细度、密度影 响评价的时代中,显然是个有价值可以利用的手段。 六、结论 《空战猎鹰》的作者说他「当年为《上古卷轴五》制作模组时发现只要使用杂讯就能表现 出雪」而感到感动。确实在这次的实验中我也觉得相当地有趣,无论是哪种表现,实际上 都只需要靠杂讯、投影就可以轻易制作出有趣的视觉效果。 虽然精细度、密度上比起 3A 作品远远不足,但也无妨,这样的手段反而可以确保仅仅一 人的愿景得以实现,而不需要永远只感叹於人力上的不足而难以行动。 当然像这样的表现也只适合用在几乎仰赖环境光源的设定,例如说如果要自己写一套机制 可以让街灯等光源真正提供颜色的话会比较麻烦,这就是需要取舍的地方了。 大概这样提供参考。 如果愿意听英文的话,最近《空战猎鹰》的作者有一部非常详尽的访谈影片: https://youtu.be/5d8tx6K6hkk
基本上可以说是只要照着这部影片逐步实作,就可以完成一个视觉跟《空战猎鹰》同等级 的作品 XD 只是要完善化配色、用自己的方式覆写掉整个光线表现或许会需要跟作者一样就使用上至 少一年以上的时间,但在那之後就会换来一套可以自由创作的开放世界的空间了。 --



※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.169.63.38 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1632478537.A.B59.html ※ 编辑: dklassic (1.169.63.38 台湾), 09/24/2021 18:16:34 ※ 编辑: dklassic (1.169.63.38 台湾), 09/24/2021 18:16:57 ※ 编辑: dklassic (1.169.63.38 台湾), 09/24/2021 18:18:57 ※ 编辑: dklassic (1.169.63.38 台湾), 09/24/2021 18:34:38 ※ 编辑: dklassic (1.169.63.38 台湾), 09/24/2021 19:08:42
1F:推 newhandfun: 厉害,推 09/24 19:12
2F:推 oopFoo: https://www.shadertoy.com/ 09/24 19:58
4F:推 wangm4a1: 推 09/25 08:05
5F:推 meowyih: 风之旅人好像也是这类作法?画面给人的感觉好类似 09/25 11:36
虽然同样非常仰赖 Shader 表现特定效果,Journey 应该没特别避开使用材质 XD 呈现出来的性质类似主要应该是相对低多边形、用色单纯(纯色或纯渐层)的原因。 ※ 编辑: dklassic (1.169.63.38 台湾), 09/25/2021 12:35:06
6F:推 oopFoo: https://www.shadertoy.com/view/ldlcRf 09/25 13:47
7F:推 grezod: 感谢分享 看完想玩一下shader 09/26 09:01
8F:推 johnkry: 了不起 09/27 10:36
9F:推 a82611141: 推 09/29 03:41







like.gif 您可能会有兴趣的文章
icon.png[问题/行为] 猫晚上进房间会不会有憋尿问题
icon.pngRe: [闲聊] 选了错误的女孩成为魔法少女 XDDDDDDDDDD
icon.png[正妹] 瑞典 一张
icon.png[心得] EMS高领长版毛衣.墨小楼MC1002
icon.png[分享] 丹龙隔热纸GE55+33+22
icon.png[问题] 清洗洗衣机
icon.png[寻物] 窗台下的空间
icon.png[闲聊] 双极の女神1 木魔爵
icon.png[售车] 新竹 1997 march 1297cc 白色 四门
icon.png[讨论] 能从照片感受到摄影者心情吗
icon.png[狂贺] 贺贺贺贺 贺!岛村卯月!总选举NO.1
icon.png[难过] 羡慕白皮肤的女生
icon.png阅读文章
icon.png[黑特]
icon.png[问题] SBK S1安装於安全帽位置
icon.png[分享] 旧woo100绝版开箱!!
icon.pngRe: [无言] 关於小包卫生纸
icon.png[开箱] E5-2683V3 RX480Strix 快睿C1 简单测试
icon.png[心得] 苍の海贼龙 地狱 执行者16PT
icon.png[售车] 1999年Virage iO 1.8EXi
icon.png[心得] 挑战33 LV10 狮子座pt solo
icon.png[闲聊] 手把手教你不被桶之新手主购教学
icon.png[分享] Civic Type R 量产版官方照无预警流出
icon.png[售车] Golf 4 2.0 银色 自排
icon.png[出售] Graco提篮汽座(有底座)2000元诚可议
icon.png[问题] 请问补牙材质掉了还能再补吗?(台中半年内
icon.png[问题] 44th 单曲 生写竟然都给重复的啊啊!
icon.png[心得] 华南红卡/icash 核卡
icon.png[问题] 拔牙矫正这样正常吗
icon.png[赠送] 老莫高业 初业 102年版
icon.png[情报] 三大行动支付 本季掀战火
icon.png[宝宝] 博客来Amos水蜡笔5/1特价五折
icon.pngRe: [心得] 新鲜人一些面试分享
icon.png[心得] 苍の海贼龙 地狱 麒麟25PT
icon.pngRe: [闲聊] (君の名は。雷慎入) 君名二创漫画翻译
icon.pngRe: [闲聊] OGN中场影片:失踪人口局 (英文字幕)
icon.png[问题] 台湾大哥大4G讯号差
icon.png[出售] [全国]全新千寻侘草LED灯, 水草

请输入看板名称,例如:e-shopping站内搜寻

TOP