Template:LSLGC/ru
LSL Portal | Functions | Events | Types | Operators | Constants | Flow Control | Script Library | Categorized Library | Tutorials |
Краткое изложение
Second Life анимации часто запускаются с помощью скриптов для достижения различных эффектов, таких как ходьба, сидение и летающие анимации, а также танцы, рукопожатия, объятия, или другие вещи. Здесь есть обозначения скриптеру для понимания основных концепций, как работа анимаций, которая подробно описана в других статьях, но она будет кратко описана здесь:
- Анимация перемещает только определенные части тела. Хотя много анимаций могут анимировать все тело, но некоторые будут манипулировать только руками или головой, что позволяет "слоистые" эффекты, такие как одновременные шатание и кивок с использованием двух различных анимаций. Объедините это с анимацией ходьбы и вы можете идти, шатание и кивание в то же время!
- Если несколько анимаций манипулируют той же частью тела, то каждая из них берётся переместить часть тела предопределенным анимационным приоритетом, который применяется при запуске анимации в Вашем скрипте!
- Циклическое повторение анимаций должно быть явно остановлено использованием
llStopAnimation ()
, или они будут продолжаться бесконечно, поэтому убедитесь, что ваш скрипт останавливает любую запускаемую им анимацию, и если вы хотите избежать конфликта вы можете использоватьllGetAnimationList ()
для определения работаещей анимации.
Предварительная загрузка анимации
Если вы хотите построить последовательность анимации, которые плавно переходят от одной к другой, то можно сделать так воспользовавшись анимационный приоритетом. Проще говоря, если вы запустили полный рабочий орган анимацию всего тела с приоритетом 4, то анимации с приоритетом 3 и ниже не будут видны (они перекрываются), помня это становится возможным построить последовательность анимаций, так что они будут загружать последующие шаги "в фоновом режиме".
Мы делаем это, запуская анимацию с приоритетом 4, переходя на приоритет 3, затем приоритет 2 и так далее. На каждом этапе следующая анимация начинается ранее, что позволяет загрузить в фоновом режиме, если пользователь еще не получил той анимации. Если ваша анимационная последовательность имеет больше действий, чем количество уровнией приоритета, то вы можете просто группировать совместные шаги и предварительную загрузку всей группой одновременно.
Например, если ваш второй и третий этап представляет собой приоритетную задачу 3, то для начала вы начнете первом анимационном этапе (приоритет 4), а также со второй и третьей (так что они могут предварительно загрузиться). При переходе на второй этап, вы остановите первый и третий этапы. Остановка первая позволяет второму стать видимым, и мы останавливаем третий для избежания конфликта (так как имеем такой же приоритет).
'Примечание': технически возможно все анимации в предварительной последовательности использовать с одинаковым приоритетом, и воспользоваться тем, что вызов анимации имеет одинаковый приоритет со старыми анимациями. Однако, это очень громоздкий метод, поэтому часто лучше групповые анимационные приоритеты, также убедитесь, что у вас есть начальные "маскировки" анимации с приоритетом 4, что будет скрывать предварительно загружаемые анимации. Важно также помнить, что нельзя предварительно загружать большое количество анимаций, так как существует ограничение на количество активных одновременно анимаций, возможни лаги отставания в СЛ-клиенте, что также может мешать предварительной загрузке конкретной анимации.
Issues
SVC-4569 | Allow animations to be specified by key |
SVC-4569 | Allow animations to be specified by key | ||||
SVC-6300 | llStartAnimationSynced() - start an animation synchronised with a given timestamp |
SVC-4569 | Allow animations to be specified by key | ||||
SVC-6300 | llStartAnimationSynced() - start an animation synchronised with a given timestamp | ||||
SVC-6866 | llPreloadAnimation() - a function for preloading animations ready to be played on-demand without delay |
SVC-4569 | Allow animations to be specified by key | ||||
SVC-6300 | llStartAnimationSynced() - start an animation synchronised with a given timestamp | ||||
SVC-6866 | llPreloadAnimation() - a function for preloading animations ready to be played on-demand without delay |