与对象相关的缩放

Zoom related to object

我正在尝试缩放我的播放器,我的播放器是一个球并且它连接到相机,基本上我已经实现了缩放代码,但是不知何故当我在游戏中放大球时它没有正确缩放球消失了,我想缩放对象而不是相机本身,我该怎么做?

这是我试过的

void LateUpdate () 
{   
    if(Time.timeScale != 0){
        if(Input.GetKey(KeyCode.X)){
            isZoomed = true;
        }else if(Input.GetKey(KeyCode.C)){
            isZoomed = false;
        }

        if(isZoomed == true){
            camera.fieldOfView = Mathf.Lerp(camera.fieldOfView,zoom,Time.deltaTime*smooth);
        }
        else{
            camera.fieldOfView = Mathf.Lerp(camera.fieldOfView,normal,Time.deltaTime*smooth);
        }
    }
}
Vector3 moveDirection = Camera.main.transform.TransformDirection (Vector3.forward);
Camera.main.transform.Translate (moveDirection * zoomSpeed * moveDirection);

可能是一个可行的解决方案。它所做的是将相机移近玩家。但是你应该 "unattach" 播放器的相机。如果你想远离播放器 AKA 缩小,你可以改为执行 -moveDirection。