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

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

Хронология:

Когда игрок проходит определенный невидимый триггерный коллайдер, запускается временная шкала, появляется собака и после небольшой задержки бежит вправо. Если собака касается игрока, игрок умирает и возрождается до начала временной шкалы.

Проблема:

Поскольку Timelines/Playable Director в настоящее время не имеют встроенного метода для их сброса, не придумывая решения самостоятельно, у меня есть 2 варианта.

Я могу либо продолжать воспроизведение временной шкалы, либо «Остановить», что на самом деле является просто паузой, оставляя объекты на месте. Ни один из них не подходит для моих нужд и не подойдет для моей игры.

Решение:

Я хочу, чтобы временная шкала (и, следовательно, собака) сбрасывалась после смерти, чтобы она исчезала, пока я снова не передам триггер, перезапустив его.

Код:

Код для этого довольно прост и состоит из 3 команд для компонента PlayableDirector:

Примечание. Некоторые из вас, возможно, заметили одну проблему, которая все еще остается в этом решении.

В то время как собака (и все другие объекты временной шкалы) сбрасываются и перезапускаются правильно, существует доля секунды, когда временная шкала перезапускается, когда объекты (например, собака) все еще находятся в своем предыдущем положении с момента последнего воспроизведения временной шкалы.

Я еще не нашел решения, чтобы исправить это, но я не долго работал над этим, поэтому я обновлю этот пост, если найду решение.