相机脱离父物体跟随player(保持距离不变)

该代码实现了一个Unity3D场景中,相机以特定偏移量跟随玩家对象移动并保持朝向的功能。在Start()函数中计算初始偏移量,LateUpdate()中更新相机位置和旋转,使用LookRotation确保相机始终面向玩家。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

public GameObject Camera;
    public GameObject player;

    public Vector3 offset;
    
    public Camera camera;
    void Start()
    {

        offset = player.transform.position - Camera.transform.position;

    }

    // Update is called once per frame
    void LateUpdate()
    {
        Camera.transform.position = transformVecter(-offset, player.transform.position, player.transform.right, player.transform.up, player.transform.forward);
        Camera.transform.rotation = Quaternion.LookRotation(player.transform.position - Camera.transform.position);
    }
    // 求以origin为原点, locX, locY, locZ 为坐标轴的本地坐标系中的向量 vec 在世界坐标系中对应的向量
    private Vector3 transformVecter(Vector3 vec, Vector3 origin, Vector3 locX, Vector3 locY, Vector3 locZ)
    {
        return vec.x * locX + vec.y * locY + vec.z * locZ + origin;
    }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值