Как установить направление для вершин на сетке в Unity? - PullRequest
0 голосов
/ 16 января 2019

Я хочу заархивировать следующий эффект: У меня есть простая сетка (квадрат). Я сгенерировал это с помощью кода. Теперь я создал 4 маленьких шарика на каждой вершине квадрата:

   foreach(Vector3 vert in mesh.vertices) {
        Instantiate(thing, vert, transform.rotation);
    }

Теперь я хочу подтолкнуть этот шар во всех направлениях. Он должен быть линейным по отношению к вершине, например: Что я хочу архивировать

Я попробовал:

GetComponent<Rigidbody2D>().AddRelativeForce(new Vector2(-4,1) * bulletSpeed);

в новом сценарии под названием «контроллер мяча», но затем все шары летят в одном направлении.

есть предложения?

1 Ответ

0 голосов
/ 16 января 2019

AddRelativeForce просто применяет силу по отношению к локальному пространству родительского объекта. Вместо этого вам нужно выяснить, где находится thing относительно центра объекта, и применить соответствующую силу. Например:

//foreach `thing`
    GetComponent<Rigidbody2D>().AddRelativeForce((thing.transform.position-transform.position).normalized * bulletSpeed);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...