【发布时间】:2017-10-09 21:27:18
【问题描述】:
我正在尝试使用光线投射来获得位于场景中心的球体和光线之间的交集。这是一个非常简单的场景,但我无法让它工作。
相关代码:
// renderer, camera, etc...
var material = new THREE.MeshStandardMaterial();
material.opacity = 0.25;
material.transparent = true;
sphere = new THREE.Mesh(new THREE.SphereGeometry(100, 32, 32), material);
scene.add(sphere);
var start = new THREE.Vector3(0, 0, 0);
var direction = new THREE.Vector3(-84, 102, 97);
var ray = new THREE.Raycaster(start, direction.normalize());
scene.updateMatrixWorld();
var rayIntersects = ray.intersectObjects([sphere], true);
console.log(rayIntersects); // empty array
【问题讨论】:
-
当您从对象内部投射光线时,它不计算背面。尝试使用
var material = new THREE.MeshStandardMaterial({ side: THREE.DoubleSide });
标签: three.js raycasting