Рандомизированная анимация Unity синхронизируется во всех экземплярах сборных конструкций [дубликат]C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Рандомизированная анимация Unity синхронизируется во всех экземплярах сборных конструкций [дубликат]

Сообщение Anonymous »

Как указано в заголовке, я рандомизирую анимацию, используя следующий скрипт:

Код: Выделить всё

private IEnumerator RandomizeAnimation()
{
while (true)
{
var rand = Random.Range(0, 100);
switch (rand)
{
case > 90 and  95:
animator.SetTrigger(TurnRight);
yield return new WaitForSeconds(3);
break;
default:
yield return new WaitForFixedUpdate();
break;
}
}
}
Анимация синхронизируется во всех экземплярах префаба. Если триггер установлен для одного из экземпляров, он также устанавливается и для других экземпляров. Я попробовал погуглить вопрос, но мне очень сложно его сформулировать. В качестве примера вы можете предположить, что каждая анимация длится менее 3 секунд.
Я попытался проверить, все ли экземпляры префаба ссылаются на соответствующий аниматор. Я также попытался создать тот же сценарий внутри аниматора, что привело к такому же поведению. Более того, я пытался найти, как сделать глубокую копию аниматора, для чего потребуется дублировать ассет в игре. Кроме того, я попытался создать новый экземпляр контроллера-аниматора во время выполнения и заменить его существующим, но безрезультатно (как, например, здесь: Мой аниматор создает одновременную анимацию?).
Если кто-нибудь знает, как решить эту проблему, буду благодарен за любую помощь.

Подробнее здесь: https://stackoverflow.com/questions/792 ... -instances
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»