WPF 3D Перспективная камера вопрос - PullRequest
1 голос
/ 18 мая 2010

Я работаю над 3D-флип-контролем, который может переворачиваться по горизонтали, вертикали и иметь любой размер, квадратную или прямоугольную форму.

Пока он работает, я столкнулся с очень странной проблемой с перспективной камерой. Когда я создаю MeshGeometry3D, я масштабируюсь до правильного соотношения содержимого. Если ширина> высота, все хорошо. Однако если высота> ширина, то 3d-сетка имеет слишком маленький размер.

Единственное, что исправило это, было (если высота> ширина) изменить направление вверх на перспективной камере с 0 1 0 до 1 0 0 и применить преобразование поворота на 90 градусов. Когда я делаю это, все выглядит идеально.

Кто-нибудь знает, почему это? Перспективная камера учитывает только ширину при определении размера сетки?

Спасибо!

1 Ответ

1 голос
/ 18 мая 2010

Попробуйте поиграть со свойством FieldOfView. Это угол, под которым сцена «видна» камерой. В вашем случае, умножение коэффициента на height / width без изменения поля зрения должно быть достаточным.

...