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

расстановка объектов на плоскости рандумно

Тема в разделе "Общие вопросы", создана пользователем Doodlez, 29 июн 2011.

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

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

    С нами с:
    28.06.2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    2
    Существует плоскость на ней необходимо разместить кубы определенного количества и цвета в случайном порядке, или окрасить полигоны плоскости определенными цветами и количества. Пробовал применить инструмент Scatter, но выставленные объекты пересекаются и выходят за рамки плоскости и стоять они должны в четкой иерархии, т.е. в сетке
     

    Вложения:

    • 2356132.jpg
      2356132.jpg
      Размер файла:
      67,4 КБ
      Просмотров:
      76
    • 2356133.jpg
      2356133.jpg
      Размер файла:
      194,1 КБ
      Просмотров:
      79
  2. CannyBaker

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

    С нами с:
    04.03.2011
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
    Насчет размещения кубов. Мне кажется из системы частиц целесообразно это делать..выбрать как эмиттер плоскость, а частицы инстансед..ну, например, pCloud, или тот же универсальный PFSource.
    Насчет цветов не понял ничего..какой смысл полигоны окрашивать? это ж каждому полигону свой матID давай, а потом еще материал настраивай..
     
  3. moooV

    moooV Знаток

    С нами с:
    12.06.2008
    Сообщения:
    433
    Симпатии:
    5
    Баллы:
    20
    Multi Scatter это все может. Ни разу не пользовался, но посмотрите уроки на ютубе - там такое есть.
     
  4. Doodlez

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

    С нами с:
    28.06.2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    2
    Огромное спасибо завтра на работе уже поюзаю, отпишусь
     
  5. Doodlez

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

    С нами с:
    28.06.2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    2
    вообщим ворде все хорошо но вот не могу в нем разобраться, не хотят кубикаи становиться в определенном порядке...
     
  6. CannyBaker

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

    С нами с:
    04.03.2011
    Сообщения:
    16
    Симпатии:
    0
    Баллы:
    2
    Даже не знал о существовании такого плагина..жаль только что под сканлайном не работает
     
  7. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Пример:
    1. В новой сцене создаем один объект Plane с названием "DistributionObject" и конвертируем его в Editable Poly.
    2. Создаем 5 объектов Box (куб). Для каждого из этих 5 объектов "куб" устанавливаем вручную свой цвет (или материал).
    3. Выделяем по очереди объекты "куб" с нужным цветом и с помощью инструмента Array создаем нужное количество копий.
    Количество всех объектов-копии "куб" всех цветов не должно быть больше чем количество полигонов объекта "DistributionObject". Сейчас на объект "DistributionObject" нужно разместить все объекты-копии "куб" всех цветов таким образом, чтобы в центре каждого полигона объекта "DistributionObject" находился только один объект-копия "куб" (или пустое место). Чтобы быстро это сделать, можно написать небольшой скрипт с помощью MaxScript (язык программирования для программы 3Ds Max). В сцене должен быть только один объект (Editable Poly) с названием "DistributionObject".
    4. Выделяем все объекты-копии "куб" всех цветов и запускаем скрипт:
    Код:
    distr_object=getNodeByName "DistributionObject";
    if(classof distr_object==Editable_Poly)then
    (
    donf=polyOp.getNumFaces distr_object;
    if($selection.count<=donf)then
    (
    array1=#(); for i=1 to donf do append array1 i;
    for i=1 to $selection.count do
    (
    random_index=random 1 array1.count; random_item=array1[random_index];
    $selection[i].pos=polyOp.getFaceCenter distr_object random_item;
    deleteItem array1 random_index;
    )
    redrawViews();
    )
    )
    Чтобы запустить скрипт нужно:
    1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
    2. Сохраняем текстовый файл с названием "test.ms"
    3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
     
  8. Doodlez

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

    С нами с:
    28.06.2011
    Сообщения:
    4
    Симпатии:
    0
    Баллы:
    2
    Огромное спасибо, просто суппер, буду учить скрипты теперь!!!)))))
     
Модераторы: Артер

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