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

Reactor Manager и Parameter Editor

Тема в разделе "Общие вопросы", создана пользователем SAS_RUS, 20 май 2012.

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

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

    С нами с:
    14.11.2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Я хочу вывести управление "заслонками"=box на панель slider (бегунки), которые назначил через Parameter Editor к основе.
    Через Reactor Manager назначил зависимости параметров что бы:
    Slider1 управлял вращением заслонки №1 по оси Х, то есть: Slider1=0 и заслонка закрыта, когда Slider1=100 и заслонка открыта на 90 градусов
    Slider2 управлял вращением заслонки №2 по оси Х, то есть: Slider2=0 и заслонка закрыта, когда Slider2=100 и заслонка открыта на 90 градусов

    И внизу есть третий Slider называется: "all" он по идеи управляет обеими заслонками что бы:
    Slider"All"=0 тогда обе заслонки закрыты, когда Slider"All"=100 то обе заслонки открыты

    Вообщем я хочу сделать управление как каждой заслонкой в отдельности так и обеими одновременно через эти "бегунки"=Slider
    Но оказалось что Reactor Manager назначает зависимость каждого параметра только один раз: то есть параметр: Rotation X заслонки №1, может быть привязан только к одному slider, либо к slider1 либо Slider "All" Но сразу к двум slideram он не назначается.

    Вообщем подскажите как сделать так чтобы Параметр Rotation X заслонки №1 и заслонки №2 привязать одновременно к двум Slideram что бы можно было управлять каждой заслонкой в отдельности и обеими одновременно через эти бегунки.
     

    Вложения:

    • 2726762.jpg
      2726762.jpg
      Размер файла:
      202,6 КБ
      Просмотров:
      49
  2. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    Попробуйте такой способ:
    1. В новой сцене создаем один объект Box (стена) с названием "wall1".
    2. Создаем 2 объекта Box (заслонки) с названием "window1" и "window2".
    3. С помощью Parameter Editor добавляем к основе объекта "wall1" следующие параметры:
    3.1. Название="w1", тип параметра=Float, тип UI=Slider или Spinner.
    3.2. Название="w2", тип параметра=Float, тип UI=Slider или Spinner.
    3.3. Название="all",тип параметра=Float, тип UI=Slider или Spinner.
    3.4. Название="allon", тип параметра=Boolean, тип UI=CheckBox.
    4.1. В окне Track View - Curve Editor устанавливаем тип контроллера Bezier Float для дорожки "wall1 > Object > Custom_Attributes > w1"
    4.2. В окне Track View - Curve Editor устанавливаем тип контроллера Bezier Float для дорожки "wall1 > Object > Custom_Attributes > w2"
    4.3. В окне Track View - Curve Editor устанавливаем тип контроллера Bezier Float для дорожки "wall1 > Object > Custom_Attributes > all"
    4.4. В окне Track View - Curve Editor устанавливаем тип контроллера Bezier Float для дорожки "wall1 > Object > Custom_Attributes > allon"
    5.1. В окне Track View - Curve Editor устанавливаем тип контроллера Float Script для дорожки "window1 > Transform > Rotation > X Rotation" и пишем следующий код:
    Код:
    try
    (
    w1=$wall1.baseObject.Custom_Attributes.w1.controller
    all=$wall1.baseObject.Custom_Attributes.all.controller
    allon=$wall1.baseObject.Custom_Attributes.allon.controller
    dependsOn w1 all allon
    t=w1.value;if allon.value!=0 then t=all.value;degToRad (t/100.0*90)
    )
    catch 0
    5.2. В окне Track View - Curve Editor устанавливем тип контроллера Float Script для дорожки "window2 > Transform > Rotation > X Rotation" и пишем следующий код:
    Код:
    try
    (
    w2=$wall1.baseObject.Custom_Attributes.w2.controller
    all=$wall1.baseObject.Custom_Attributes.all.controller
    allon=$wall1.baseObject.Custom_Attributes.allon.controller
    dependsOn w2 all allon
    t=w2.value;if allon.value!=0 then t=all.value;degToRad (t/100.0*90)
    )
    catch 0
    6. Выделяем объект "wall1". На панели Modify устанавливаем нужное значение для параметра "w1" и "w2".
    7. Включаем "allon" и устанавливаем нужное значение для параметра "all".
     
  3. SAS_RUS

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

    С нами с:
    14.11.2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    igorznag - посмотри на скрин правильно ли я сделал?
     

    Вложения:

    • 2727337.jpg
      2727337.jpg
      Размер файла:
      233,5 КБ
      Просмотров:
      50
  4. igorznag

    igorznag Знаток

    С нами с:
    23.04.2010
    Сообщения:
    1.256
    Симпатии:
    173
    Баллы:
    65
    1. В новой сцене создаем один объект Box (стена) с названием "wall1", а не с названием "wall".
     
  5. SAS_RUS

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

    С нами с:
    14.11.2011
    Сообщения:
    32
    Симпатии:
    0
    Баллы:
    5
    Спасибо igorznag! Заработало!!
     
  6. INCUS

    INCUS Знаток

    С нами с:
    03.08.2010
    Сообщения:
    857
    Симпатии:
    30
    Баллы:
    29
    поздновато я зашёл,
    Третий слайдер может управлять первыми двумя слайдерами. Записать через тот же реакшн менеджер и всё.
     
Модераторы: Артер

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