Ну кто знает, так сделанно в Maya по умолчанию.
Меню Customize > Customize User Interface > вкладка Mouse.
Если включить галочку
Maya Mode Selection, тогда выделение будет как в Maya?
Если выбрать пункт Maya для
Select an Interaction Mode, тогда выделение будет как в Maya?
Как запретить перемещение объекта при его выборе? Надо что бы при выборе объекта его нельзя было случайно переместить, а что бы перемещать надо сначала отпустить кнопку мыши, и перемещение делать повторным нажатием.
Попробуйте такой вариант. Пример:
В новой сцене создаем несколько объектов Teapot.
Включаем кнопку Select and Move. Запускаем скрипт.
Нажимая и удерживая левую кнопки мыши на невыделенном объекте, перемещаем курсор.
Отпускаем левую кнопку мыши.
Нажимая и удерживая левую кнопки мыши на выделенном объекте, перемещаем курсор.
Код:
fn fn_igorznag_select_maya=
(
deleteAllChangeHandlers id:#igorznag_select_maya
when select objects changes id:#igorznag_select_maya handleAt:#redrawViews do
(
modes_array=#(#MOVE,#ROTATE,#NUSCALE,#USCALE,#SQUASH)
t=toolmode.commandmode; if(finditem modes_array t!=0)then
(toolmode.commandmode=#select;toolmode.commandmode=t)
)--when select
)--fn fn_igorznag_select_maya
try destrydialog igorznag_test catch()
rollout igorznag_test "Test" width:130 height:30
(
button btn_start "Start" pos:[10,5]; button btn_stop "Stop" pos:[80,5]
on btn_start pressed do
(
fn_igorznag_select_maya();
callbacks.removeScripts id:#igorznag_handler_select_maya
callbacks.addScript #sceneNodeAdded "fn_igorznag_select_maya()" id:#igorznag_handler_select_maya
)--on btn_start pressed do
on btn_stop pressed do
(
callbacks.removeScripts id:#igorznag_handler_select_maya
deleteAllChangeHandlers id:#igorznag_select_maya
) --on btn_stop pressed do
on igorznag_test open do igorznag_test.btn_start.pressed()
); createDialog igorznag_test
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"