小编Mar*_*man的帖子

使用鼠标悬停在三个js中更改网格的颜色

我已经整理了一个使用jsonloader和three.js显示多个网格的WebGL脚本,现在我想添加MouseOver和onClick事件.第一个是当鼠标悬停在网格上时简单地改变网格的颜色:

function render() {
  requestAnimationFrame(render);    
  mesh.rotation.z += 0.090;    
  raycaster.setFromCamera(mouse, camera);    
  var intersects = raycaster.intersectObjects(scene.children);  

  for (var i = 0; i < intersects.length; i++) {    
    intersects[i].object.material.color.set(0xff0000);    
  }    
  renderer.render(scene, camera);

}
Run Code Online (Sandbox Code Playgroud)

上面的渲染功能允许我将任何网格的颜色悬停在它上面.我已经尝试了几个if/else变体尝试并且只有在鼠标悬停在网格上时才能使用此效果,但我无法使其工作 - 它只是保持红色.任何人都可以建议我如何修改我的脚本?

谢谢.

javascript three.js raycasting

8
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×1

raycasting ×1

three.js ×1