Камера фокусирует центр объекта

#unity3d

#unity3d

Вопрос:

Выберите точное центральное положение объекта в моем коде, я использую функцию onmousedown внутри этой функции выберите положение щелчка, которое я хочу центрировать объект на экране

 private void OnMouseDown()
        {
           
        Camera.main.GetComponent<PanZoom>().thisGameObject = ParentThis.gameObject;
        if (_center)
        {
           
            Debug.Log("Show Popup");
            Popup.SetActive(true);
           
        }
        else
        {
            Vector3 groundPos = GetWorldPosAtViewportPoint(.5f, .5f);
          
            Debug.Log(groundPos);


            Debug.Log("groundPos: "   groundPos);
            groundCamOffset = Camera.main.transform.position - groundPos;
            Debug.Log("Camera pos "   Camera.main.transform.position);
            camTarget = Camera.main.transform.position;
           
            float mouseX = Input.mousePosition.x / Camera.main.pixelWidth;
            
            float mouseY = Input.mousePosition.y / Camera.main.pixelHeight;
         
            Debug.Log("Mousex "   Input.mousePosition.x   " : "   Camera.main.pixelWidth   " Mousey "   Input.mousePosition.y   " : "   Camera.main.pixelHeight);
            Debug.Log("Mx "   ParentThis.transform.localPosition.x   " My "   ParentThis.transform.localPosition.y);
            Vector3 clickPt = GetWorldPosAtViewportPoint(mouseX, mouseY);
            
            camTarget = clickPt   groundCamOffset;
        
            Go = true; // For Camera movement //!?
        }
    }
 

Комментарии:

1. Итак, как я понимаю, вы хотите переместить объект туда, где щелкает мышь. Правильно ли это? Или вы хотите поместить объект в центр вашего экрана для проверки при щелчке на объекте?

2. Я хочу, чтобы я щелкал в любом месте любого объекта, камера может фокусировать центр объекта, а не указывать при щелчке

Ответ №1:

В этом случае я бы посоветовал вам больше прочитать о Cinemachine, поскольку у него есть функциональность, в которой вы можете изменить ее, чтобы посмотреть на цель камеры. Пожалуйста, обратите внимание, что Cinemachine необходимо сначала установить через менеджер пакетов в Unity.

введите описание изображения здесь