【问题标题】:Intersection and Collada-Three.JS交叉口和 Collada-Three.JS
【发布时间】:2016-08-21 08:10:19
【问题描述】:

我使用下面的代码来实现交集。它适用于代码中定义的几何图形。但它不会检测与 Collada 对象的交叉点。

        document.addEventListener( 'mousedown', Identify, false );
        function Identify( event ) {

                event.preventDefault();
                mouse.x = ( event.clientX / window.innerWidth ) * 2 - 1;
                mouse.y = - ( event.clientY / window.innerHeight ) * 2 + 1;

                raycaster.setFromCamera( mouse, camera );
                var intersects = raycaster.intersectObjects( scene.children );
                if ( intersects.length > 0 ) {
                    if ( INTERSECTED != intersects[ 0 ].object ) {
                        if ( INTERSECTED ) INTERSECTED.material.color.setHex( INTERSECTED.currentHex );
                        INTERSECTED = intersects[ 0 ].object;
                        INTERSECTED.currentHex = INTERSECTED.material.color.getHex();
                        INTERSECTED.material.color.setHex( 0xff0000 );
                    }
                } else {
                    if ( INTERSECTED ) INTERSECTED.material.color.setHex( INTERSECTED.currentHex );
                    INTERSECTED = null;
                }

        }

如何将 Collada 几何包含到交集矩阵中?

【问题讨论】:

    标签: three.js intersection loader collada


    【解决方案1】:

    通过在 Colladaloader 之后添加以下代码以推送所有对象来解决此问题。

    var ToIntersect = [];   
    dae.traverse(function(child) {
        if (child instanceof THREE.Mesh) {
            ToIntersect.push(child);
        }
    });
    
    
    ...
    
    var intersects = raycaster.intersectObjects( ToIntersect );
    

    【讨论】:

      【解决方案2】:

      我遇到了同样的问题(在我的情况下,我正在导入一个 6 轴机器人,然后每个链接都是前一个链接的子对象)所以 intersectObjects 必须通过将第二个参数设置为 true 在场景中递归执行,如在文档中说明: http://threejs.org/docs/#Reference/Core/Raycaster

      您可以尝试将代码更改为:

      var intersects = raycaster.intersectObjects( scene.children, true);
      

      【讨论】:

        猜你喜欢
        • 2015-03-15
        • 1970-01-01
        • 2016-01-03
        • 2015-05-22
        • 2014-12-09
        • 2016-03-26
        • 2015-11-06
        • 2013-02-08
        • 2017-03-05
        相关资源
        最近更新 更多