# Unity2D相机跟随的多种姿势

一、 相机绑定直接作为Player角色的子项目

优点:简单,无需编程

缺点:不灵活

二、使用Rigidbody2D组件

给相机设置一个Rigidbody2D组件,然后计算方向添加一个速度。

优点:较为简单。

缺点:不够平滑,有点假。

三、平滑移动

使用SmoothDamp平滑阻力运动、Lerp 线性插值

使用SmoothDamp:(在官方的手册里也有推荐用此函数[^1])

transform.position = Vector3.SmoothDamp(transform.position, charactor.position + new Vector3(0, 1, -10), ref currentVelocity, smoothTime);

使用Lerp 线性插值:

float interpolation = Speed * Time.deltaTime;

Vector3 position = this.transform.position;
position.y = Mathf.Lerp(this.transform.position.y, TargetGO.transform.position.y, interpolation);
position.x = Mathf.Lerp(this.transform.position.x, TargetGO.transform.position.x, interpolation);

this.transform.position = position;

参考:

[1]: Unity 相机跟随人物的几种方式_小张同学ۣ的博客-CSDN博客_unity相机跟随人物移动 https://blog.csdn.net/qq_41973169/article/details/108513961

你可能感兴趣的:(Unity,unity)