Как вернуть усечку ТРИ. Перспективной камеры и сохранить ее как переменную? - PullRequest
0 голосов
/ 21 февраля 2019

Я искал API Three.js и обнаружил, что Frustum используется для видимой области камеры.Мне было интересно, смогу ли я получить доступ к усеченному виду моего PerspectiveCamera и объявить усеченный объект как объект.По сути, моя цель - покрасить усеченную камеру.

image

1 Ответ

0 голосов
/ 21 февраля 2019

Если вы хотите визуализировать усечку вашей камеры, вы можете использовать THREE.CameraHelper.По сути, он делает то, что вы описываете в вопросе: он позволяет раскрасить усеченный контур, чтобы вы могли его визуализировать.

Чтобы реализовать его, вам просто нужно инициировать его с вашей камерой в качестве параметра, а затем добавить его в сцену:

var camera = new THREE.PerspectiveCamera( 75, camRatio, 0.1, 1000 );
var helper = new THREE.CameraHelper( camera );
scene.add( helper );

Подробнее об этом можно узнать вdocs и вы можете увидеть его в действии в правой части этого примера

Обновление:

Если вы хотите прочитать данные, использованные для построения помощника, вы можете получить доступ к его .pointmap свойству.У него много точек, которые определяют положение ближней плоскости (n1, n2, n3...), дальней плоскости (f1, f2, f3...), цели и т. Д. Чтобы лучше понять, что означает каждая клавиша, вы можете взглянуть на ее конструктор от строки 38 до 83. Код там очень хорошо документирован.

...