public Vector3 ClosestWorldPoint(Vector3 worldPos, ProxyForceFieldPrimitive.ShapeSample responce)
        {
            var s   = SampleDistanceFieldWorld(worldPos, responce);
            var pos = worldPos + s.ToSurface;

            return(pos);
        }
        public ProxyForceFieldPrimitive.DistanceSample SampleDistanceFieldWorld(Vector3 worldPos, ProxyForceFieldPrimitive.ShapeSample responce)
        {
            var lp   = LocalFromWorldPoint(worldPos);
            var samp = Primitive.SampleDistanceVectorFromPointLocal(lp, responce);

            samp.ToSurface = WorldFromLocalVector(samp.ToSurface);
            return(samp);
        }