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