Unity3D开发学习⑧ 镜头移动,镜头控制,处理边界

 

目录

 1.镜头移动

镜头移动首先应该是以玩家为中心

所以镜头移动的坐标应该以玩家的坐标作参考移动

而玩家的坐标是从Transform中设置的

所以应该为Main Camera新建一个脚本,在里面声明Transform对象用于获取玩家坐标

 

 //这里用不上Strat方法

在这里还需要知道大写开头的的函数名Transform只代表一个类型,需要有实际引用的变量

而小写开头的transform是代表了承载脚本组件的元素Main Camera自己的Transform变量(组件)

所以再update中更新需要调用的是transform

于是在代码中编辑transform的position就可以了

需要注意transform的position是三维,需要赋予三维向量,x,y轴随player,而z轴就使用默认的-10f就可以了(因为角色的z轴与相机的z轴不同)

 

 

 

 

 拖入player之后就可以预览一下了

但是这种情况背景图片不够大的情况下很容易就可以看见地图的边界,所以最好锁定一下y轴(设置为0f,主要是不看到顶,两边另说)

2.Cinemachine

处理地图边界侧漏问题(?)使用到的是Cinemachine

在window一路杀到Cinemachine点击安装(install)

 

 

 

 安装完之后就会多出这个玩意

 

 然后添加一个2D Camera

 

 这里的Follow就是指镜头的跟随,这里把player拖进去就可以执行康康

 

 然后就发现镜头的跟随变成了缓慢跟随(更加自然)

角色上还多个黄色点(镜头跟随点)

 

 然后在该组件中还有不少可以调整的参数(例如框中的锁死区域,就是超过这个区域之后镜头才会开始移动)

如果要调整镜头可以直接调整ScreenXY

3.处理边界Confiner

出现边界显然是背景不够大,压榨美术资源整张超大的地图不就好了(

 

 像这种能重复利用的背景图,新建一个object,复制几个back塞一块就可以了(

 

 

 

 像这样

而找到地图位置就需要额外添加扩展 

 

 

 

 而判断范围用的是Collider,所以需要给背景添加一个Collider

 

 

 

 然后给背景添加一个多边形Collider

然后编辑调整,拖拽到覆盖上整个background

 

 

 

 不需要的点可以选中点ctrl删掉

 

 添加Collider在拖拽之外还可以搜索添加

而因为Collider会对其他Collider产生物理碰撞,所以需要勾选isTrigger(表示这是个类似开关的碰撞箱,不会产生物理碰撞

 

 如果还是看得到边界(可能时预览的时候缩放调太大了

 

 或者是镜头调太大了,可以通过这个参数调整大小

搞腚

posted @ 2021-01-18 11:22  虚青海  阅读(1881)  评论(0编辑  收藏  举报