我有一个页面使用extruded spline example和mouse tooltip example中的元素。在继续之前尝试调试此项目的起始元素。鼠标工具提示正在处理除挤出样条线之外的各种对象。
使用webGL渲染器,如果重要。
样条线创建代码(不包括Vector3线或圆形拉伸):
function addGeometry( geometry, color, x, y, z, rx, ry, rz, s, name ) {
var mesh = THREE.SceneUtils.createMultiMaterialObject( geometry, [
new THREE.MeshLambertMaterial( { color: color } )
] );
mesh.position.set( x, y, z );
mesh.scale.set( s, s, s );
mesh.name = name;
scene.add( mesh );
}
update()中的intersect / Three.Ray代码与上面链接的示例相同。我也尝试将样条曲线添加到父级,但仍然没有更改onMouseOver。本周晚些时候,我可能会转换到ThreeX DOM事件和Tween:D
迷你问题可能是单独的问题:
感谢收听!
答案 0 :(得分:0)
由于您只提供了代码片段,因此猜测:由于多材质对象是分层的,您需要将ray.intersectObjects()
中的递归标记设置为true,如下所示:
var intersects = ray.intersectObjects( scene.children, true );