Raycast2D и его позиция
Нужно создать луч в 2Д, летящий из камеры в позицию мыши. Где и как использовать input.mouseposition?
Ответы (1 шт):
Автор решения: Eugene
→ Ссылка
private void Update()
{
Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition); //Получение позиции мыши и перевод его в мировые коордионаты
RaycastHit2D hit = Physics2D.Raycast(Camera.main.transform.position, mousePosition); //Собственно сам луч испускаемый из центра камеры, дает информацию об объекте, в который попал
if (hit.transform != null) // Проверит наличие объекта(объект должен содержать Collider) и для теста выведет сообщение
{
Debug.Log("Detected");
}
}
private void OnDrawGizmos() // Это создаст тестовый луч, в окне редактирования. Можно не писать
{
Vector2 mousePosition = Camera.main.ScreenToWorldPoint(Input.mousePosition);
Gizmos.DrawRay(Camera.main.transform.position, mousePosition);
}