Unity自制锁定敌人镜头与自由镜头丝滑切换

2023-08-11 20:42:46 来源:哔哩哔哩

在Unity中开发战斗系统的时候,会需要镜头从第三人称自由镜头切换到锁定怪物镜头的情况,从而使得玩家方便进行战斗与自由移动。


(资料图片)

尝试了用Cinemachine虚拟相机的LookAt来进行锁定的效果始终不符合预期(也可能是我没有调到合适的参数),于是就试着参考网上的教程来自己制作镜头和镜头切换了,这里就大概记录一下吧,顺便给自己整理下思路:

创建空对象CameraHolder,将他的位置放在角色的后脑勺,并创建子对象Pivot(意思是中心点,转动中枢),将主相机放在Pivot内,调整相机的位置使得相机能照到角色全身。

创建Camera Manager脚本,并挂载到Camera Holder处,以下是定义的一些参数。

声明的参数和初始化如下:

编写脚本函数,主要的函数有三个:

根据鼠标移动让镜头延迟跟随的函数,这部分根据玩家角色位置做个Lerp跟随就可以了:

镜头转角函数(是实现切换镜头的核心函数,我以自己的理解写了一些注解,仅供参考):

通过外部按键切换锁定状态函数:

函数调用

Tick与HandleRotation可在你的角色控制器中调用,以官方的为例,可以加在原来的CameraRotation函数中,将其结构改为:

切换锁定状态函数SwitchLockOnState在任意Update函数调用即可,这里统一结构依旧在调用:

大功告成,将对应的物件置入脚本中,就可以使用你定义的锁定键来实现敌人的锁定和解锁啦!

第一次写Unity的学习笔记,希望这个笔记能帮到正在学习Unity的你~

参考教程:

1、/watch?v=ud3_tderJOQ

2、/video/BV1gW411T7yb/?spm_id_from=_right_bar_window_custom_&vd_source=e901f99fe3148e0c73c7ea3e6107027f

CSDN文章链接:/Origamihui/article/details/132237699

标签:
x 广告
x 广告

Copyright @  2015-2023 港澳晚报网版权所有  备案号: 京ICP备2023022245号-31   联系邮箱:435 226 40 @qq.com