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

Отталкивание объектов друг от друга, Как?

Тема в разделе "MAXScript", создана пользователем (o)ne, 14 сен 2003.

Модераторы: Savin Denis
  1. (o)ne

    (o)ne Мастер

    С нами с:
    27.09.2002
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    133
    Привет, народ. Подскажите как можно сделать следующую тему - есть несколько объектов, как можно описать их "хаотичное" движение и отталкивание друг от друга?
     
  2. Savin Denis vip

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

    С нами с:
    05.05.2005
    Сообщения:
    1.633
    Симпатии:
    0
    Баллы:
    210
    Вариантов много смотря для какой задачи
    но в целом это выгледит так
    1. ты должен выбрать случайное направление
    спомощью генератора
    2 . подставить в линейное уравнение и двигатся
    проверяя на каждом шаге на столкновения
    3 при столкновении просто модифицируеш
    линейное уравнение чтоб допустим отскакивал под углом
    4 перейти на пункт 2.
     
  3. (o)ne

    (o)ne Мастер

    С нами с:
    27.09.2002
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    133
    Да, Denis, это я понимаю. А ты знаешь как это написать? Всмысле хотя бы с чего начать, я в программировании вообщем понимаю, но MaxScript не знаю, только начал смотреть. Помоги, если не трудно. :)
     
  4. (o)ne

    (o)ne Мастер

    С нами с:
    27.09.2002
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    133
    Готов разговаривать на тему обучения "не просто так". :) Если что - моя аська 121231.
     
  5. (o)ne

    (o)ne Мастер

    С нами с:
    27.09.2002
    Сообщения:
    59
    Симпатии:
    0
    Баллы:
    133
    вот, это я пытаюсь делать хаотичное движение :

    mybox = box()
    mybox.Wirecolor = red
    animate on
    (
    at time 0 (mybox.pos = [0, 0, 0] )
    at time 5 (in coordsys local mybox.pos = random [-30,-30,0] [30,30,1] )
    at time 10 (in coordsys local mybox.pos = random [-30,-30,0] [30,30,1] )
    at time 20 (in coordsys local mybox.pos = random [-30,-30,0] [30,30,1] )
    at time 30 (in coordsys local mybox.pos = random [-30,-30,0] [30,30,1] )
    at time 50 (in coordsys local mybox.pos = random [-30,-30,0] [30,30,1] )
    )

    Столько "time" - это, конечно неправильно, но как упростить (чтобы random менялся)? SEED? Чего-то я не понял как его применять.
     
  6. Guest

    лучше скажите как на столкновение проверить. а? :)
     
  7. LastJedi

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

    С нами с:
    12.06.2001
    Сообщения:
    116
    Симпатии:
    0
    Баллы:
    16
    Почитай в хелпе к MAX-у раздел: Animation\Animation Utilities\Dynamics.
    Это как раз инструмент для расчета динамики тел.
    Лучше этой утилиты (бесплатно) никто не напишет.
     
Модераторы: Savin Denis

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