Анимирование в Maya или физика в Unity

Импорт текстур, моделей, звуков и пр.

Анимирование в Maya или физика в Unity

Сообщение pesiik 09 дек 2015, 11:28

Моделирую в Maya. Мне нужно создать реалистичное поведение упругого элемента между браншей. Упругий элемент состоит из двух мешей. Он, собственно, должен изгибаться когда ручки смыкаются. Как это организовать? Анимация обычная или, быть может, можно намутить физику в движке? И если приведите ссылочку подробно описывающую процесс.
P.S: таких инструментов много, может имеет смысл именно физику сделать?
Изображение
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 09 дек 2015, 13:59

Физика - довольно неконтролируемая штука, в отличие от анимации... и в отличие от функционала реального инструмента. :)
Все, что можно сделать просто - лучше делать просто. Вместо кучи рассчётов, коллизий, констрейнов, дампингов и прочего, у вас будет один ползунок-контроллер состояния анимации. Думаю, искать альтенративу нет смысла.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 09 дек 2015, 14:12

Paul Siberdt писал(а):Физика - довольно неконтролируемая штука, в отличие от анимации... и в отличие от функционала реального инструмента. :)
Все, что можно сделать просто - лучше делать просто. Вместо кучи рассчётов, коллизий, констрейнов, дампингов и прочего, у вас будет один ползунок-контроллер состояния анимации. Думаю, искать альтенративу нет смысла.

Хорошо, тогда немного не по теме: можно ли пример анимирования похожего объекта? Это soft boby? В Maya
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение waruiyume 09 дек 2015, 15:18

По 2 кости на каждую сторону.
Аватара пользователя
waruiyume
Адепт
 
Сообщения: 6143
Зарегистрирован: 30 окт 2010, 05:03
Откуда: Ростов на Дону

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 09 дек 2015, 16:51

Зависит от роли иснтрумента в вашем приложении, но всяко посмотрите на крайние положения. Возможно, достаточно будет одной кости на пружину... или пары-тройки, если хотите визуализировать изгиб. При желании и необходимости, можно собрать IK-цепочку из нужного количества костей, дабы пружины гнулись ну-вааще-зашибато. :).
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 09 дек 2015, 16:52

waruiyume писал(а):По 2 кости на каждую сторону.

Очень тяжело обрисовывать веса. Нужно равномерно очень. Либо инверсная кинематика. Есть ли какие нить решения?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 09 дек 2015, 16:55

Paul Siberdt писал(а):Зависит от роли иснтрумента в вашем приложении, но всяко посмотрите на крайние положения. Возможно, достаточно будет одной кости на пружину... или пары-тройки, если хотите визуализировать изгиб. При желании и необходимости, можно собрать IK-цепочку из нужного количества костей, дабы пружины гнулись ну-вааще-зашибато. :).

что за IK-цепочка? и учитывая что это два меша, нужно ли создавать две отдельные группы joint-ов?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 09 дек 2015, 17:06

А зачем вам два меша? Сливайте в один.

IK-цепочка это последовательность костей, связанных в IK-конструкцию. Можно, я говорю про майку, создать двух-трехступенчатую цепочку на стандартном IK-солвере или придумать что-нить подлиннее и заюзать IK-сплайн. Но, по мне так IK здесь не особо нужна, поскольку движения пружины просты и однообразны. Более, чем достаточно создать цепочку косточек и прописать зависимости их поворотов от состояния инструмента (поворота рукоятки). Тогда анимируя рукоятку, вы отыграете поведение обеих пружин.

Если не хотите анимировать - бросайте заскиненный меш в юньку и скриптом прописывайте все эти зависимости. Возможно, я б сам, в конце концов, так и поступил.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 09 дек 2015, 23:59

Paul Siberdt писал(а): Можно, я говорю про майку, создать двух-трехступенчатую цепочку на стандартном IK-солвере или придумать что-нить подлиннее и заюзать IK-сплайн. Но, по мне так IK здесь не особо нужна, поскольку движения пружины просты и однообразны. Более, чем достаточно создать цепочку косточек и прописать зависимости их поворотов от состояния инструмента (поворота рукоятки). Тогда анимируя рукоятку, вы отыграете поведение обеих пружин.

