public SphereMesh SpawnSphereMesh(GameObject go, float radius)
    {
        int        subdivisions = 4;
        SphereMesh mesh         = go.AddComponent <SphereMesh>();

        mesh.material     = defaultMaterial;
        mesh.subdivisions = subdivisions;
        mesh.SetRadius(radius);
        return(mesh);
    }
    public AutoMesh SpawnMesh(ISphereShape shape, int subdivisions = 4)
    {
        // clamp division in [1, 6]
        subdivisions = Mathf.Clamp(subdivisions, 1, 6);
        GameObject go   = new GameObject();
        SphereMesh mesh = go.AddComponent <SphereMesh>();

        mesh.material     = defaultMaterial;
        mesh.subdivisions = subdivisions;
        mesh.SetRadius(shape.Radius);
        return(mesh);
    }