1. Пользоваться форумом на планшетах и телефонах стало удобнее благодаря Tapatalk

Expression for Maya Экспрэсион в Майя

Тема в разделе "Maya", создана пользователем Aleksandrs Poltarjonoks, 2 дек 2009.

Модераторы: Dark™, Skif
  1. Aleksandrs Poltarjonoks

    Aleksandrs Poltarjonoks Активный участник

    С нами с:
    17.09.2009
    Сообщения:
    70
    Симпатии:
    0
    Баллы:
    5
    кто может посоветовать как быть? Я думаю что многие здесь сами себе режиссёры и часто сталкиваются с проблемой решить задачу с Expression.
    Как быть тем кто не силён в математике? Может есть просто ключевые примеры на все случаи жизни?
     
  2. (SG)Liber

    (SG)Liber Знаток

    С нами с:
    27.09.2006
    Сообщения:
    219
    Симпатии:
    0
    Баллы:
    30
    Для частиц часто использую функцию particleShape1.radiusPP = rand (0.1, 1) к примеру, для различных радиусов частиц.

    К примеру у тебя есть цилиндр (колесо) и кубик (площадка). Хочешь, чтобы кубик двигался по оси Х и с ним двигалось колесо, при этом вращалось.

    pCylinder.translateX = pCube.translateX;
    pCylinder.rotateY = pCube.translateX *30;

    можешь умножать на большее число, в зависимости от скорости. Если вращается не в ту сторону, то на отрицательное и т.д.

    А вообще нужно поставить себе задачу и её решать.

    К примеру, я выбрал тему диплома: "генератор мимики персонажа по набранному тексту при помощи MEL. Создание приложения для C++";

    а вообще С.Цыпцын "Понимая Мая" в главе по MEL рассказал очень хорошо основы языка и некоторые примеры.
     
  3. Aleksandrs Poltarjonoks

    Aleksandrs Poltarjonoks Активный участник

    С нами с:
    17.09.2009
    Сообщения:
    70
    Симпатии:
    0
    Баллы:
    5
    Да у Цыцына описано всё неплохо. До МЕЛ не добрался ещё ... :)) в смысле читаю ...
    Спасибо за примеры понятно всё.Предлагаю делать так если кто имеет проблему с какойто ситуацией где надо expression пусть её опишет и кому не лень помогут решить задачу.Потом можно просто составить популерные формулы на все случаи жизни ....
     
  4. BaalVancheGG

    BaalVancheGG Пользователь сайта

    С нами с:
    12.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    ну если даже взять колесо и кубик=) как построить зависимость поворота колеса не только от координаты оси объекта, но и от длины окружности колеса? например, едет машина, но тут колеса у нее становятся довольно маленькими, и нужно добавить дополнительных оборотов??
     
  5. kukart

    kukart Знаток

    С нами с:
    28.05.2008
    Сообщения:
    575
    Симпатии:
    6
    Баллы:
    28
    взять формулу вычисления длины окружности, посмотреть как она зависит от радиуса (те половины скейла по оси х) и вставить в экспрешн -)
     
  6. BaalVancheGG

    BaalVancheGG Пользователь сайта

    С нами с:
    12.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    kukart Можно по подробнее? Я уже пробовал делать. И формулу писал и зависимость составил, но нужного результата не получил. Не смог связать . Как у меня получилось, нужно было найти перемещение обьекта а не просто транслейт. Я в этом мало что понимаю.
     
  7. BaalVancheGG

    BaalVancheGG Пользователь сайта

    С нами с:
    12.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    допустим есть платформа platform и колесо wheel например движене происходит по оси x

    Длина окружности колеса равно 2*pi*R
    Допустим движение произошло с x=0 до x=5 -на 5 едениц.
    Следует повернуть колесо вроде как на (platform.translateX/(6,28*wheel1.radius))*360;
    (например длина окружности 20. то 5/20*360=90)
    тока ниче не получается((
     
  8. BaalVancheGG

    BaalVancheGG Пользователь сайта

    С нами с:
    12.01.2008
    Сообщения:
    13
    Симпатии:
    0
    Баллы:
    2
    а все догнал))
     
  9. Slavenin

    Slavenin Активный участник

    С нами с:
    22.06.2008
    Сообщения:
    264
    Симпатии:
    0
    Баллы:
    16
    не советую пользоваться каналами транслейта скейла и тд, так как очень часто они не несут реальной информации о местоположении объекта в сцене(объект помещен в группу, с объектом делался фрихз трансформ, ну и еще много чего мона сделать с объектом что собьет значения в каналах транслейта, ротейта и скейла) лучше руками вводить радиус колеса ну или окошечко сделать простенькое куда он будет вводиться, а координаты лучше брать у скрытого объекта который припоинтконстрейнчен к колесу и скрыт, смотрим его координаты в каждом кадре, вычисляем пройденное за кадр расстояние и уже в зависимости от этого поворачиваем колесо, для точности вычисления расстояния советую пользоваться функцией mag() которая вычисляет длину заданного вектора.
     
Модераторы: Dark™, Skif

Поделиться этой страницей