How to collision detect between camera and wall in BufferGeometry

I load 1 3D model from gltf file, I am trying to detect collision between camera and wall through Raycaster. But it doesn’t seem to work.

// Make Camera
        var cubeGeometry = new THREE.BoxBufferGeometry(2, 20, 2, 1, 1, 1);
        var wireMaterial = new THREE.MeshPhongMaterial({ color: 0xff0000 }); //, opacity: 0, transparent: true
        this._makeCamera = new THREE.Mesh(cubeGeometry, wireMaterial);
        this._makeCamera.position.set(this._camera.position.x, this._camera.position.y, this._camera.position.z);
        this._scene.add(this._makeCamera);
const originPoint = this._makeCamera.geometry.getAttribute('position');

        const localVertex = new THREE.Vector3();
        const globalVertex = new THREE.Vector3();

        for (var vertexIndex = 0; vertexIndex < originPoint.length; vertexIndex++) {
            localVertex.fromBufferAttribute(originPoint, vertexIndex);
            globalVertex.copy(localVertex).applyMatrix4(this._makeCamera.matrixWorld);
        }
        console.log("localVertex", localVertex);
        console.log("globalVertex", globalVertex);
        const directionVector = globalVertex.sub(this._makeCamera.position);
        var ray = new THREE.Raycaster(this._makeCamera.position, directionVector.normalize());
        var collisionResults = ray.intersectObjects(this._sceneMeshes);
        if (collisionResults.length > 0 && collisionResults[0].distance < directionVector.length()) {
            console.log("Collision");
        }

=> localVertex and globalVertex return null + undefined

Raycast might be computationally expensive. If the geometry is simple you can directly add some mathematical limits