Three.js 带背面材料的盒内光线投射器不';行不通

Three.js 带背面材料的盒内光线投射器不';行不通,three.js,box,raycasting,Three.js,Box,Raycasting,我正在Tree.js(nicelib!)上做一个项目 我有个问题。当光线在长方体内部生成时,光线投射器不工作 我举了一个例子: (摘自) 长方体材质为3.BackSide,我使用的是MultiMaterial,因为我需要用不同的纹理表示房间。材料是这样制成的: var materials = [ new THREE.MeshBasicMaterial({color:0xff0000, side:THREE.BackSide

我正在Tree.js(nicelib!)上做一个项目

我有个问题。当光线在长方体内部生成时,光线投射器不工作

我举了一个例子: (摘自)

长方体材质为3.BackSide,我使用的是MultiMaterial,因为我需要用不同的纹理表示房间。材料是这样制成的:

var materials = [
    new THREE.MeshBasicMaterial({color:0xff0000,
                                 side:THREE.BackSide}), // Right
    new THREE.MeshBasicMaterial({color:0x00ff00,
                                 side:THREE.BackSide}), // Left
    new THREE.MeshBasicMaterial({color:0x0000ff,
                                 side:THREE.BackSide}), // Top
    new THREE.MeshBasicMaterial({color:0x222222, 
                                 side:THREE.BackSide}), // Bottom
    new THREE.MeshBasicMaterial({color:0xffff00, 
                                 side:THREE.BackSide}), // Back
    new THREE.MeshBasicMaterial({color:0x00ffff, 
                                 side:THREE.BackSide}), // Front
];

var cubeSidesMaterial = new THREE.MultiMaterial(materials);
var roomGeometry = new THREE.BoxGeometry(4, 4, 4);

var newRoom = new THREE.Mesh(roomGeometry, cubeSidesMaterial);
当光线从外部生成时,会有交叉点,但会与长方体的外表面相交(这可能是错误吗?外表面没有纹理!)。从交叉口的距离可以看出这一点

无论如何,作为一个暂时的解决方案,我可以使房间中的各个平面连接在一个组上


谢谢大家!

Raycaster
不支持three.js r.84中的
MultiMaterial
。如果你想提交一份带有小提琴链接的three.js bug报告,那就太好了。
Raycaster
不支持three.js r.84中的
MultiMaterial
。如果您想提交一份带有小提琴链接的three.js bug报告,那就太好了。