如何实现快捷草效果?


22

我一直在看一些来自Rocket League和FIFA等游戏的屏幕截图:

火箭联盟

火箭联盟

国际足联

我开始怀疑有人能达到捷径的效果。

它是着色器吗?它是实际的几何形状吗?还是只是纹理四边形?如果有人能指出我的方向,将不胜感激。


5
+1,非常有趣的问题。我可以想象这可能是一个着色器(几何形状可能会导致滞后,带纹理的四边形看起来可能更平坦),但是我不确定。
2015年

2
在软件渲染器中,通常使用置换贴图和许多顶点来完成。在仔细观察之后,似乎他们也以非常聪明的LOD在这里使用了它。我猜最有可能使用置换着色器。
akaltar

我认为他们正在使用视差映射。我在火箭联赛的屏幕截图中对此很有把握。
塔拉

@akaltar是的,我认为您是对的。但是他们做到了LOD,它是100%无缝的
Daniel Holst

我将尝试使用着色器和细分来重新创建它。
Daniel Holst

Answers:


7

您可能需要研究皮草着色技术。这就是我要使用的这种草的类型,因为草越短越好,表现越好(层数越少)。
基本上,它是通过以较小的增量多次层叠相同的表面来工作的: 几层

在此处输入图片说明

您还可以更改水平偏移以使草看起来弯曲。


这很有趣,所以我认为我建议从本文
Leggy7

2

最有可能是使用视差遮挡贴图的着色器,它使用法线贴图“伪造”纹理中的深度和阴影。有关示例,请参见此处

编辑:正如@Leggy指出的那样,它可能是位移贴图,因为脚似乎在草地之间移动。无论如何,这是某种高度映射着色器:)


我不这么认为,因为在那种情况下,脚不会在树叶后面露面。位移映射在我看来是他们执行此操作的最可能方式
Leggy7

我认为,如果不是矮草丛,那是可以的,您可以在这里“降低地面”,如果我没记错的话,视差映射的计算速度更快。但是您可能是对的,我将编辑我的答案。
Bluk

2
您可以使用视差遮挡贴图并写入深度缓冲区以遮挡脚,这很可能是所使用的技术。Uber着色器可以查看可下载的演示。assetstore.unity3d.com/en/#!/content/39959
SEPH
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.