Render.ru

Customize user interface

^_^

Знаток
Рейтинг
52
#1
Как найти эти функции (смотреть скрин) для того чтобы назначить на них горячие клавиши?
нужны названия и группа в которой находятся.
 

Вложения

igorznag

Мастер
Рейтинг
103
#2
Можно назначить одну горячую клавишу для функции Center Point Cycle и менять по кругу.
Group=Main UI
Category=Tools
Action=Center Point Cycle

Если вас не устраивает Center Point Cycle, тогда можно написать 3 макроскрипта и назначить на них 3 горячих клавиш.
 

^_^

Знаток
Рейтинг
52
#3
Group=Main UI
Category=Tools
Action=Center Point Cycle
спасибо)

давно хотел попробовать скриптануть что-нибудь на максе.
я думаю это подходящая задача (не сложная)
как будет время - попробую, вопросы и продвижения буду писать сюда.
 

^_^

Знаток
Рейтинг
52
#4
Сначала прочитайте вопрос в конце, если не понятно, то вот подробная история:

команда "Center Point Cycle" вызывается следующей строкой в скриптовом языке:
actionMan.executeAction 0 "40235";
решил написать скрипт, который бы переключал при нажатии одной и той же клавиши с "use pivot point center" на "use selection center" и наоборот.
Вот скрипт и комментарии: (просьба если я что-то не так понимаю - поправить). Скрипт разместил в startup.



A=0 --при запуске 3д макса переменной А присваивается значение 0. Так же при запуске по умолчанию у нас выбрано "use pivot point center"

macroScript transform_center --создаём макроскрипт с названием transform_center
category: "myscripts" --категория в которой будет размещён макроскрипт
tooltip: "transform_center" --имя. На против него в customize user interface (после запуска скрипта), назначил горячую клавишу , можно так же добавить этот макроскрипт в тулбар или меню, вызываемое правой кнопкой.
(
if (A==0) then
(
actionMan.executeAction 0 "40235" ; A=1
)

-- если А=0, то выбираем следующий тип - то есть "use pivot point" и указываем что он выбран (A=1)
else
(
actionMan.executeAction 0 "40235";
actionMan.executeAction 0 "40235";
A=0
)

-- иначе (если А=1), пропускаем следующий тип "use transform coordinate center" и выбираем "use selection center" и указываем что он выбран (A=0)
)



Вообщем как-то так через *опу.
Почему через *опу, потому что: при выборе например working pivot автоматически выбирается "use transform coordinate center". И после этого уже будут чередоваться не те 2 режима...

Вместо переменной А лучше использовать тот параметр, который изменяется при вызове команды "Center Point Cycle" или:
actionMan.executeAction 0 "40235";
То есть параметр в котором записано какой из трёх вариантов используется: "use pivot point" или "use selection center" или "use transform coordinate center"
Тогда можно будет сделать нормальное условие if и проблем не будет.

Отсюда вопрос: как в MAXScript Listener после выполнения строки узнать параметры которые изменились? (выводится только результат)

после выполнения:
actionMan.executeAction 0 "40235";
выводится:
true

а я хочу узнать какой параметр изменился.
 

igorznag

Мастер
Рейтинг
103
#5
Отсюда вопрос: как в MAXScript Listener после выполнения строки узнать параметры которые изменились? (выводится только результат)
Используйте функцию getCoordCenter.
решил написать скрипт, который бы переключал при нажатии одной и той же клавиши с "use pivot point center" на "use selection center" и наоборот.
Код:
macroScript transform_center category: "myscripts"  tooltip: "transform_center"
(
cc=getCoordCenter()
if (cc==#local) then setCoordCenter #selection
if (cc==#selection) then setCoordCenter #local
)
 
Симпатии: ^_^

(korsu)

Активный участник
Рейтинг
7
#11
А где pick и pick list в настройках горячих клавиш у projection модификатора?
shot049485.JPG
 
Сверху