Unity摄像机跟随

Unity摄像机跟随

方法一:摄像机子物体

将摄像机直接拖拽到被跟随的目标下面即可,这样摄像机永远在目标的后面

缺点:

  1. 屏幕旋转太平滑了
  2. 目标物体在屏幕上的位置永远不变
  3. 目标物体被销毁时总不能把摄像机也销毁了吧

方法二:子物体加向量得到摄像机位置

先相机坐标和物体坐标做差,求得偏移量,在之后的每一帧里,将偏移量加上物体的坐标。

需要注意的是,理想中的相机位置,应该是在物体本地坐标系上加上偏移量,所以我们需要将这个偏移量假设成本地坐标系下的,然后转换成世界坐标系,再进行相加

此时可以正确跟随,但是会比较僵硬,所以我们使用插值对相机现在的位置和目标位置进行插值。

最后让相机一直看向物体即可。

c# 复制代码
  public Transform player_transform;
  private Vector3 offset;
  public float smooth;
  void Start()
  {
    offset = this.transform.position - player_transform.position;
    smooth = 3;
  }

  void LateUpdate()
  {
    Vector3 target_position = player_transform.position + player_transform.TransformDirection(offset);
    transform.position = Vector3.Lerp(transform.position, target_position, Time.deltaTime * smooth);
    transform.LookAt(player_transform);
  }
相关推荐
云上空12 小时前
腾讯云使用对象存储托管并分享WebGL小游戏(unity3d)(需要域名)
unity·腾讯云·webgl·游戏开发·对象存储·网页托管
小贺儿开发14 小时前
Unity3D VR党史主题展馆
unity·人机交互·vr·urp·展馆·党史
TopGames14 小时前
Unity实现10万人同屏动态避障和导航寻路系统 支持3D地形
unity·性能优化·游戏引擎
在路上看风景18 小时前
01. GUIContent
unity
托洛夫斯基扎沙耶18 小时前
Unity中状态机与行为树的简单实现
unity·游戏引擎
TrudgeCarrot1 天前
unity打包使用SPB管线出现 DontSava错误解决
unity·游戏引擎·dontsave
3D霸霸1 天前
unity 创建URP新场景
unity·游戏引擎
玉梅小洋2 天前
Unity 2D游戏开发 Ruby‘s Adventure 1:课程介绍和资源导入
游戏·unity·游戏引擎·游戏程序·ruby
托洛夫斯基扎沙耶2 天前
Unity可视化工具链基础
unity·编辑器·游戏引擎
浅陌sss2 天前
检查Unity对象要始终使用 != null而不是?.
unity