当前位置:   article > 正文

【Unity开发小技巧】Unity相机跟随多种实现方式总结

unity相机跟随

目录

一:设置目标物为相机的父节点

二:常规设置固定相对向量偏移

三:添加旋转角度

四: 第三背后视角


欢迎加入Unity业内qq交流群:95618748

一:设置目标物为相机的父节点

描述:最简单,最基础,效果最不理想,锁死跟随视角

二:常规设置固定相对向量偏移

描述:推荐指数***,代码实现简,效果比较生硬

  1. public Transform target;
  2. private Vector3 offset;
  3. void Start()
  4. {
  5. //设置相对偏移
  6. offset = target.position - this.transform.position;
  7. }
  8. void Update()
  9. {
  10. //更新位置
  11. this.transform.position = target.position - offset;
  12. }

三:添加旋转角度

描述:推荐指数***,在二的基础上添加距离差值和旋转角度差值,效果流畅

si

  1. private Vector3 offset;//相机相对于玩家的位置
  2. public Transform target;
  3. private Vector3 pos;
  4. public float speed = 2;
  5. private void Start()
  6. {
  7. offset = transform.position - target.position;
  8. }
  9. // Update is called once per frame
  10. void Update()
  11. {
  12. pos = target.position + offset;
  13. this.transform.position = Vector3.Lerp(transform.position, pos, speed * Time.deltaTime);//调整相机与玩家之间的距离
  14. Quaternion angel = Quaternion.LookRotation(target.position - transform.position);//获取旋转角度
  15. transform.rotation = Quaternion.Slerp(transform.rotation, angel, speed * Time.deltaTime);
  16. }

四: 第三背后视角

描述:推荐指数*****,流畅参数可调。对相机的位置实时计算

  1. public Transform target;
  2. public float distanceUp = 10f;//相机与目标的竖直高度参数
  3. public float distanceAway = 10f;//相机与目标的水平距离参数
  4. public float smooth = 2f;//位置平滑移动插值参数值
  5. public float camDepthSmooth = 20f;
  6. void Update()
  7. {
  8. // 鼠标轴控制相机的远近
  9. if ((Input.mouseScrollDelta.y < 0 && Camera.main.fieldOfView >= 3) || Input.mouseScrollDelta.y > 0 && Camera.main.fieldOfView <= 80)
  10. {
  11. Camera.main.fieldOfView += Input.mouseScrollDelta.y * camDepthSmooth * Time.deltaTime;
  12. }
  13. }
  14. void LateUpdate()
  15. {
  16. //计算出相机的位置
  17. Vector3 disPos = target.position + Vector3.up * distanceUp - target.forward * distanceAway;
  18. transform.position = Vector3.Lerp(transform.position, disPos, Time.deltaTime * smooth);
  19. //相机的角度
  20. transform.LookAt(target.position);
  21. }
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/花生_TL007/article/detail/122992
推荐阅读
相关标签
  

闽ICP备14008679号