前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >利用Cinemachine实现相机不穿墙效果

利用Cinemachine实现相机不穿墙效果

作者头像
全栈程序员站长
发布2022-09-01 14:02:14
3480
发布2022-09-01 14:02:14
举报

大家好,又见面了,我是你们的朋友全栈君。

以前一直都是代码控制,今天看见了这个插件,真的很好用,下面我们来看看,本人用的2018.1.7版本:

首先呢,导入我们想用的资源

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

点击上头编辑,选择CreatVirtualCamera

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

拖进去Sphere,相机会跟随并且看向他

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

点击这个按钮,可以给相机添加很多东西,这里说碰撞体Collider

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

这是添加后多出来的组件

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

这时候,如果后面有一堵墙,相机不会再往后靠

利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果
利用Cinemachine实现相机不穿墙效果

好了,下面说一下CinemachineCollider的各项设置

Obstacle Detection

Collide Against 可以跟什么层进行交互,发生碰撞

Ignore Tag 忽略哪些Tag物体

Transparent Layers 可以穿过哪些层(感觉跟第一个相反的说)

Minmum Distance From Target 摄像头距离物体的距离

Avoid Obstacles 是否避免障碍,勾选上才会判断是否碰到障碍停止

Distance Limit 摄像头会射出一个射线,为0的长度是从摄像头到目标的长度,如果是5,则是从摄像头发射一个5长度的线(不是到物体在加5)

Minmum Occlusinon Time 像是个延后判断的吧

Camera Radius 这个就很简单了,相机半径

Strategy

Pull Camera Forward 当相机和物体中间有障碍物时,让摄像头往前

Preserve Camera Height 保持高度绕过障碍物

Preserve Camera Distance 保持距离

Maxumum Effort 一次可以处理多少个阻挡物

Smoothing Time 平滑度

Damping 当摄像头到另一个位置回到原先位置的时候的平滑度

Damping When Occluded 跟上头差不多当Occluded 的时候

Optimal target Distance 没懂,如果有知道的请告诉我

Thanks♪(・ω・)ノ

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/140249.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年5月2,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档