clampPoint( point, result ) {

			const halfSize = this.halfSize;
			v1.subVectors( point, this.center );
			this.rotation.extractBasis( xAxis, yAxis, zAxis ); // start at the center position of the OBB

			result.copy( this.center ); // project the target onto the OBB axes and walk towards that point

			const x = THREE.MathUtils.clamp( v1.dot( xAxis ), - halfSize.x, halfSize.x );
			result.add( xAxis.multiplyScalar( x ) );
			const y = THREE.MathUtils.clamp( v1.dot( yAxis ), - halfSize.y, halfSize.y );
			result.add( yAxis.multiplyScalar( y ) );
			const z = THREE.MathUtils.clamp( v1.dot( zAxis ), - halfSize.z, halfSize.z );
			result.add( zAxis.multiplyScalar( z ) );
			return result;

		}
Reference: Closest Point on OBB to Point in Real-Time Collision Detection
by Christer Ericson (chapter 5.1.4)