Изменение объекта в одной сцене изменяет его в 2 - PullRequest
0 голосов
/ 06 июня 2018

Я использую Unity, и у меня есть сцена с планшетом.Я скопировал эту сцену и изменил несколько вещей, но кроме нескольких изменений текстуры, та же сцена.Во второй сцене я изменил анимацию на планшете на другую анимацию, и она работала нормально.Но возвращаясь к первой сцене, я вижу, что она изменила анимацию в обеих сценах.У меня есть много сценариев, которые ссылаются на имя объекта планшета и сценария, так есть ли способ исправить это без необходимости переделывать планшет и все сценарии?У меня нет сборного объекта.И анимации совершенно разные.Единственное, что является общим - это имя объекта и сценарий.

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Спасибо Саре Кэт за отличный ответ, хотя это не решение моей проблемы.Я сделал очень грубую ошибку, я создал новую анимацию и объект, но я использовал тот же контроллер аниматора.Если у кого-то еще возникла эта проблема, убедитесь, что вы создали новый контроллер, а также новую анимацию

0 голосов
/ 06 июня 2018

Чтобы решить вашу проблему, вам нужно будет сделать две разные анимации для каждого из планшетов.

Допустим, у вас есть анимация 1, примененная к планшету 1, вы копируете все, и теперь у вас есть планшет 2 санимация 1 теперь также, если вы редактируете анимацию 1 во время работы над сценой 2 (с планшетом 2), сцена 1 (с планшетом 1) будет автоматически затронута, поскольку она также ссылается на ту же анимацию 1

Так чтовам нужно сделать следующее: - создать две отдельные анимации: анимацию 1 и анимацию 2 - назначить для каждой таблетки свою анимацию

Наконец, вы можете применить два метода:

  1. В вашем коде вам нужно будет создать поле, которое позволит вам контролировать, какой контроллер анимации или аниматора запускать / использовать (google it)

ИЛИ

Вы можете добавить два анимационных клипа на один контроллер и управлять логическим значением (или целым числом), которое будет выбирать, какой из них активировать, как показано на рисунке ниже:

Сначала создайте 2 отдельные анимации: enter image description here

Затем перейдите к аниматору, щелкните правой кнопкой мыши и добавьте пустое состояние, затем щелкните правой кнопкой мыши по нему и установите в качестве состояния слоя по умолчанию. Привязка к нему двух анимаций, которые у вас есть

enter image description here

Перейти к параметрам -> добавить новый логический тип и сделать один из переходов истинным, а другой ложным

enter image description here

enter image description here

и, наконец, вы можете сделать следующее в своем коде:

добавить public bool animationtype, которым вы можете управлятьот вашего инспектора (если вы установите истинную анимацию, 1 будет проигрываться, если будет воспроизводиться ложная анимация 2), и вы можете использовать:

whatevername.SetBool("whatevername", animationtype);

Если у вас более двух анимаций, рассмотрите возможность использования Integer вместо Boolean.

...