Template:LSLGC/ru

From Second Life Wiki
< Template:LSLGC
Revision as of 10:17, 8 June 2013 by Fashion Atlas (talk | contribs) (Первопроходец)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Краткое изложение

Second Life анимации часто запускаются с помощью скриптов для достижения различных эффектов, таких как ходьба, сидение и летающие анимации, а также танцы, рукопожатия, объятия, или другие вещи. Здесь есть обозначения скриптеру для понимания основных концепций, как работа анимаций, которая подробно описана в других статьях, но она будет кратко описана здесь:

  • Анимация перемещает только определенные части тела. Хотя много анимаций могут анимировать все тело, но некоторые будут манипулировать только руками или головой, что позволяет "слоистые" эффекты, такие как одновременные шатание и кивок с использованием двух различных анимаций. Объедините это с анимацией ходьбы и вы можете идти, шатание и кивание в то же время!
  • Если несколько анимаций манипулируют той же частью тела, то каждая из них берётся переместить часть тела предопределенным анимационным приоритетом, который применяется при запуске анимации в Вашем скрипте!
  • Циклическое повторение анимаций должно быть явно остановлено использованием llStopAnimation () , или они будут продолжаться бесконечно, поэтому убедитесь, что ваш скрипт останавливает любую запускаемую им анимацию, и если вы хотите избежать конфликта вы можете использовать llGetAnimationList () для определения работаещей анимации.

Предварительная загрузка анимации

Если вы хотите построить последовательность анимации, которые плавно переходят от одной к другой, то можно сделать так воспользовавшись анимационный приоритетом. Проще говоря, если вы запустили полный рабочий орган анимацию всего тела с приоритетом 4, то анимации с приоритетом 3 и ниже не будут видны (они перекрываются), помня это становится возможным построить последовательность анимаций, так что они будут загружать последующие шаги "в фоновом режиме".

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

Например, если ваш второй и третий этап представляет собой приоритетную задачу 3, то для начала вы начнете первом анимационном этапе (приоритет 4), а также со второй и третьей (так что они могут предварительно загрузиться). При переходе на второй этап, вы остановите первый и третий этапы. Остановка первая позволяет второму стать видимым, и мы останавливаем третий для избежания конфликта (так как имеем такой же приоритет).

'Примечание': технически возможно все анимации в предварительной последовательности использовать с одинаковым приоритетом, и воспользоваться тем, что вызов анимации имеет одинаковый приоритет со старыми анимациями. Однако, это очень громоздкий метод, поэтому часто лучше групповые анимационные приоритеты, также убедитесь, что у вас есть начальные "маскировки" анимации с приоритетом 4, что будет скрывать предварительно загружаемые анимации. Важно также помнить, что нельзя предварительно загружать большое количество анимаций, так как существует ограничение на количество активных одновременно анимаций, возможни лаги отставания в СЛ-клиенте, что также может мешать предварительной загрузке конкретной анимации.


Issues

   Allow animations to be specified by key
   Allow animations to be specified by key
   llStartAnimationSynced() - start an animation synchronised with a given timestamp
   Allow animations to be specified by key
   llStartAnimationSynced() - start an animation synchronised with a given timestamp
   llPreloadAnimation() - a function for preloading animations ready to be played on-demand without delay
   Allow animations to be specified by key
   llStartAnimationSynced() - start an animation synchronised with a given timestamp
   llPreloadAnimation() - a function for preloading animations ready to be played on-demand without delay