[Из песочницы] Как мы оптимизировали Ragdoll анимацию смерти в Unity

Комментарии (1)

  • 5 августа 2017 в 00:01

    0

    1. Неплохо бы указать лицензию на гитхабе.
    2. Можно упростить код, запустив цикл захвата не через Update, а через коротину и делая задержку в бесконечном цикле с нужным fps-ом:
    yield return new WaitForSeconds(1f / fps);
    

    3. Запуск захвата можно делать автоматически, без необходимости нажатия на пробел.
    4. Остановку захвата можно делать автоматически, анализируя состояние флага isSleeping у всех RigidBody на иерархии. Как только все уснут — можно делать дамп анимации и стопать редактор через:
    UnityEditor.EditorApplication.isPlaying = false;
    

    5. Метод Start может быть коротиной, автоматически стартуемой юнити, поэтому AnimationRecorderRagdollHelper можно упростить:
    private IEnumerator Start ()
    {
        yield return new WaitForSeconds ( _startingDelay );
        ....
    

© Habrahabr.ru