사실, 관련 코드가 THREE.Mesh
에서 찾을 수 있습니다을; Raycaster.js
을 보면 이 대부분 THREE.Object3D
인 (문서화되지 않은 초록) raycast
메서드에 위임되었음을 알 수 있습니다. Various subclasses of Object3D
implement this method (예 : Mesh
)
relevant lines from THREE.Mesh#raycast
교차로 객체는 다음과 같이 보여 :
a
,
b
및
c
이 교차 된 얼굴에 정점의 인덱스입니다
{
distance: distance,
point: intersectionPoint,
indices: [ a, b, c ],
face: null,
faceIndex: null,
object: this
}
.
이
이 그 교차 된 얼굴을 포함하는 정점의 인덱스를 얻을 것을 의미합니다, 당신은 할 수 있습니다 :
var intersect = raycaster.intersectObject(scene);
if (intersect != null) {
var faceIndices;
if (intersect.face != null) {
faceIndices = [ face.a, face.b, face.c ];
} else if (intersect.indices != null) {
faceIndices = intersect.indices
}
// do something with the faceIndices
}
three.js를 난 당신이 아니, 자신의 질문에 대답 생각
를 R68? 언제든지 코드를 수정하여 원하는 것을 반환 할 수 있으며 유용하다고 판단되면 기능 향상을 제안 할 수 있습니다. – WestLangley
더 우아한 방법이 있는지 궁금 해서요. 어쩌면 평범한 기하학과 비슷한 얼굴 인식을 가능하게하는 깃발을 세워 놓았습니다. 내가 생각해 낼 수있는 것보다 훨씬 좋은 것은 틀림 없습니다. 얼굴을 직접 결정하는 것이 최선의 대안입니다. – asdf
'Raycaster.js'를 아직 보지 않으 셨다면, 그것이 무엇을 계산하는지보실 수 있습니다. – WestLangley