public MeshVertexChunk GetWorldVertChunkClosestToScreenPt(Vector2 screenPoint, Matrix4x4 worldMtx, Camera camera)
        {
            float           minDistSqr   = float.MaxValue;
            MeshVertexChunk closestChunk = null;

            foreach (var chunk in _vertexChunks)
            {
                AABB chunkAABB = chunk.ModelSpaceAABB;
                chunkAABB.Transform(worldMtx);

                List <Vector2> screenPts = chunkAABB.GetScreenCenterAndCornerPoints(camera);
                foreach (var pt in screenPts)
                {
                    float distSqr = (pt - screenPoint).sqrMagnitude;
                    if (distSqr < minDistSqr)
                    {
                        minDistSqr   = distSqr;
                        closestChunk = chunk;
                    }
                }
            }

            return(closestChunk);
        }