今天博主研究了很久,看了很多种摄像机跟随角色的代码,感觉很多都达不到自己想要的理想实现效果。于是参考了多个脚本,自己做出了修改和完善,达到了第三人称角色控制还算是比较理想的效果吧。相机除了跟随角色的功能外,还有最大的一个问题就是喜欢“穿墙”,于是对于这些代码做了比较好的优化。具体原理大概就是使用一条从玩家角色位置发射的射线,当碰撞到任何不属于相机的物体时,就拉近相机的位置,避免“穿墙”的发生。下面来看脚本注释,首先创建一个C#的MouseLook脚本,我们开搞!
MouseLook脚本写好以后,把它赋予给场景摄像机,运行查看效果。如果效果不理想,可以在脚本面板中修改其distanceAway和distanceUp参数(毕竟每个人的模型大小不一样吗)。这个脚本主要实现了第三人称控制的人物跟随,缩放,最重要的是还能防止“穿透”现象。但是还没完,我们需要在角色的控制脚本MouseMove的Update函数中加入下面几行代码。