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

Мировые значения поворота в глобальные.

Тема в разделе "MAXScript", создана пользователем scrat17, 24 июн 2013.

Модераторы: Savin Denis
  1. scrat17

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

    С нами с:
    20.06.2013
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    10
    Вообщем ситуация следующая: есть объект, который прилинкован к дамику. А мне нужно получить локальные значения поворота прилинкованого объекта, но я могу получить только мировые. Как можно преобразовать мировые значения в локальные? Или можно получить их по другому? Заранее спасибо за ответ.

    Обновление сообщения автором
    24.06.2013 в 20:55
    Блин, опечатался в названии темы, правильное название: Мировые значения поворота в локальные.
     
  2. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Локальные значения поворота прилинкованого объекта никому не нужны, потому что они всегда нулевые.
    Чтобы получить родительские значения поворота прилинкованого объекта, нужно использовать контекст coordsys:
    Код:
    in coordsys parent 
    (
    print $.rotation.x_rotation
    print $.rotation.y_rotation
    print $.rotation.z_rotation
    )
     
  3. scrat17

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

    С нами с:
    20.06.2013
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    10
    igorznag, спасибо, разобрался. Но остается еще одна проблема. Собственно, зачем мне все это нужно? Нужно сделать кинематику для рук робота, так чтобы двигая пулемет, двигались руки. Я все сделал, кроме нормального движения предплечья и кисти. По одной из осей кисть должна поворачиваться только вместе с предплечьем(как и у человека), по другим она свободна может поворачиваться. Создал HI Solver, все двигается(кисть не принадлежит кинематической цепи, она привязана к пулемету), а уже к ней привязан IK Goal, который двигает цепь. У меня есть мысль, привязать параметр Prefetch Angle(он отвечает за ориентацию предплечья в цепи) у предплечья к оси поворота кисти. Я это сделал через Float script, все нормально работает, но только если не трогать другие оси. То есть я поворачиваю кисть по нужной оси, предплечье поворачивается в след за кистью, но если я поворачиваю кисть еще по одной оси, то поворот сбивается....и ведет себя не так как нужно. Скажите если что не понятно, а то я так написал... Могу видео потом снять.
     

    Вложения:

    • 3138782.jpg
      3138782.jpg
      Размер файла:
      117,3 КБ
      Просмотров:
      67
  4. scrat17

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

    С нами с:
    20.06.2013
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    10
    Да и еще как родительские координаты, превратить в поворот кисть вокруг ее оси z. Я вообще ничего не понимаю на самом деле уже. Пока кисть не прилинкована, все без проблем, а после ничего не работает.
     
  5. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Создайте новую тему в разделе "MAX-анимация". Снимайте видео и предоставьте видео в новой теме.
     
  6. scrat17

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

    С нами с:
    20.06.2013
    Сообщения:
    85
    Симпатии:
    0
    Баллы:
    10
    Хорошо, завтра сделаю.
     
Модераторы: Savin Denis

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