private void Start()
{
Player = GameObject.FindGameObjectWithTag("Player");
RR = Player.GetComponent();
cameralookAt = Player.transform.Find("camera lookAt").gameObject;
cameraPos = Player.transform.Find("camera constraint").gameObject;
defaltFOV = Camera.main.fieldOfView;
desiredFOV = defaltFOV + 15;
}
private void FixedUpdate()
{
follow();
//boostFOV ();
}
private void follow()
{
speed = RR.KPH / smothTime;
gameObject.transform.position = Vector3.Lerp(transform.position, cameraPos.transform.position, Time.deltaTime * speed);
gameObject.transform.LookAt(cameralookAt.gameObject.transform.position);
}
之前是单角色
我假设你的几个角色都是朝着Z轴向前移动的,那你相机位置变化也仅仅是Z轴值的变化,你只需要根据最远的角色和最近的角色求出z的差值然后除于二再加上最近角色的z,基本上可以保证所有角色始终在视野范围内,如果还有x轴的移动,同理