【Unity】实现相机跟随及视角转动

本文介绍了在Unity中实现相机跟随角色移动的两种方法,包括将Camera置于Player下和使用CameraHandle与Pivot的结构。同时,详细讲解了如何通过脚本实现视角的左右和上下旋转,提供了一种平滑的玩家视点控制方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

【unity】实现相机跟随,人物移动请参照【Unity】 实现角色移动、视角旋转以及跳跃

第一种实现方法(比较简单)

1.创建一个Camera,将Camera置于物体Player

在这里插入图片描述随意拖动Camera到合适的位置

在这里插入图片描述
具体参数【仅供参考】

在这里插入图片描述
运行效果如下

在这里插入图片描述

第二种方法

1.创建两个空物体CameraHandlePivot,将相机拖动到Pivot下,具体如图所示

在这里插入图片描述
其中CameraHandle是控制相机上下移动,Piovt是控制相机的左右移动

Main CameraPosition->Z改为-5

2.新建一个相机跟随脚本CameraHandle.cs

LateUpdate中添加相机跟随代码

void LateUpdate()
{
	transform.position = targetTransform.position;
}

运行效果如下,此时镜头就会跟随我们控制的Player对象,此处添加了多个参照物以验证相机跟随
在这里插入图片描述
接下来需要实现镜头的旋转,也是人物视角的旋转

声明变量

float mouseX;
float mouseY;
float pivotClamp;

Update中将鼠标移动的值赋给mouseYmouseX

void Update()
{
	mouseX = Input.GetAxis("Mouse X");
	mouseY = Input.GetAxis("Mouse Y");
}

LateUdpate中添加视角旋转代码

左右视角旋转代码10f 为旋转速度)

Vector3 rotation = Vector3.zero;
rotation.y += mouseX * 10f;
transform.Rotate(rotation);

上下视角旋转代码5f 为旋转速度,35和-35为旋转的极限角度)

Vector3 rotation2 = Vector3.zero;
pivotClamp -= mouseY*5f;
pivotClamp = Mathf.Clamp(pivotClamp, -35, 35);
rotation2.x = pivotClamp;
cameraPivotTransform.localRotation=Quaternion.Euler(rotation2);

运行效果如下
在这里插入图片描述

恭喜你完成了本次教学,后续更新的文章多多支持

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值