在unity用shaderGraph做出类似动物之森的柱状场景,甚至球状场景。

这个是模仿油管上NotSlot的视频https://www.youtube.com/watch?v=SOK3Ias5Nk0做的。
B站上也有人搬运。
最后的效果如下:
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
基本的原理就是离摄像机位置越远,相应的节点越往下。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
所以只要建立起Dy=f(d)的关系就行。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
用公式表达就是Dy=(worldPosition-CameraPosition).z^2*(-Amount);
Amount是个值在0.005~0.01之间的值用来控制弯曲度。因为是向下所以加一个Nagate节点变成负数。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
之后再加回世界坐标里(注意是要加到y里),把修改后的世界坐标进行投影变换就完成了。

但是就有两个问题:
1)由于视锥剔除是在CPU上进行的。而弯曲效果是在GPU里实现的。导致远端的物体本来应能看见,但被视锥剔除了。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
视频里解决方案是:
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
第二个问题就是由于即时渲染,导致修改场景很麻烦。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
解决方案是加一个boolean的关键字(Keyword)Enable,定义为重编译,范围是全局。然后用个脚本控制只在运行的时候才开起柱状场景的渲染。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。
球状场景就同理把x分量的距离考虑进去就行了。

在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。在unity用shaderGraph做出类似动物之森的柱面场景,甚至球面场景。

相关文章:

  • 2021-12-26
  • 2021-07-22
  • 2022-12-23
  • 2021-09-04
  • 2021-12-11
  • 2021-07-04
  • 2022-12-23
  • 2021-11-13
猜你喜欢
  • 2022-12-23
  • 2022-01-08
  • 2021-08-09
  • 2022-12-23
  • 2022-01-24
  • 2022-01-21
  • 2021-10-23
相关资源
相似解决方案