当前位置:   article > 正文

Unity实现摄像机视角跟随人物旋转的效果_unity摄像头围绕

unity摄像头围绕

1.首先创造一个play点击立体胶囊改名字为play,在创造一个立方体调整位置,充当一个人物

2.创造一个y空对象,在y空对象下面创建一个x空对象,在x空对象创建一个空对象,命名为z。

在z下面创建一个空对象,命名为zoom。将摄像机拖入zoom中

3.调整摄像机的位置

4.将脚本挂载到摄像机里

5.方便把x,y,z,zoom,play,拖入脚本中。

实现代码:

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

Epublic class CameraY:MonoBehaviour
//控制左右旋转
public Transform y_Axis;
//控制上下旋转
public Transform x_Axis;
//控制左右倾斜
public Transform z_Axis;
//控制远近距离
public Transform zoom Axis;
//是否跟谁玩家
public bool
followPlag:
//是否控制玩家旋转
public boolturnPlag;

CameraY
private void LateUpdate()
(
//输入获取
hor =Input.GetAxis("Mouse X”);
ver = Input.GetAxis("Mouse Y”);
//鼠标滚轮数值
scrollView = Input.GetAxis("Mouse ScrollWheel”);
//左右滑动鼠标
if (hor != 0)
//围绕Y轴旋转,注意Vector3.up是本地坐标的位置
y_Axis.Rotate(Vector3.up *roSpeed *hor *Time.deltaTime);
if (ver!= 0)
x += -ver * Time.deltaTime * roSpeed;
x= Mathf.Clamp(x,-limitAngle,limitAngle);
Quaternion q =Quaternion.identity:
q = Quaternion.Buler(new Vector3(x, x_Axis.eulerAngles.y, x_Axis.eulerAngles.z)); x_Axis.rotation = Quaternion.Lerp(x_Axis.rotation, q, Time.deltaTime *roSpeed);
(scrollView!= 0)
sc -= scrollView * scSpeed;
sc =Mathf.Clamp(sc,3,10);
zoom_Axis.transform.localPosition = new Vector3(0, 0, -sc);
 

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/繁依Fanyi0/article/detail/122984
推荐阅读
相关标签
  

闽ICP备14008679号