当前位置:   article > 正文

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

unity 动森 镜头

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

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

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

在这里插入图片描述在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/127854
推荐阅读
相关标签
  

闽ICP备14008679号