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

как с помощью getCurrentSelection() повернуть группу объектов

Тема в разделе "MAXScript", создана пользователем Willyam Bradberry, 26 мар 2003.

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

    Willyam Bradberry Знаток

    С нами с:
    05.02.2002
    Сообщения:
    79
    Симпатии:
    7
    Баллы:
    30
    но НЕ трогая сами объекты внутри группы
    т.е. у меня есть функция

    on selectAndRotate pressed do
    (
    local xa = getCurrentSelection();
    for i = 1 to xa.count do
    (
    rnd = (random -360 360)
    rotate xa (eulerangles 0 0 rnd)
    )
    )

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

    спасибо за внимание и жду ответ.
     
  2. Savin Denis vip

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

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

    on selectAndRotate pressed do
    (
    local xa = getCurrentSelection();
    for i = 1 to xa.count do
    (
    if isGroupMember xa do continue
    rnd = (random -360 360)
    rotate xa (eulerangles 0 0 rnd)
    )
     
  3. Willyam Bradberry

    Willyam Bradberry Знаток

    С нами с:
    05.02.2002
    Сообщения:
    79
    Симпатии:
    7
    Баллы:
    30
    СПАСИБО =)
    очень хороший вариант

    я, к примеру сделал вот так:

    on selectAndRotate pressed do
    (
    local xa = getCurrentSelection();
    for i = 1 to xa.count do
    (
    rnd = (random -360 360)
    xx = (xa.baseObject as string)
    if xx == "Dummy" do
    (
    rotate xa (eulerangles 0 0 rnd)
    )
    )
    )
     
Модераторы: Savin Denis

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