Что если я хочу использовать только верхний левый угол сферы, который будет использоваться при создании экземпляра?
Просто получите случайную точку на сфере и отрегулируйте знак осей, чтобы они были в желаемом полушарии. Здесь мы используем Math.Abs
.
MSDN имеет это, чтобы сказать на Math.Abs
Возвращает абсолютное значение указанного числа
Таким образом, используя Math.Abs()
, мы гарантируем, что все значения положительные. Для оси x
это будет означать, что все значения положительные или "правая часть". Просто применяя знак минус (-
) перед Math.Abs
, мы гарантируем, что конечный результат будет отрицательным или «левым».
Ось y
проста. Мы просто используем Math.Abs
, и это приведет к тому, что все значения будут положительными, что в системе координат по умолчанию будет "top" .
var P = Random.onUnitSphere * 50;
P.x = -Math.Abs(P.x); // force left
P.y = Math.Abs (P.y); // force top
А затем изменить этот верхний левый угол сферы, чтобы сделать нижний полюс сферы?
// continuing from above...
// move to bottom pole
object.transform.position = P + transform.position.
Расскажите подробнее