В настоящее время я делаю игру-прототип, в которой игрок идет по изоповерхности коллекции движущихся метаболлов.Я уже реализовал хождение по сфере с вектором вперед и вверх.Чтобы распространить это на метаболлы, мне нужно иметь возможность запросить произвольную точку, направление к ближайшей поверхности и расстояние до ближайшей поверхности, чтобы иметь возможность привязать игрока к поверхности после того, как я переместил его впередвектор.Я могу рассчитать направление, взяв средневзвешенное значение для всех векторов, но как мне получить расстояние?
Я использую функцию 1 / (x * x + y * y + z * z) сИзоповерхность 1 для моих метаболов, но я был бы признателен за любое обобщение, чтобы я мог использовать тот же подход для других фигур.