@Develoder
Моя игра https://ur-l.ru/sioKg

Почему не задается параметр в Animator?

Проблема в том что, когда я получаю позицию монетки(Share) и передаю в Animator этого объекта, параметр аниматора не меняет значение, следовательно и анимация не меняется.

Объясню код: Передается заранее созданный объект через Instantiate, извлекая оттуда монетки(сферы) и по их позиции задается параметр в аниматор, по которому и отображается нужная анимация.

GameObject SetShareOnParametrs(GameObject game)
    {
        int CountShare = 0; //Колличество сфер в префабе
        foreach (Transform child in game.transform)
        {
            if (child.tag == "Point")
            {
                CountShare++;
            }
        }

        //Спавн сфер с нужными параметрами
        GameObject[] Spheres = new GameObject[CountShare];
        int a = 0;
        foreach (Transform child in game.transform)
        {
            if (child.tag == "Point")
            {
                Spheres[a] = child.gameObject;
                a++;
            }
        }
        Vector3[] PositSphere = new Vector3[CountShare];
        //Задается номер анимации для сфер
        for (int i = 0; i < CountShare; i++)
        {
            PositSphere[i] = Spheres[i].transform.localPosition;
            Spheres[i].GetComponent<Animator>().SetInteger("Money", Mathf.RoundToInt(PositSphere[i].z));
            Spheres[i].transform.localPosition = PositSphere[i];
            //Вывод в консоль параметр аниматора и положения объекта
            Debug.Log(Spheres[i].GetComponent<Animator>().GetInteger("Money").ToString() + " " + Spheres[i].transform.localPosition.ToString());
        }
        return game;
    }


Проведя пару тестов я выявил, что первый создаваемый префаб в котором находятся монетки(сферы) анимация правильно определяется, а в последующих префабах параметр аниматора вообще не задается. Хотя по "Дебагу" я проверил, что параметр задается правильно, а в самом окне аниматора этот параметр как и был 0 так и остался.
  • Вопрос задан
  • 254 просмотра
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы