#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.