Можно ли согнуть спрайт как во флеше Skew/Shear?
|
|
alexsilent | Дата: Воскресенье, 22 Ноября 2015, 19:47 | Сообщение # 1 |
почти ветеран
Сейчас нет на сайте
| Можно ли согнуть спрайт, как во Флеше с помощью скриптов или с помощью анимации? (Во флеше это вроде называется Skew) Я заметил можно, если это ребёнок и его родитель претерпевает неравномерные изменения по Scale (например по Х = 1 а по Y = 0.5, и теперь попробуйте покрутить ребёнка такого родителя, он начнёт искажаться ) Но что если я хочу свободные изменения Skew, как если б делал анимацию во Флеше, из-за этого эффекта, часть анимаций выглядит живее во Флеше, в отличии от топорной анимации Unity из 2D спрайтов...
Сообщение отредактировал alexsilent - Понедельник, 30 Ноября 2015, 15:28 |
|
| |
YellowAfterlife | Дата: Воскресенье, 22 Ноября 2015, 21:45 | Сообщение # 2 |
Сейчас нет на сайте
| Насколько мне известно, Unity всё ещё не дает "прямого доступа" к матрицам игровых объектов. Но, с помощью некоторых ухищрений, можно добиться точной симуляции skew\shear с помощью последовательного применения вращений и растяжений. В Unity это будет достигаться несколькими "обёрточными" GameObject для применения каждой из операций.
|
|
| |
alexsilent | Дата: Понедельник, 30 Ноября 2015, 15:27 | Сообщение # 3 |
почти ветеран
Сейчас нет на сайте
| YellowAfterlife, спасибо! Но к сожалению это Love2d и я совсем не понимаю этого кода. Есть ещё альтернативы кода для Skew Shear?
Добавлено (30 ноября 2015, 15:27) --------------------------------------------- Нашёл такие отличные видео, но автор этого кода к сожалению не особо делится результатами самого кода, очень хотелось бы узнать код. *_* Ибо это то что я хотел, сделать лучше качество анимации с 2д спрайтами.
Жаль из меня плохой программист, я больше по части рисования.
Сообщение отредактировал alexsilent - Понедельник, 30 Ноября 2015, 15:28 |
|
| |
seaman | Дата: Понедельник, 30 Ноября 2015, 16:49 | Сообщение # 4 |
старожил
Сейчас нет на сайте
| Можно шейдер написать соответствующий. Вот обсуждается (не для Юнити) http://www.reedbeta.com/blog/2012/05/26/quadrilateral-interpolation-part-1/ Вот напрямую для Юнити: http://www.sector12games.com/skewshear-vertex-shader/ Тут это делается переопределением отрисовки меша: http://answers.unity3d.com/questions/1074814/is-it-possible-to-skew-or-shear-ui-elements-in-uni.html Можно использовать GL для отрисовки объектов и там есть прямой доступ к матрицам трансформации http://docs.unity3d.com/ScriptReference/GL.html PS: Для старого ГУИ, кстати тоже был прямой доступ к матрице трансформации.
Сообщение отредактировал seaman - Понедельник, 30 Ноября 2015, 16:54 |
|
| |
alexsilent | Дата: Понедельник, 30 Ноября 2015, 20:47 | Сообщение # 5 |
почти ветеран
Сейчас нет на сайте
| Цитата seaman ( ) Вот напрямую для Юнити: http://www.sector12games.com/skewshear-vertex-shader/ seaman, спасибо! Вот это самый лучший способ из всех, однако у него минус, что один материал меняет все спрайты с таким же материалом, попробую рпидумать как это обойти.
|
|
| |
Ranger | Дата: Вторник, 01 Декабря 2015, 20:36 | Сообщение # 6 |
почти ветеран
Сейчас нет на сайте
| Не знаю как на флэше. Но можно просто менять вершины в кваде как заблогарассудится (проклятый интернет) заблагорассудится.
Сообщение отредактировал Ranger - Вторник, 01 Декабря 2015, 20:36 |
|
| |
alexsilent | Дата: Вторник, 01 Декабря 2015, 21:00 | Сообщение # 7 |
почти ветеран
Сейчас нет на сайте
| Цитата Ranger ( ) Но можно просто менять вершины в кваде как заблогарассудится (проклятый интернет) заблагорассудится. Как раз для этих целей, нашел пару интересных плагинов. ДУмаю, это лучше чем скью
|
|
| |