vkvk
@vkvk

Как приближать камеру к персонажу, если его не видно?

Всем привет! Только начинаю изучать 3д в Unity и столкнулся с небольшой проблемой: камера скрывается за стенкой и персонажа не видно. Сама камера со стенкой не сталкивается никак. Как можно было бы решить эту проблему?
6362d45888cde612648919.png
  • Вопрос задан
  • 72 просмотра
Решения вопроса 1
vkvk
@vkvk Автор вопроса
Необходимо выпускать луч из точки игрока в точку камеры и, если луч сталкивается с каким-то объектом, ставить камеру на месту столкновения:

RaycastHit hit;
        Ray ray = new Ray(transform.position, (camera.position - transform.position).normalized);

        if (Physics.Raycast(ray, out hit))
        {
            camera.position = hit.point;
        }

        Debug.DrawRay(ray.origin, (camera.position - transform.position).normalized, Color.red);
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
@Farawa
Стрелять лучом из персонажа в направлении камеры изначальной заданной длиной, если луч попал в окружение, то брать точку чуть ближе и ставить туда камеру, гугли Physics.Raycast
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы