当场景后有两个物体运动时,摄像机如何居中跟随,使场景大小能够相应变化

计算出两个坦克之间的距离,并计算与相机的Size之间的比例

using System.Collections;

using System.Collections.Generic;

using UnityEngine;

public class FollowTarget : MonoBehaviour {

    public Transform player1;

    public Transform player2;//6.1)1为两个坦克进行申明

    private Vector3 offset;//6.1)2申明摄像机的偏移

    private Camera camera;//6.2)3申明变量

    void Start () {

        offset = transform.position - (player1.position + player2.position) / 2;

        //6.1)3让摄像机和两个坦克的中心保持一个稳定的偏移

        camera = this.GetComponent<Camera>();//6.24防止场景中代码无法识别相机

    }

    void Update () {

        transform.position = (player1.position + player2.position) / 2 + offset;

        //6.1)4在此保持一个相对的偏移

        float distance = Vector3.Distance(player1.position, player2.position);//6.2)1

        float size = distance * 0.81f;//6.2)2保持场景的比例大小

        camera.orthographicSize = size;//6.2)5因为在场景中是正交相机

        //这样可以随着两个坦克之间的距离变大而相对变大场景的十页面积

    }

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值