Unity3d实现相机的跟随缩放旋转

博主分享了如何在Unity3D中实现相机跟随角色并防止穿墙的问题。通过创建MouseLook脚本,调整distanceAway和distanceUp参数以适应不同模型,并利用射线碰撞检测优化相机位置,解决了相机穿墙的现象。同时,加入了角色按右键旋转的控制功能,但存在镜头缩放异常的问题,有待进一步完善。
摘要由CSDN通过智能技术生成

        今天博主研究了很久,看了很多种摄像机跟随角色的代码,感觉很多都达不到自己想要的理想实现效果。于是参考了多个脚本,自己做出了修改和完善,达到了第三人称角色控制还算是比较理想的效果吧。相机除了跟随角色的功能外,还有最大的一个问题就是喜欢“穿墙”,于是对于这些代码做了比较好的优化。具体原理大概就是使用一条从玩家角色位置发射的射线,当碰撞到任何不属于相机的物体时,就拉近相机的位置,避免“穿墙”的发生。下面来看脚本注释,首先创建一个C#的MouseLook脚本,我们开搞!



    MouseLook脚本写好以后,把它赋予给场景摄像机,运行查看效果。如果效果不理想,可以在脚本面板中修改其distanceAway和distanceUp参数(毕竟每个人的模型大小不一样吗)。这个脚本主要实现了第三人称控制的人物跟随,缩放,最重要的是还能防止“穿透”现象。但是还没完,我们需要在角色的控制脚本MouseMove的Update函数中加入下面几行代码。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值