目前大部分第三人称游戏的摄像机在遇到墙壁等狭隘空间的时候,都选择让摄像机不穿越到墙壁里面,而是让摄像机保持在墙壁表面。

分析情况:(红色方框为摄像机 黑色方框为墙壁)

当前情形摄像机还没达到墙壁摄像机仍保持正常效果。

当人物进一步靠近墙壁的时候,摄像机穿过墙壁。(造成后果,摄像机视角中墙壁被透明化)

当人物靠近,摄像机不会穿越墙壁而处于墙壁表面上的位置(这是我们想要的效果)

实现效果分析:

出现摄像机穿越的问题,正是摄像机与人物之间出现了其他物体,而摄像机不做任何处理。

所以我们可以通过着手处理 摄像机与人物之间的物体来实现效果。

我们可以通过射线检测。

通过在人物与摄像机之间增加射线(实现当前效果,射线必须从人物身上发出到摄像机上,原因分析在最后内容)

当射线检测到人物与摄像机之间有碰撞物体,我们可以通过获取射线碰撞信息来确定碰撞点,将摄像机的位置移动到碰撞点上,我们便能实现我们需要的效果。

如果射线是从摄像机发射到人物身上的,我们实现的效果会不一样。如图

摄像机新位置会处于外墙上面,摄像机镜头中的墙壁,也会变成不可视。

射线起点的不同对应着两种不同的效果,看个人需求使用。

如果想了解代码,可以查看官网资源包的滚球游戏。

【C#】【Unity】第三人称摄像机跟随人物移动时碰撞到墙壁等,摄像机不穿越墙壁相关推荐

  1. Threejs实现键盘控制人物行走跳动/Capsule碰撞体(胶囊体)/碰撞检测(Octree八叉树)/游戏第三人称/镜头跟随人物移动

    个人主页: 左本Web3D,更多案例预览请点击==> 在线案例 个人简介:专注Web3D使用ThreeJS实现3D效果技巧和学习案例

  2. Unity学习笔记(一):第三人称镜头和人物移动

    凭借一腔热情,想着大学做点什么事,就想着做个游戏出来.之前没有接触过unity等各类引擎,学习了一段时间发现有许多地方挺复杂的,开个专栏记录一下学到的东西. 基本目标是做一个RPG式的游戏,涉及的东西 ...

  3. Unity 第三人称 摄像机

    今天主要是简单的模拟下吃鸡游戏的第三人称摄像机的实现. 观察 我们玩过吃鸡手游的都知道,吃鸡的人物跟随的摄像机有两种状态 1. 滑动屏幕的时候,摄像机左右上下移动,人物也会跟随着左右移动,上下抬头低头 ...

  4. Godot Engine:用InterpolatedCamera实现第三人称游戏跟随摄像机

    在第三人称类型游戏(即TPS或者TPP)中经常要实现摄像机跟随角色的效果,如果直接把摄像机作为角色子节点,由于没有任何缓冲得到的效果会非常生硬,Godot提供了一个InterpolatedCamera ...

  5. unity 3D场景摄像机跟随人物

    3D场景摄像机跟随人物 2d场景和3d场景跟随不一样,但是有些还是相同的,就因为3d场景中人物旋转方向导致摄像机不能始终和人物方向一致很麻烦.所以下面提供一种挺不错的方法来帮助你. 效果如下: 效果就 ...

  6. Unity第三人称的实现思路(二)

    Unity第三人称的实现思路(二) 锁定视角动画设置 锁定视角摄像机 角色朝向控制 主要代码 这一次我们在上一篇自由视角的基础上加上锁定视角的功能,没有看过上一篇的点下方链接. Unity第三人称的实 ...

  7. Unity3D摄像机跟随人物

    本篇文章和大家介绍的是摄像机跟随人物,这里的视角主要是从人物的背后跟随的. 首先新建一个C#脚本,命名为MyFollow,然后把以下代码粘贴进去,保存: AخA 1 using UnityEngine ...

  8. unity第三人称射击游戏_在游戏上第3部分完美的信息游戏

    unity第三人称射击游戏 Previous article 上一篇文章 The economics literature distinguishes the quality of a game's ...

  9. unity 第三人称射击游戏中如何防止跟随摄像机穿墙?

    在制作3d射击类游戏中,会遇到跟随角色的摄像机会穿透墙壁导致视野不佳情况,下面,介绍一下具体的解决方法. 我们需要用到的原理就是unity中射击线函数.具体的原理是,从相机的跟随点向相机的方向发射一条 ...

最新文章

  1. win7怎么修改oracle登陆密码,win7账户密码如何修改|win7修改账户密码的详细步骤...
  2. 大数据如何在商业银行战略规划中发挥作用
  3. VS2015编译Boost1.64
  4. 8086汇编复习4 - int指令 - 使用emu8086
  5. Leetcode: Validate Binary Search Tree
  6. python爬取豆瓣电影并分析_Python爬取豆瓣电影的短评数据并进行词云分析处理
  7. leetcode —— 面试题61. 扑克牌中的顺子
  8. C++与Java语法上的不同,互联网 面试官 如何面试
  9. 《设计原本—计算机科学巨匠Frederick P. Brooks的反思》一一第 2 章 工程师怎样进行设计思维―理性模型 2.0...
  10. 中南大学-大学生心理健康教育-MOOC/雨课堂-图片版答案(期末测试)
  11. 让控件如此丝滑Scroller和VelocityTracker的API讲解与实战——Android高级UI
  12. [HDOJ 4889] Scary Path Finding Algorithm [SPFA]
  13. 如何解决ABBYY FineReader 12识别字体字符错误的问题
  14. CSS中的filter与backdrop-filter属性的异同点
  15. 富文本编辑器上传图片的功能
  16. Transact-SQL基础语言(数据检索)
  17. Apache的Order Allow,Deny 规则
  18. Qt开源作品33-图片开关控件
  19. Nginx 设置域名转发到指定端口
  20. C语言中强制数据类型转换

热门文章

  1. 错误:未报告的异常错误,必须对其进行捕获或声明以便抛出
  2. php可以发短信的代码,php实现短信发送代码
  3. [面试]英文面试问答
  4. 如何用Python生成二维码
  5. C#,基于视频的目标识别算法(Moving Object Detection)的原理、挑战及其应用
  6. 贵阳中天会展城A10大平层350平米户型装修设计效果图
  7. 对WXin执行回插入代码后的回编译操作
  8. 大数据之Hadoop简介及环境搭建
  9. 【枚举与countDownLatch的应用】
  10. 以“降”为进,阿里云“被集成”