Как отметить область геометрии, проходящую через другую геометрию? - PullRequest
0 голосов
/ 28 июня 2018

Представьте, что у вас есть область, и вы поместили объектив / глаз камеры в какой-то точке над ней. Я хотел бы отметить на области то, что может видеть объектив / глаз (это будет затмение в области). То, что я уже сделал, это:

view on area

Интерактивный пример доступен на JSFIDDLE . В этом примере вы можете видеть линзу, указывающую на центр области.

Можно ли как-то пометить этот эллипс в этой области с некоторыми границами или даже с другим фоном? Я попытался обрезать конус, но не смог заполнить область обрезанного конуса (он пуст внутри). Любая подсказка, как я могу достичь этого?

Мои оба элемента THREE.Mesh, а область - THREE.BoxGeometry, а конус - просто THREE.ConeGeometry (оба с THREE.MeshPhongMaterial материалом).

1 Ответ

0 голосов
/ 29 июня 2018

Попробуйте поиграть с material.depthFunc = THREE.EqualDepth, чтобы получить кольцо, в котором глубина конуса и плоскость равны друг другу ...

.depthFunc = THREE.GreaterDepth чтобы нарисовать только части конуса позади плоскости .. .depthFunc = THREE.LessDepth рисовать только части конуса перед плоскостью ..

...