关于Unity3D第一视角下镜头穿墙的问题解决方法
阅读原文时间:2023年08月12日阅读:9

昨天做室内模型的时候,遇到一个非常棘手的问题,那就是第一视角在室内运行的时候,会出现穿墙的效果。类似下图效果,在靠近墙壁的时候,出现了镜头看见了墙壁外的情况,很显然这是不符合逻辑的。我们要做的就是避免这一问题的发生。

我的代码很简单,就是官方的FPS控制器,拿过来就能用。

我一开始遇到这个问题,也是搜了很多的资源,网上的答案层出不穷,脚本也是千奇百怪,但是这些对我来说,意义都不大,都没啥意义,根本没有解决问题,不是出现新的问题,就是脚本写的不好,好了,先不说人家了,也许是我的方式不对。

在我测试了N遍之后,终于看出了端倪,我终于找到了问题的原因。所以,步入正题

解决问题的方法就是:

将FPS中带的镜头,或者你第一视角里面的镜头子物体,里面的Camera组件中的Clipping Planes,如图所示,将此处的Near改成0.1或者更小的数,你需要的数,他官方自带的时候是0.3,会出现穿墙,但是调小以后,由于视角的剪切面缩小了,所以他就不会出现穿墙了。