Unity 如何让相机平滑跟随角色

2019-07-23  本文已影响0人  遮住眼睛的草纸

1.关于相机

1.相机跟随
第一步:找一个舒服的视角,将相机视野对准视角 (view to algin)
第二步:相机添加脚本
第三步:利用相机与玩家位置的偏移量

offset = transform.position - player_transform.position

第四步:将相机位置设置为玩家位置加上offset

transform.position  = player_transform.position + offset

注意点:四步完成可以简单实现相机跟随
第一,遇到死角遮挡。第二,某些时刻滑动会有卡顿,用户体验不好
有以下的解决方式
首先,我们看一张图

分析图.png

技术要点

1.均匀取射线点,用到以下方法

Vector3.Lerp();

2.发射射线

RayCastHit hitInfo;
if (Physics.RayCast(...,...,out hitInfo)){
    //do some thing
}

完成这些后还不够,因为移动相机,会卡顿,体验极其不友好,所以这里需要用到部分插值运算。
以下是缓动代码部分

        transform.position = Vector3.Lerp(transform.position, newPos, Time.deltaTime * moveSpeed);
        Quaternion oldRotation = transform.rotation;
        transform.LookAt(player_transform.position);
        transform.rotation = Quaternion.Lerp(oldRotation, transform.rotation, Time.deltaTime * rotateSpeed);

至此,摄像机脚本初步完成,有些地方,根据自己需要自行修改。

上一篇下一篇

猜你喜欢

热点阅读