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

Авто Колесо

Тема в разделе "Maya", создана пользователем Pacmaniac, 29 окт 2012.

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

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Всем привет!
    Подскажите пожалуйста как сделать авто вращение колеса в зависимости от направления движения автомобиля.
    В сети полно уроков о том как сделать вращения колеса,но авторы уроков не учитывают поворотов корпуса,то есть они двигают машинку вперёд-назад ,но не поворачивают.


    Скачал пару ригов автомобилей. И вот что увидел. Вращения колеса в них рассчитывается из суммы перемещений корпуса по X и Z. wheel.rotateX = mainControl.tanslateX + mainControl.tanslateZ.
    Такая формула работает только если автомобиль будет повёрнут в диапазоне от 0 до -90 в горизонтальной плоскости, так как именно в этом диапазоне сумма его перемещений по X и Z будет равна положительному значению. Если же повернуть автомобиль например ровно на 45 градусов в горизонтальной плоскости и поехать вперёд, то колёса вращаться не будут ,так как в данном случае формула будт давать "0" , потому что одно из значений (X или Z)будет отрицательным,полярно противоположным другому.

    Короче либо я что-то упускаю ,либо чёрт его знает. Запутался окончательно.
    Ребята,если у кого есть опыт в оснащении автомобилей ,помогите советом.
     
  2. iNOD

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

    С нами с:
    10.11.2009
    Сообщения:
    631
    Симпатии:
    2
    Баллы:
    19
    вставить в экспрессию условия.
    Код:
    float $rttX = mainControl.tanslateX;
    float $rttZ = mainControl.tanslateZ;
    if(rttX < 0)
    {
    $rttX = mainControl.tanslateX *(-1);
    }
    if(rttZ < 0)
    {
    $rttZ = mainControl.tanslateZ *(-1);
    }
    wheel.rotateX = $rttZ + $rttX;
    
     
  3. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Тут возникают проблемы.
    1. При езде задним ходом ,колесо вращается не в ту сторону.
    2. Если проехать вперёд например на 5 по Z ,затем повернуть на 120 по Y и продолжить ехать вперёд,то колёса почти перестают крутиться. Есть ситуаци когда они вообще не крутится.

    Одним словом, выражение не предусматривает все возможные случаи премещений.
     
  4. iNOD

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

    С нами с:
    10.11.2009
    Сообщения:
    631
    Симпатии:
    2
    Баллы:
    19
    Скинь ссылку на риг, попробую что нить.
     
  5. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    На какой именно риг?
     
  6. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Вот например риги иллюстрирующие проблему:


    http://www.creativecrash.com/maya/downloads/character-rigs/c/mall_bicycle--2

    http://www.creativecrash.com/maya/downloads/character-rigs/c/cartoon-truck

    Назад-вперёд катятся хорошо, а стоит чуть чуть поездить-побаловаться и всё- обнаруживаются проблемные для вращения места.
     
  7. iNOD

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

    С нами с:
    10.11.2009
    Сообщения:
    631
    Симпатии:
    2
    Баллы:
    19
    Думаю лучшим вариантом будет вручную указывать с какой скоростью крутиться колесам создать поле в котором указывать с какой скоростью должны крутиться колеса и в ручную задавать параметр(то есть если значение например 360 то вращение 360 градусов за кадр если с минусом то в обратную сторону). Так как очень много проблем и условий которые нужно учесть.
     
  8. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Понятно. Спасибо за соучастие.
     
  9. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    если хочешь не зависеть от траектории, то нужно отталкиваться от мгновенной скорости - смещению за 1 кадр.
     
  10. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Владимир Забелин, а можно ли более подробный (на сколько возможно) пример,я в скриптах ориентируюсь не очень,но очень хочется понять.
     
  11. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    если в скриптах не ориентируетесь, тогда единственный выход для вас - крафт анимэйшн тоолз.
     
  12. Pacmaniac

    Pacmaniac Знаток

    С нами с:
    25.12.2008
    Сообщения:
    736
    Симпатии:
    99
    Баллы:
    40
    Нет уж,это точно не для меня...
     
  13. Владимир Забелин

    Владимир Забелин Активный участник

    С нами с:
    19.04.2012
    Сообщения:
    400
    Симпатии:
    12
    Баллы:
    17
    тогда запускай авто по кривой и высчитывай угол поворота в зависимости от длины пройденного пути. других простых вариантов нет
     
Модераторы: Dark™, Skif

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