Как вернуть усечку ТРИ. Перспективной камеры и сохранить ее как переменную?
Я искал API Three.js и обнаружил, что Frustum используется для видимой области камеры. Мне было интересно, смогу ли я получить доступ к усмотрению моей PerspectiveCamera и объявить усечку как объект. По сути, моя цель - покрасить область камеры.
1 ответ
Если вы хотите визуализировать усечку вашей камеры, вы можете использовать THREE.CameraHelper
, По сути, он делает то, что вы описываете в вопросе: он позволяет раскрасить усеченный контур, чтобы вы могли его визуализировать.
Чтобы реализовать это, вам просто нужно инициировать его с вашей камерой в качестве параметра, а затем добавить его в сцену:
var camera = new THREE.PerspectiveCamera( 75, camRatio, 0.1, 1000 );
var helper = new THREE.CameraHelper( camera );
scene.add( helper );
Вы можете прочитать больше об этом в документации, и вы можете увидеть это в действии в правой части этого примера.
Обновить:
Если вы хотите прочитать данные, использованные для создания помощника, вы можете получить доступ к его .pointmap
имущество. У него много точек, которые определяют положение ближней плоскости (n1, n2, n3...
), дальний самолет (f1, f2, f3...
), target и т. д. Чтобы лучше узнать, что означает каждый ключ, вы можете взглянуть на его конструктор из строки 38–83. Код там очень хорошо документирован.