相机跟随物体

本文介绍了Unity3D中两种实现相机跟随玩家的方法。第一种是将相机作为Player的子物体,但限制了相机的灵活性。第二种通过代码控制,创建一个空GameObject与Player同步,使相机保持固定距离和视角跟随Player,解决了第一种方法的局限性。此外,还提供了一种只移动不旋转的相机跟踪方式,适用于特定场景需求。
摘要由CSDN通过智能技术生成

1、固定距离,固定视角

最简单的就是 直接 把主相机作为 Player 角色的子物体,并自行固定好相机的位置和角度
缺点:使用不灵活,相机转动死板,体验不好,相机瞬间移动位置

2、代码控制,固定距离,固定视角,对1进行改进

设置一个空的GameObject ,并且与 Player 的旋转和位置保持一致,然后将 主相机 设置成该 GameObject 的子对象。

public   class   CameraTest  :  MonoBehaviour {
     public   Transform  player;
     Vector3  tempPostion;
Quaternion tempRotation;
     void  Update (){
         if   ( player ){
            transform.position = player.position;
            transform.rotation = player.rotation;
         }
         else {
            transform.position = tempPostion;
            transform.rotation = tempRotation;
         }
        tempPostion = player.position;
        tempRotation = player.rotation;
     }
}

3、代码控制,固定距离,固定视角,直接移动,不会旋转

using  UnityEngine;
public   class   CameraTest2  :  MonoBehaviour {
     public   Transform  player;
		Vector3 distance;
     void  Start (){
        distance = transform.position - player.position;
     }
     void  LateUpdate (){
        transform.position = player.position + distance;
     }
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值