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);
}
→ Ссылка