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


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

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

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

Ответ
 
Опции темы
Старый 18.11.2020, 03:27   #1
Eugene Babich
Художник-Аниматор
Цензурный Модератор
 
Аватар для Eugene Babich
 
Регистрация: 13.06.2008
Адрес: Украина
Сообщений: 3,555
Сказал(а) спасибо: 1,333
Поблагодарили 3,471 раз(а) в 1,290 сообщениях
Eugene Babich на пути к лучшему
По умолчанию Как сравнить угол кости на разных родителях?

Задача следующая. Есть кость. У неё есть родитель.
Находясь в нулевом кадре я сохранил её оригиное значение угла в переменную.
Потом я перепривязал эту кость на другого родителя.
Инструмент репарент боун сам скомпенсировал разницу угла между родителями, визуально поворот кости не поменялся, но поменялось значение самого угла.
Т.е. оно уже отличаеться от того, что было сохранено в переменную, но без изменений поворота самой кости на экране.
Затем я немного повернул кость инструментом трансформ боун.
Мне нужно найти значение на сколько я вручную повернул кость уже постфактум.
Сохранить значения угла после смены родителя кости не позволяют условия использования скрипта.
Нужно как то оттолкнуться от значений до перепривязки и не покидая нулевого кадра.
Я вижу это примерно так: как то очистить поворот кости, до и после изменений, от влияния родителей и сравнить разницу.
Надеюсь на помощь, так как подзастрял)
__________________
Убиваю время оживляя персонажей.

Последний раз редактировалось Eugene Babich; 18.11.2020 в 03:37.
Eugene Babich вне форума   Ответить с цитированием
Старый 18.11.2020, 22:39   #2
А.Евсеева
Супер-модератор
 
Аватар для А.Евсеева
 
Регистрация: 29.09.2013
Адрес: Москва
Сообщений: 771
Сказал(а) спасибо: 368
Поблагодарили 1,134 раз(а) в 395 сообщениях
А.Евсеева на пути к лучшему
По умолчанию

Родители-то хоть известны оба? (и старый, и новый)
Если я правильно поняла, задача такая:
1. Получить из локального угла относительно родителя А (сохраненного в переменную) глобальный угол А
2. Получить из локального угла относительно родителя B (который сейчас находится в theBone.fAnimAnge:GetValue(0)) глобальный угол B
3. Сравнить эти два угла.
Первые две задачи решаются умножением вектора на матрицу кости-родителя (старого или нового), т.е.
Код:
local angleVector = LM.Vector2:new_local()
angleVector:Set(1,0)
angleVector:Rotate(theAngle)
parentBone.fMovedMatrix:Transform(angleVector)
local globalAngle = math.atan2(angleVector.x, angleVector.y)
__________________
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
[Только зарегистрированные пользователи могут видеть ссылки. Нажмите Здесь для Регистрации]
А.Евсеева вне форума   Ответить с цитированием
Этот пользователь сказал cпасибо за это полезное сообщение:
Eugene Babich (18.11.2020)
Старый 18.11.2020, 22:53   #3
Eugene Babich
Художник-Аниматор
Цензурный Модератор
 
Аватар для Eugene Babich
 
Регистрация: 13.06.2008
Адрес: Украина
Сообщений: 3,555
Сказал(а) спасибо: 1,333
Поблагодарили 3,471 раз(а) в 1,290 сообщениях
Eugene Babich на пути к лучшему
По умолчанию

Цитата:
Сообщение от А.Евсеева Посмотреть сообщение
Родители-то хоть известны оба? (и старый, и новый)
Да, спасибо! Как попробую отпишу!
__________________
Убиваю время оживляя персонажей.
Eugene Babich вне форума   Ответить с цитированием
Ответ


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

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

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



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


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