Проблема с перемещением большого количества населения в фиксированную позицию - PullRequest
0 голосов
/ 05 апреля 2019

В настоящее время у меня возникла проблема с установкой большой совокупности объектов GameObject на фиксированную позицию или сбросом локальной позиции. Объекты правильно размещаются в первом кадре, но затем они начинают рассыпаться по кругу в первых кадрах после того, как они были размещены там. Предполагается, что объекты движутся в произвольном направлении, но я сделал их первые 5 направлений в векторном списке, чтобы быть точным. Даже тогда они ведут себя так, как на этой картинке , которая просто невозможна для 600 объектов в 9 местах. У объектов есть коллайдеры, но коллизия между ними отключена на слое коллизий жестких тел.

private void ResetScene()
    {
        if (algorithmEnabled)
        {
            playerCounter = size;
            Algorithm();
        }
        else
            playerCounter = 1;   
        for(int i = 0; i < circles.Length; i++)
        {
            circles[i].transform.position = circlePos[i];
        }
        foreach(GameObject g in players)
        {
            g.transform.position = parent.transform.position;
            g.transform.localPosition = Vector2.zero;
            g.SetActive(true);
        }
    }

Функция Algorithm () - это, по сути, целая логика GA, которую я реализовал, а круги [] - это движущийся объект, который убивает при столкновении.

Мне нужно, чтобы начальное местоположение этих объектов всегда было идентичным, потому что в противном случае алгоритм бесполезен - агенты не узнают путь и не улучшат его.

Я использую Unity 2018.3.3 и его 2D-проект.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...