А с весами тогда не придется мучиться? Равномерно их нарисовать у меня не получается. Я просто нубоват в этом деле. Может я ваще фигню несу и веса там ни к чему?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 10 дек 2015, 01:08

Попробуйте сначала, на самом деле- проблем нет никаких.
Можно даже не париться и создать количество костей равное числу поперечных сечений пружины. Тогда можно обойтись по одному весу на кость и ни о чем не думать.
А можно процедурно создать пружину или просто ее гнуть уже в Юньке и вообще обойтись без анимаций и скинед мешей... но, имхо, это уже некоторый гемор.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 10 дек 2015, 09:46

Paul Siberdt писал(а): и вообще обойтись без анимаций и скинед мешей... но, имхо, это уже некоторый гемор.

вы имеете ввиду по изменению scale меша создать видимость его динамики? мне все таки нравится идея с ik. я погуглил, плюс вы говорите, что она будет цивильней смотреться
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 10 дек 2015, 11:14

Paul Siberdt писал(а):Попробуйте сначала, на самом деле- проблем нет никаких.

Помогите пожалуйста) вот допустим я комбайню два этих меша и строю такую схему костей и ik, где красная линия - кости, желтая линия - цепь.
Изображение
Правильно? Если нет, обозначьте как сделали бы вы. Вот пустой скрин:
Изображение
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 10 дек 2015, 13:24

pesiik писал(а):
Paul Siberdt писал(а): и вообще обойтись без анимаций и скинед мешей... но, имхо, это уже некоторый гемор.

вы имеете ввиду по изменению scale меша создать видимость его динамики? мне все таки нравится идея с ik. я погуглил, плюс вы говорите, что она будет цивильней смотреться

Нет, я имею в виду переcтраивать меш пружины, добавляя вертексам bend-эффект.

Цепь, что вы нарисовали, будет отыгрывать работу инструмента (сжатие-разжатие), но ничего не сотворит с пружиной в плане эффекта.

Я имел в виду такоую штуку.

И, вот, уже две мои штуки можно вешать на вашу, дабы концы IK-солверов пружин позиционировались автоматически.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение Paul Siberdt 10 дек 2015, 13:57

Вот, поиграйтесь в апдейте с этой штукой:
Синтаксис:
Используется csharp
using UnityEngine;
public class MeshBender : MonoBehaviour
{
    public float coeff; // алхимический коэффициент, заменяет параметр радиуса кривизны
    public Vector3 angle; // алхимический коэффициент, задает представление об осевых поворотах
    public Vector3 center; // вроде как должен быть центр кручения в локальных координатах меша

    private Transform t;
    private Mesh m;
    private Vector3[] baseVertices; // здесь храним начальную вертексдату
    private Vector3[] resultVertices; // сюда считаем вертексдату кручения
   
    void Start()
    {
        t = transform;
        m = t.GetComponent<MeshFilter>().mesh;
        baseVertices = m.vertices;
        resultVertices = new Vector3[baseVertices.Length];
    }

    void Update () {

        for (int i = 0; i < baseVertices.Length; i++)
        {
            // угол закручивания веркекса под алхимическим коэффициентом
            Quaternion rotation = Quaternion.Euler(angle.x * coeff * i, angle.y * coeff * i, angle.z * coeff * i);
            // находим позицию закрученного вертекса
            resultVertices[i] = center + rotation*(baseVertices[i] - center);
        }
        m.vertices = resultVertices;
    }
}


Разберитесь со скриптом, думаю, его вполне можно приспособить под пружину.
Аватара пользователя
Paul Siberdt
Адепт
 
Сообщения: 5317
Зарегистрирован: 20 июн 2009, 21:24
Откуда: Moscow, Russia
Skype: siberdt
  • Сайт

Re: Анимирование в Maya или физика в Unity

Сообщение pesiik 10 дек 2015, 14:00

Paul Siberdt писал(а):Я имел в виду такоую штуку.

в один меш их объединять не надо? со второй половиной тоже так же? а в середине нужно соединить кости первой части и второй?
pesiik
UNITрон
 
Сообщения: 223
Зарегистрирован: 01 авг 2015, 11:46

След.

Вернуться в Медиа

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2