Я, возможно, понял это, так что для любого с подобной проблемой здесь идет.
Предполагая, что основной ствол укоренен в центре мира (0,0,0), чем ближе вершина к оси, тем больше деформаций она должна пройти вдоль этой оси. Так, например, круг с центральной точкой, где X равен 0, должен иметь максимальную деформацию вдоль оси X и минимальную деформацию вдоль оси Z. Однако, если центральная точка находится в самой дальней точке от центра ствола (X является радиусом ствола), она должна получить минимальную деформацию вдоль оси X и максимальную вдоль Z.
Для этого я использовал Mathf.InverseLerp, чтобы назначить процент модификации по оси X и Z отдельно.
Следующий код все еще нуждается в некоторой очистке, но приближает нас.
Vector3 GOpos = new Vector3(Mathf.Clamp(pos.x + Mathf.Sin(nrad)*Mathf.InverseLerp(bottomRadius, 0.0f, Mathf.Abs(pos.x)), pos.x-bottomRadius/2, pos.x+bottomRadius/2), pos.y + Mathf.Cos(nrad) * bottomRadius, Mathf.Clamp(pos.z + Mathf.Sin(nrad) * Mathf.InverseLerp(bottomRadius, 0.0f, Mathf.Abs(pos.z)), pos.z-bottomRadius/2, pos.z+bottomRadius/2));