我需要使用我自己的几何图形,因为默认立方体看起来不像它应该处于线框模式(现在它由三角形而不是正方形组成)。
所以我制作了自己的几何体,看起来还不错,但是光线投射器对我自己的对象的工作不如对内置立方体的工作好。
var cube = new THREE.Line( getCube( 5,5, 5), new THREE.LineDashedMaterial( { color: 0x000000,dashSize: 1, gapSize: 0.1, linewidth: 2 } ),THREE.LinePieces );
getCube() 返回的地方
var geometry = new THREE.Geometry()
见例子:http: //jsfiddle.net/QHjSM/12/
顶部的 6 个颜色填充框是默认的 THREE.CubeGeometry 框,使用 raycaster 选择它们效果很好,6 个线框是我的自定义几何体。
问题:如果您尝试在框外单击,但非常接近它会捕捉到框,如果您在框内(在它的中间)单击它也不会捕捉到它。
但最烦人的是,如果您在一个框内单击,但靠近另一个框,有时它不会抓错一个。
我不确定它是否可以做得更好,尝试了所有 geometry.compute... 方法,但仍然没有效果。