【问题标题】:how do i enable Line2 raycast我如何启用 Line2 光线投射
【发布时间】:2018-04-13 18:49:45
【问题描述】:

我正在使用来自 three.js 91 版本的胖线示例。 我发现 raycating 无法识别对象的交集。

之前的THREE.Line能够识别线的交点,请给我解决问题的方向。

谢谢。

【问题讨论】:

  • 您需要发布您的代码和更完整的描述。事实上,我认为没有人能够帮助您的描述。 stackoverflow.com/help/mcve
  • 问题已解决,我正在使用 webgl_lines_fat.html 示例来绘制线条。我无法使用鼠标事件定位线条对象。所以我在 THREE.Line2 覆盖了 raycast 函数并使用了 instanceStart 、 instanceEnd值来识别相交。谢谢

标签: line raycasting


【解决方案1】:

作为@eswar-reddy 解决方案的扩展,覆盖Line2.js 中的光线投射函数以使用instanceStart。这是我要更改的代码的 sn-p:

if ( geometry.isBufferGeometry ) {

            var index = geometry.index;
            var attributes = geometry.attributes;
            var positions = attributes.position.array;

            if ( index !== null ) {

                var indices = index.array;

                for ( var i = 0, l = indices.length - 1; i < l; i += step ) {

                    var a = indices[ i ];
                    var b = indices[ i + 1 ];

                    vStart.fromArray( positions, a * 3 );
                    vEnd.fromArray( positions, b * 3 );

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-10-17
    • 2018-07-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多