2

colladaオブジェクト、three.js r58でrayを使って交差点を検出したいのですが

var intersects = target.intersectObjects(ai);

私のために働いていない人はこれを解決しますか? Ray は r58 で intersectObjects() メソッドをサポートしていませんか、それともコードにバグがありますか? それでは、レイキャスティングの代わりに何ができますか?

    var sphereMaterial = new t.MeshBasicMaterial({color: 0x333333});
    var sphereGeo = new t.SphereGeometry(2, 6, 6);
    var target;

    function createBullet(obj) {
        if (obj === undefined) {
            obj = cam;
        }
        var sphere = new t.Mesh(sphereGeo, sphereMaterial);
        sphere.position.set(obj.position.x, obj.position.y * 0.8, obj.position.z);

        if (obj instanceof t.Camera) {
            var vector = new t.Vector3(mouse.x, mouse.y, 1);
            projector.unprojectVector(vector, obj);
            target=new t.Ray(obj.position, vector.sub(obj.position).normalize());
        sphere.ray= target;
        }
        else {
            var vector = cam.position.clone();
        target=new t.Ray(obj.position, vector.sub( obj.position ).normalize());
sphere.ray= target;     
}



    sphere.owner = obj;

    bullets.push(sphere);
    scene.add(sphere);

    return sphere;
}
4

1 に答える 1