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

Анимация графика/диаграммы!

Тема в разделе "Анимация", создана пользователем Sumdex, 12 авг 2011.

Модераторы: Артер
  1. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    Здравствуйте!

    Подскажите, как лучше сделать анимацию графика.
    Выглядеть это должно приблизительно так: http://vimeo.com/5477517

    Заранее большое спасибо!
     
  2. Volf666

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

    С нами с:
    21.07.2011
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    Я думаю что просто сделать план и разбить его на много сегментов... а потом через Poly - extrude и с помощью ключей выдавливать график)
     
  3. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    пожалуй)

    Но если график длинный, то это займет прилично времени...а жизнь упростить то хочется))
    Есть ли возможность завязать выдавливание с траекторией /чтобы не выдавливать каждый полигон отдельно/?
     
  4. Volf666

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

    С нами с:
    21.07.2011
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    Или можно просто создать боксы под поверхностью, и поднимать по мере их появления, зафиксировав ключами)
     
  5. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    идея))
     
  6. Volf666

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

    С нами с:
    21.07.2011
    Сообщения:
    18
    Симпатии:
    0
    Баллы:
    2
    Честно не знаю такого) скорее нет)
     
  7. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Нарисуй сплайн графика примерно по той высоте на которую должны подняться кубики.
    Сделай куб с маленькой высотой. Пивот перемести в 0 по Z.Клонируй его в ряд и потом Scale анимируй по оси Z в autokey режиме до высоты сплайна.
     
  8. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    Благодарю за активность!
     
  9. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    Каким образом можно остановить изменение Scale в нужной точке сплайна?...я так понимаю, что это делается через Curve Editor?!?...мож контроллер какой-нибудь назначить??
     
  10. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Sumdex
    Допустим нужно сделать все вручную. Попробуй создать в ряд много объектов Box и анимировать параметр Height (высота). Или этот способ не подходит?

    Жизнь можно попробовать упростить с помощью программирования (MaxScript).
    Если ты не умеешь программировать, тогда нужно объяснить программисту очень подробно условия задачи.
    Программист любит точные данные. Ему тяжело понять, что означает "выглядеть приблизительно".

    Допустим нужно сделать анимацию графика количества проданных объектов (штуки) для 3 лет: 2009 (15 штук), 2010 (30 штук), 2011 (8 штук).
    Объясни как ты вручную создаешь траекторию, для этого примера. Предоставь скрин (картинку).
    1. Сколько вершин (Vertices) имеет сплайн?
    2. Расстояния между вершинами сплайна одинаковое по горизонтали?
    3. Вершины сплайна являются Corner или Smooth?
    4. Сколько всего полигонов ты будешь выдавливать для 3 лет?
     
  11. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Идея может быть такой:

    - рисуем сплайн например на виде сбоку по сетке, примерно на тех коорд которые нам нужны. Пусть например будет дуга с пиком посередине
    - конвертируем спланй в mesh
    - внизу строго под сплайном строим ряд кубиков на целую длину сплайна
    - затем создать ray от кубика до меша сплайна. Найти расстояние от центра кубика до точки пересечения если возможно
    - потом с шагом анимировать скейл кубиков на эту высоту и иметь параметр контроля шага анимации. Например в первом кадре анимируется первый куб во втором второй и т.п. Offset будет задавать шаг например первый анимируется в первом кадре, второй в 3, третий в 5 ом.
    Если даже технически не так то идея понятна. Рисуем сверху сплайн и строим внизу линейный массив кубиков.Это все вручную - скрипт только анимирует разницу расстояния между ними.
     
  12. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    Ещё идея может быть такой:

    Есть такой модификатор Vol.Select который позволяет выделять подобъекты объекта,
    с помощью другого меш объекта.
    Тык вот, строим квадратный Plan 1Х1. (Торец одного из наших кубиков графика)
    Рядом, строим продолговатый (на всю длину будущего графика) бокс, вроде лежащего квадратного бруса.
    Этим боксом будем выделять все квадратики. Его на рендере нужно будет скрыть.
    Выделяем Plan, назначаем Vol.Select , в параметрах Stack Selection Level ставим Face.
    В Select By , ставим Mesh Object, жмём None, выбираем наш брус.
    Сверху на Vol.Select нашего квадратика, поставим модификатор Face Extrude.
    Зададим значение выдавливания для первого столбца.
    Теперь можно расклонировать эти квадратики...нужное кол-во штук в ряд.
    Что бы у каждого из них сработал свой Экструд, нужно наехать на них брусом.
    Наехать на всех сразу и подстроить каждому свои значения экструда....
    И всё....елозить туды-сюды.
    Всё это хозяйство вожно пустить по любой разумной траектории.
     

    Вложения:

    • 2398962.jpg
      2398962.jpg
      Размер файла:
      6,2 КБ
      Просмотров:
      57
  13. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    Огромное спасибо, очень помогло!

    Я порой поражаюсь насколько простыми и интересными бывают возможности Макса))
     
  14. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    Только вот Track Visibility не срабатывает...Мож там есть уловки какие-то?

    В Curve Editor всё настроил...вроде как, всё...
     

    Вложения:

    • 2399477.jpg
      2399477.jpg
      Размер файла:
      131,9 КБ
      Просмотров:
      56
  15. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Visibility track 0- невидим 1 - видим.если нужно чтобы обьект появился быстро или пропал - шаг Step
     
  16. Sumdex

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

    С нами с:
    06.11.2010
    Сообщения:
    20
    Симпатии:
    0
    Баллы:
    2
    ставлю в 0 - никакой реакцииреакции...
     
  17. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    1. Выдели объект Box01 (брус).
    2. В главное меню Edit выбери пункт Object Properties.
    3. В окне Object Properties на вкладке General в группе Rendering Control выключи Renderable.
     
  18. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Пробный скрипт

    1.Создаем сплайн по форме графика который нужен. Делаем его мешем и конвертируем в Editable Poly
    2. Создаем кубики маленькой высоты и клонируем под бывшим сплайном .

    Запускаем скрипт выбираем бывший сплайн кнопкой Select Limiter.
    Выделяем все боксы и жмем Animate.
    Offset - увеличивать если боксы не дотянут до лимитера или наоброт. Т.е. фактически множитель.

    Ключи в Step ставить если нужно чтобы резко подымались.


    Скрипт тут

    http://www.filesonic.com/file/1671902424/AnimateGraphic.rar
     

    Вложения:

    • 2399892.jpg
      2399892.jpg
      Размер файла:
      69,7 КБ
      Просмотров:
      60
  19. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    2 J-Bond
    Ну, голова...
    Интересно, в твоём скрипте, найдётся место для какого-нибудь Spring, ну, что бы столбцы не сразу достигали своего лимитера, а немного, сначала, пружинили...как в ролике ?
     
  20. JBond

    JBond Знаток

    С нами с:
    17.06.2009
    Сообщения:
    451
    Симпатии:
    5
    Баллы:
    37
    Ты имеешь ввиду, чтобы они сначала резко поднимались выше потом плавно опускались?
     
Модераторы: Артер

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