@gelosoft
Frontend-developer

Как спозиционировать камеру, чтобы в нее поместился целиком определенный mesh?

Есть сфера в центре сцены. И есть камера (к примеру FreeCamera в babylon.js). Нужно чтобы камера(она на оси z) расположилась так, чтобы сфера целиком влезла в экран(он может быть как landscape, так и portrait, разных пропорций). Желательно чтобы это отрабатывало и при ресайзе окна.
Т.е. нужен некий аналог background-size: contain из css для камеры/сцены.
  • Вопрос задан
  • 80 просмотров
Решения вопроса 1
@GreatRash
Терминология:

FOV - field of view (поле зрения камеры)
BB - bounding box (ограничивающий параллелепипед)
BB-size - наибольший размер bounding box (если ширина больше, то ширина, если высота, то высота)
Dist - расстояние от BB на котором должна находиться камера

Формула:

Dist = (BB-size / 2) / tan(FOV)

Copyright & further reading
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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