var raycasterPoint = new THREE.Raycaster();
var direction = new THREE.Vector3();// for re-use
function isShaded(pointOnPlane){
direction.copy(light.position).normalize();
raycasterPoint.set(pointOnPlane, direction); // начало луча и направление
var retVal = false;
var pointIntersects = raycasterPoint.intersectObjects( sceneObjects );
if (pointIntersects.length > 0) retVal = true;
return retVal;
}
给定:平面上的一个点,
pointOnPlane光源的归一化位置向量(它也是一个方向)direction和场景中的对象数组sceneObjects(您需要找到的交点)。确定一个点是否在阴影中适合一个小函数:jsfiddle示例。