Форум 2D Аниматор


Вернуться   Форум 2D Аниматор > "Moho" (Anime Studio) > Общая Дискуссия > Скрипты

Важная информация

Скрипты Здесь все о скриптах Lua для программы Anime Studio Pro (Moho)

Ответ
 
Опции темы
Старый 10.04.2013, 23:36   #1
Stan
Администратор
 
Аватар для Stan
 
Регистрация: 29.12.2007
Адрес: MA
Сообщений: 1,622
Сказал(а) спасибо: 1,182
Поблагодарили 3,395 раз(а) в 773 сообщениях
Stan скоро придёт к известностиStan скоро придёт к известности
По умолчанию Инструмент Add Keyframe - пробивка ключей для костей/точек/слоя.






Данный инструмент - лучшая альтернатива команде меню Animation > Add Keyframe.

Преимущества:
  • Чтобы пробить ключи, не нужно заходить ни в какие меню или активировать инструмент, достаточно простого нажатия кнопки
  • Ключи создаются во всех заданных каналах, независимо от того, есть в них уже анимация или нет
  • Поддерживаются не только кости/точки/слои, но и дополнительные параметры - Curvature, Line width, Layer rotation XY
  • Вы сами определяете, какие каналы вам нужно пробивать, а какие нет

*** Ошибка! Изображение отсутствует! ***
Скрипт представляет из себя два инструмента, работающих в паре друг с другом. Один из них просто хранит в себе настройки, другой работает как кнопка, и служит для собственно пробивания ключей. Данная схема позволила назначать пробивке простой хоткей - то есть осуществлять ее можно из любого инструмента. Нажал кнопку - бац, все каналы пробились. Так просто!







Установка:
1. Скачайте и распакуйте архив - получите четыре файла (два скрипта, две картинки)
2. Поместите эти файлы в папку "Resources\Support\scripts\tool"
3. В той же папке откройте файл "_tool_list.txt" (не открывайте его блокнотом, используйте хотя бы Wordpad, а еще лучше Notepad++ или нечто подобное)
4. В конце этого файла добавьте следующие строки:
Код:
group Keys
tool    sz_add_keyframe_settings        ...
button    sz_add_keyframe        K
Вместо K можно назначить другой свободный хоткей (или три точки)
5. Запустите программу, и пользуйтесь наздоровье!


Спасибо форумчанам KuzmaProduction, napor, и dimamult за идею скрипта и тестирование!
Вложения
Тип файла: zip sz_add_keyframe.zip (8.4 Кб, 96 просмотров)
Stan вне форума   Ответить с цитированием
Эти 24 пользователя(ей) сказали cпасибо за это полезное сообщение:
Показать/Скрыть список поблагодаривших
Старый 05.06.2013, 05:56   #2
Stan
Администратор
 
Аватар для Stan
 
Регистрация: 29.12.2007
Адрес: MA
Сообщений: 1,622
Сказал(а) спасибо: 1,182
Поблагодарили 3,395 раз(а) в 773 сообщениях
Stan скоро придёт к известностиStan скоро придёт к известности
По умолчанию

KuzmaProduction недавно обнаружил странный баг - если смарт кость управляет движением других костей, то пробивка ключей вызывает их смещение. Лично я очень удивился этому, ведь скрипт никаких значений не выставлял, а только сохранял их в канале. Ну да ладно, вобщем алгоритм я переработал, баг исправил. Обновление - в первом посте.
Stan вне форума   Ответить с цитированием
Этот пользователь сказал cпасибо за это полезное сообщение:
dimamult (05.06.2013)
Старый 05.06.2013, 12:01   #3
serg2
Местный
 
Регистрация: 31.08.2007
Сообщений: 5,020
Сказал(а) спасибо: 3,288
Поблагодарили 4,231 раз(а) в 1,800 сообщениях
serg2 на пути к лучшему
По умолчанию

Цитата:
Сообщение от Stan aka Vodka Посмотреть сообщение
KuzmaProduction недавно обнаружил странный баг - если смарт кость управляет движением других костей, то пробивка ключей вызывает их смещение. Лично я очень удивился этому, ведь скрипт никаких значений не выставлял, а только сохранял их в канале. Ну да ладно, вобщем алгоритм я переработал, баг исправил. Обновление - в первом посте.
Очевидно, смещение костей образуется за счет изменения кривизны функциональных кривых при пробивании ключей.

Например, для предотвращения подобного в Hash AM существует возможность вставления точек в любое место сплайна без изменения их кривизны при нажатом Shift.
__________________
hasher
serg2 вне форума   Ответить с цитированием
Старый 05.06.2013, 21:02   #4
Stan
Администратор
 
Аватар для Stan
 
Регистрация: 29.12.2007
Адрес: MA
Сообщений: 1,622
Сказал(а) спасибо: 1,182
Поблагодарили 3,395 раз(а) в 773 сообщениях
Stan скоро придёт к известностиStan скоро придёт к известности
По умолчанию

Да нет, не думаю что происходит это из-за кривых.
У анимационного канала есть метод StoreValue(), который сохраняет текущее значение в виде ключа. Но видимо, когда этот метод применяется к каждой кости по очереди, то он вначале сохраняет значение самой кости, а затем еще на это накладывается значение смарт-кости, которая на эту кость влияет.

В любом случае, проблему удалось решить взятием значения канала методом GetValue(), и тут же установлением его же через SetValue(). Не совсем изящно, но работает!)) Как однажды метко сказал Майк Келли, скриптинг в мохе - чистая алхимия.
Stan вне форума   Ответить с цитированием
Ответ


Здесь присутствуют: 1 (пользователей: 0 , гостей: 1)
 
Опции темы

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.



Текущее время: 23:59. Часовой пояс GMT +5.


Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.