0

ズームしても安定したサイズで、クリック可能でなければならない画像テクスチャで数千の正方形を描く必要があります。すべての正方形で同じ画像テクスチャ。

ParticleSystem を使用しても、クリック可能にできません。

CubeGeometry を使用すると、すべてのズーム イベントでスケーリングする必要があり、非常に時間がかかります。誰もがクリックできる数千の要素を作成するための最良のアプローチは何ですか?

私はTHREE.WebGLRenderer 61を使用しています。

イベント クリック ハンドラ:

function onDocumentMouseClick(event) {
        layerMap.update();
        var vector = new THREE.Vector3((event.clientX / window.innerWidth) * 2 - 1, -(event.clientY / window.innerHeight) * 2 + 1, 0.5);
        var ray = projector.pickingRay(vector, camera);
        var intersects = ray.intersectObjects(objects);
        if (intersects.length > 0) {
            intersects[0].object.material.color.setHex(Math.random() * 0xffffff);
        }
    }
4

1 に答える 1

1

私は解決策を見つけました。パーティクルシステムを使用して、多くのオブジェクトをテクスチャで表示します。クリック イベントでは、すべての頂点をチェックして、クリックしたポイントに最も近い頂点を見つけます。距離が十分に近い場合は、必要なメソッドを呼び出します。非常に高速に動作します。

于 2013-09-19T10:53:48.633 に答える