three.js中 如何给导入的Obj增加事件?

发布于 2022-09-07 08:09:16 字数 86 浏览 14 评论 0

发现在给导入的obj无法增加点击事件,原因是obj是group类型。
所以需要给obj转成mesh类型。
但是不明白具体怎么实现,有大神讲解一下么

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

喜爱皱眉﹌ 2022-09-14 08:09:17

场景不要添加object, 而是添加它的每一个child。

loader.load( 'model.obj', function ( object ) {
    object.traverse( function ( child ) {
        if ( child instanceof THREE.Mesh ) {
            scene.add( child );                
        }
    } );
} );
豆芽 2022-09-14 08:09:17

添加child,并且给每个child添加上材质

loader.load( 'models.obj', function ( object ) {
    object.traverse( function ( child ) {
        if ( child instanceof THREE.Mesh ) {
            var phongMaterial = new THREE.MeshPhongMaterial( { color: 0xffffff, specular: 0x111111, shininess: 5 } );
            child.material = phongMaterial;
        }
    } );
} );
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文