大家好 ^-^ 我想与大家分享一个我过去几个月一直在做的实验,即使用3D扫描来带来高斯噪的“Postcard”游戏环境。
这是一个名为Postcard的免费玩法技术演示,发布在Steam上:
https://store.steampowered.com/app/4032540/Postcard/
背后技术:
- 每个环境都涉及我拍摄一段15-30分钟的连续视频,地点随后处理视频成高斯噪(美观的可视层)和传统网格(用于地形碰撞和捕捉玩家阴影)。
- 我使用Teleport by Varjo处理视频成高斯噪(美观的可视层)和 Polycam生成传统网格(用于地形碰撞和捕捉玩家阴影)。
- Unity 6、HDRP... 但是HDRP的一点仅仅是字符和阴影模版放置在清晰的地形上._VISUAL_TERRAIN已经外部处理,没激动 效应任何东西... 只有4-5千万像素暗无光的高斯噪彩色弥散。
- HDReye 应用程序在我的手机上捕获一个全景图像用于基于图像的光照 (在加上一个Unity灯作为阴影投射的太阳)。
- Reallusion Character Creator 各种服装的人(和Soupday 导入工具)
- 很基础的 Unity-supplied 第三人称 Starter Asset 用于控制玩家 (一些小调整所以我能够改变根据地形类型每步的音效)。
- aras-p UnityGaussianSplatting 导入工具来自GitHub。
高斯噪虽然漂亮,但是工作起来真的很痛苦,因为它们没有典型的物理形状。试图使用editors的normal位置,大小和旋转工具对齐 mesh和噪点真是很难。然而,当它被激活并开始工作后,就会非常令人满意。
玩家阴影是在terrain碰撞网格中实现的,其中我做了一个基本的 shader图来接受阴影。然后,我因为环境已经有了一些真实的阴影,所以我就像合成玩家的阴影和背景图像/视频文件一样做处理。从而vertex 绘制可走的地形碰撞网格以取得一个基本的红色或绿色, Shader Graph 就是从这些色彩来作mask 规则...即可确定玩家阴影可根据图像。这样地形碰撞材质就变成纯黑色,但是其shadow alpha 就是根据vertex 进行绘制的绿色规则匹配(并乘以大约 0.4f, 因为玩家阴影太黑,所以我就让它不是那么黑暗的,以便玩家下面的色彩依旧可见)。
评论 (0)