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

Решит ли проблему MAX-SCRIPT

Тема в разделе "MAXScript", создана пользователем SampleR, 11 ноя 2008.

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

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

    С нами с:
    10.11.2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    2
    Проблема в том, что встроенный контроллер Моушенкапчер-MIDI device не правильно трактует сигнал от нажатия клавиши ... Тоесть при нажатии клавиши объект допустим опускается, или мультиплир света возрастает, а вот при отпускании в исходное состояние не приходит ...

    Хотя проверено что в Миди Ченел Вьюэре MIDI 2 раза посылает значение Велосити, при нажатии к примеру 100, и при отпускании зачётный NULL, но в анимации не работает как надо ...

    Можно ли через Макс скрипт загрузить весь принцип обращения макса к МИДИ и внести в него изменения ... или самому с нуля его написать ?

    На 1 скрине, путь к достижению цели
    На 2 ошибка анимации и не правильная трактовка событий МИДИ
    На 3 скрине Как именно нужно чтоб макс трактовал МИДИ

    Заранее спасибо!
     

    Вложения:

    • 965244.jpg
      965244.jpg
      Размер файла:
      180,5 КБ
      Просмотров:
      58
    • 965245.jpg
      965245.jpg
      Размер файла:
      163,4 КБ
      Просмотров:
      54
    • 965246.jpg
      965246.jpg
      Размер файла:
      89,2 КБ
      Просмотров:
      58
  2. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Нет под рукой чтоб проверить.

    В макскрипт нет прямого доступа к MIDI.
    Но при достаточных познания в програмированиии, написать такое расширение не проблема.

    Но никто не мешает написать обработчик уже скапчеренных треков к нужной форме.
    Или можно написать скрипт контроллер который будет на лету итерпретировать движение хелперов с mocap контроллерами.

    Вот пример такого котроллера:
    Вешается например на Z сферы
    В сцене должен быть Box01 с управляемой позицией Z с помощью mocap контроллера, в состоянии покоя Z должна быть равна 0
    Код:
    z = $Box01.pos.z
    c = 0.5
    z_max = 20
    z_min = 0
    global s_z
    if s_z == undefined do (s_z = 0)
    if z > 0 then (if s_z < z_max then  s_z += c else s_z = z_max )
    else (if s_z > z_min then s_z -= c else s_z = z_min )
    s_z
     
  3. SampleR

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

    С нами с:
    10.11.2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    2
    Весьма весьма ...

    Вот такой вопрос тогда, а что если обойти проблему немножко подругому, так как объект всётаки реагирует правильно на нажатие клавиши МИДИ ...

    (он реагирует не верно только при отпускании клавиши, тоесть либо вообще не реагирует, либо просто не верно ...)

    ... можно ли скриптом, заставить возвращать объект на своё место, просто спустя некоторое время после реагирования

    Тоесть нажали клавишу, объект среагировал а дальше скриптом его за уши тянут обратно ...
     
  4. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Заставить то можно, только у тебя награфике что на нажатие сигнал что на отпускание клавиши. Хотя вроде логично это и есть ускорение. Может стоит попробовать другие режимы ? или почему не снять с обычной клавиатуры там сигнал больше напоминает что ты хотел ?
     
  5. SampleR

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

    С нами с:
    10.11.2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    2
    Миди посылает ровно два раза сигнал

    При нажатии отсылает с какой силой нажато - и это значение велосити, далее она отсылает значение 0 которое говорит о не нажатой клавише, всё дело в том что при нажатии все работает верно а вот при отпускании 0 не присваивается, объект стоит на месте, как буд то повторяется 2 раза одно и тоже значение велосити.

    Поэтому я уже и хочу тупо вернуть объект или параметр объекта на своё место после взаимодействия с миди, но как это сделать я просто не представляю, да я хорошо знаю вайр параметры, и топу подобное, но я совершенное не понимаю как заставить объект получать сигнал от разных контроллеров на одной позиции одновременно да еще и в режиме записи анимации, так как анимация при помощи МИДИ будет писаться в режиме СтартРЕКорд интерактивно, тоесть скрипт пост обработчик должен постоянно циклически, но с прерываниями на сигнал МИДИ, работать в режиме записи ....


    У меня есть навыки программирования, да у меян есть логика, но у меня нет совершенно опыта работы с подобными сугубо локальными проблемами.

    Прошу просто помощи, потому что сам просто не не справился, и не справлюсь.
     
  6. SampleR

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

    С нами с:
    10.11.2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    2
    Почему именно контроллер миди ? Потому что я пианист и собрался во вермя записи звука, интерактивно записывать анимацию, в которой каждой ноте нажатой мною, будет соответствовать включение того или иного объекта и соответственно выключение, возвращение в исходную позицию объекта или его параметра.
     
  7. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    SampleR, я с удовольствием бы помог бы каждому но столько свободного времени у меня просто нет. Нужно еще как то на хлеб с маслом зарабатывать. Я впринципе дал тебе всю необходимую информацию для самостоятельного решения проблемы.
    Хотя в личке ты можеш договориться насчет этой работы, если считаеш что она для тебя важна.
     
  8. SampleR

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

    С нами с:
    10.11.2008
    Сообщения:
    11
    Симпатии:
    0
    Баллы:
    2
    Всё уже не нужно, я сам всё сделал как обычно ...

    ЗЫ ... Конкретных вопросов не бывает - бывают только конкретные ответы )))

    Это так на будущее, при условии что вся информация была выложена в первых постах подробнейшим образом.
     
  9. Savin Denis vip

    Savin Denis Moderator Команда форума

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Молодец
     
Модераторы: Savin Denis

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