Я думал о способах размещения моего интерфейса GUI в трехмерной проекции перспективы, чтобы у меня были эффекты трехмерного вращения на моих элементах интерфейса "2D". Проблема, с которой я столкнулся, заключается в том, что было трудно позиционировать элементы и убедиться, что все они сразу попадают в поле зрения.
Идея, которая у меня была до сих пор, состоит в том, чтобы определить двумерный четырехугольник в пространстве для представления «экранной» поверхности и расположить графический интерфейс поверх четырехугольника таким же образом, как я бы расположил графический интерфейс в 2D. Затем я переместил бы камеру к центру четырехугольника, нацелил камеру на нее и спроецировал положение камеры на определенное расстояние вдоль поверхности нормали четырехугольника, пока весь квад не поместится в усеченную область просмотра. Проблема в том, что я не уверен, как найти минимальное расстояние для проецирования положения камеры.
Кто-нибудь знает уравнение / алгоритм для нахождения этого?