three.js中更新包围盒

THREE.BoxHelper.prototype.updateLocal = function (object) {
    var box = new THREE.Box3();
    if (object !== undefined)
        console.warn('THREE.BoxHelper: .update() has no longer arguments.');
    if (this.object !== undefined)
        box.setFromObjectLocal(this.object);
    if (box.isEmpty()) return;
    var min = box.min;
    var max = box.max;
    var position = this.geometry.attributes.position;
    var array = position.array;

    array[0] = max.x;
    array[1] = max.y;
    array[2] = max.z;
    array[3] = min.x;
    array[4] = max.y;
    array[5] = max.z;
    array[6] = min.x;
    array[7] = min.y;
    array[8] = max.z;
    array[9] = max.x;
    array[10] = min.y;
    array[11] = max.z;
    array[12] = max.x;
    array[13] = max.y;
    array[14] = min.z;
    array[15] = min.x;
    array[16] = max.y;
    array[17] = min.z;
    array[18] = min.x;
    array[19] = min.y;
    array[20] = min.z;
    array[21] = max.x;
    array[22] = min.y;
    array[23] = min.z;

    position.needsUpdate = true;

    this.geometry.computeBoundingSphere();
};

猜你喜欢

转载自my.oschina.net/u/3407699/blog/1647289