Render.ru

Timeline_Filters

servus

Активный участник
Рейтинг
7
#1
Здравствуйте.
Знает может кто нибуть, как вынести эти фильтры на новую панел.
Macro Recorder эти функции не читает и в Customize User Interface я тоже ни чего не нашёл.
Заранее Спасибо.
 

Вложения

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#2
Код:
t =  maxOps.getTrackBar()
t.filter = #all -- enums: {#all|#TMOnly|#currentTM|#cbject|#mat}
Чтобы появились в Customize User Interface, нужно будет код включения для каждого фильтра обернуть в макроскрипт.
 

servus

Активный участник
Рейтинг
7
#3
Спасибо огромное!
Работает! Но только для "All Keys". Я не совсем правильно поставил вопрос.
Меня интересуют все выделеные фильтры. Чтобы при "Charackter animation" не лазить так далеко а удобно перключать между ними на отдельной панели.
Если не трудно - Пожалуйста. А то я попробовал в скрипте "all" изменить на "current" но ничего не вышло, наверное какуюто другую команду ожидает наш Максик.
Ещё раз большое Спасибо...
 

servus

Активный участник
Рейтинг
7
#5
Здравствуйте Денис.
Ещё один вопрос. Если не трудно. Я создал следующую панел- почти всё работает.
Только вот как бы мне это смастерить, что бы при выборе одного фильтра другой сам отключался. с "if" и "else" как то?





rollout Filters "Timeline Filter" width:162 height:61
(
checkbox chk1 "All" pos:[10,5] width:43 height:22 checked:false
checkbox chk2 "All Transform" pos:[78,5] width:82 height:20
checkbox chk3 "Current" pos:[10,35] width:60 height:15
checkbox chk4 "Object" pos:[78,35] width:67 height:13
on Filtre open do
(

)
on Filtre resized size do
(

)
on chk1 changed state do
(
t = maxOps.getTrackBar()

t.filter = #all
)
on chk2 changed state do
(
t = maxOps.getTrackBar()

t.filter = #TMOnly
)
on chk3 changed state do
(
t = maxOps.getTrackBar()

t.filter = #currentTM
)
on chk4 changed state do
(
t = maxOps.getTrackBar()

t.filter = #cbject
)
)

createDialog Filters
 

Вложения

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#6
Добавь тело фунции перед on Filtre open do:
Код:
fn updateCheckbox = (
chk1.checked = false
chk2.checked = false
chk3.checked = false
chk4.checked = false

t = maxOps.getTrackBar()
case (t.filter)  of (
#all:  chk1.checked = true 
#TMOnly: chk2.checked = true
#currentTM: chk3.checked = true
#cbject: chk4.checked = true
)

)
а также updateCheckbox() в конец ка;дой on
 

servus

Активный участник
Рейтинг
7
#7
Спасибо за помощ Денис
Я зделал так как вы сказали "Надеюсь, по крайней мере". Но Скрипт Листенер
выдаёт ошибку:
-- Syntax error: at (, expected =
-- In line: fn updateCheckbox (
Может я где скобку пропустил или ещё что?
Посмотрите пожалуйста...


  • rollout Filters "Timeline Filter" width:162 height:61
    (
    checkbox chk1 "All" pos:[10,5] width:43 height:22 checked:false
    checkbox chk2 "All Transform" pos:[78,5] width:82 height:20
    checkbox chk3 "Current" pos:[10,35] width:60 height:15
    checkbox chk4 "Object" pos:[78,35] width:67 height:13

    fn updateCheckbox (
    chk1.checked = false
    chk2.checked = false
    chk3.checked = false
    chk4.checked = false

    t = maxOps.getTrackBar()

    case (t.filter) of (
    #all: chk1.checked = true
    #TMOnly: chk2.checked = true
    #currentTM: chk3.checked = true
    #cbject: chk4.checked = true
    )

    )
    on Filtre open do
    (

    )

    updateCheckbox()

    on Filtre resized size do
    (

    )

    updateCheckbox()

    on chk1 changed state do
    (
    t = maxOps.getTrackBar()

    t.filter = #all
    )

    updateCheckbox()

    on chk2 changed state do
    (
    t = maxOps.getTrackBar()

    t.filter = #TMOnly
    )

    updateCheckbox()

    on chk3 changed state do
    (
    t = maxOps.getTrackBar()

    t.filter = #currentTM
    )

    updateCheckbox()

    on chk4 changed state do
    (
    t = maxOps.getTrackBar()

    t.filter = #cbject
    )

    updateCheckbox()
    )

    testfloater=newrolloutfloater"Timline Filter" 200 90;
    addrollout Filtre testfloater;
 

Savin Denis

Модератор форума
Команда форума
Рейтинг
138
#9
Добавь знак "=" в fn updateCheckbox = (
updateCheckbox() должны быть в нутри тела функций обработчиков On .. do ( .... )
 
Сверху