『 Temmie Dola 』
Для начала давайте договоримся, что нет одного правильного решения. Вы можете ставить Write Defaults (далее WD), если вам так удобнее. Главное, чтобы вы это делали осознано, а не потому что только так у вас не ломается лицо. Тут я и постарался объяснить как он работает.
Также примите во внимание, что WD по умолчанию всегда включено, но в документации VRChat рекомендуют им не пользоваться https://bit.ly/3S7OiCf (вспомните когда вводили систему выключения аватаров по дистанции)
Поэтому лично я советую делать все по документации, потому что мне так спокойнее
Теперь объясняю в чем отличие. Если вы пользуетесь WD, то при включении аватар как бы запоминает все свои значения: какие шейпкеи включены, какие мешы, звуки, предметы и т.д. Когда вы что-то включаете эти значения перезаписываются, а когда выключаете, то возвращаются в первоначальное состояние. Поэтому обычно с ним всё и работает
Таким образом можно уже понять почему без WD, например ломается лицо на жестах. Вы поменяли шейпкей лица. Отпустили руку и ничего не говорит аватару вернуть лицо в первоначальное положение и лицо не изменяется. Потом вы снова включаете жестом другое лицо и оно как бы "накладывается сверху" - так лицо и ломается и после этого обычно люди возвращаются к WD. Но теперь, так как мы уже поняли как это работает, мы должны понимать, что эту проблему легко решить. Раз без WD не записывается первоначальное состояние аватара, то мы должны сделать его сами. Например вы можете просто делать копию анимации и изменять в ней все значения на противоположные. Мне кажется это самым простым решением, но только в простом аватаре. Если у вас много слоёв и кнопок, то вы фактически удвоите количество анимаций. Поэтому я пользуюсь другим методом
На других слоях у меня только пустая анимация которая переходит с условием в анимацию включения. Так как все анимации под Reset в приоритете, всё будет работать. Например в 1 слое с "Reset" сказано, что шляпа выключена, а на 2 слое у меня есть анимация, которая эту шляпу включает.
Первоначальный оранжевый стейт во втором слое пустой, поэтому ничто ничего не меняет, но стоит мне перейти в анимацию включения, как шляпа включится, так как второй слой приоритетнее первого и в нем сказано эту шляпу включить. Когда я вернусь в пустой стейт, то ничего не будет говорить шляпе включиться и ее значение примет значение из "reset", а значит выключится. Этот способ кажется довольно замороченным, но таким образом вместо кучи анимаций выключения вам нужно сделать всего одну и изменять в будущем только её. В своём гайде кстати я пользовался этим способом
Напишите если что-то не поняли я дополню или изменю пост или отвечу






