[Unity学习教程] 【Unity】实现相机跟随及视角转动

[复制链接]
查看919 | 回复0 | 2023-8-23 11:38:44 | 显示全部楼层 |阅读模式 来自 中国北京
【unity】实现相机跟随,人物移动请参照【Unity】 实现角色移动、视角旋转以及跳跃
第一种实现方法(比较简朴)

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

随意拖动Camera到符合的位置

具体参数【仅供参考】

运行效果如下

第二种方法

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


此中CameraHandle是控制相机上下移动,Piovt是控制相机的左右移动
Main CameraPosition->Z改为-5
2.新建一个相机跟随脚本CameraHandle.cs

LateUpdate中添加相机跟随代码
  1. void LateUpdate()
  2. {
  3.         transform.position = targetTransform.position;
  4. }
复制代码
运行效果如下,此时镜头就会跟随我们控制的Player对象,此处添加了多个参照物以验证相机跟随

接下来必要实现镜头的旋转,也是人物视角的旋转
声明变量
  1. float mouseX;
  2. float mouseY;
  3. float pivotClamp;
复制代码
Update中将鼠标移动的值赋给mouseYmouseX
  1. void Update()
  2. {
  3.         mouseX = Input.GetAxis("Mouse X");
  4.         mouseY = Input.GetAxis("Mouse Y");
  5. }
复制代码
LateUdpate中添加视角旋转代码
左右视角旋转代码10f 为旋转速率)
  1. Vector3 rotation = Vector3.zero;
  2. rotation.y += mouseX * 10f;
  3. transform.Rotate(rotation);
复制代码
上下视角旋转代码5f 为旋转速率,35和-35为旋转的极限角度)
  1. Vector3 rotation2 = Vector3.zero;
  2. pivotClamp -= mouseY*5f;
  3. pivotClamp = Mathf.Clamp(pivotClamp, -35, 35);
  4. rotation2.x = pivotClamp;
  5. cameraPivotTransform.localRotation=Quaternion.Euler(rotation2);
复制代码
运行效果如下

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

来源:https://blog.csdn.net/weixin_44792145/article/details/129811965
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则