Render.ru
Поддержать

Как запретить перемещение объекта при его в

(Sarko3D)

Активный участник
Рейтинг
15
Как запретить перемещение объекта при его выборе? Надо что бы при выборе объекта его нельзя было случайно переместить, а что бы перемещать надо сначала отпустить кнопку мыши, и перемещение делать повторным нажатием. Ну кто знает, так сделанно в Maya по умолчанию.

diwian diwian

Мастер
Рейтинг
82
Правая кнопка мыши Freeze Selection-заморозить выделенное(или Display/Freeze Selected) Разморозить-Display/Ufreeze All или Ufreeze by Name или Ufreeze by Hit.Или правая кнопка мыши /Ufreeze All .Можно попробовать назначить кнопку "Ufreeze by Hit" или добавить в квадроменю(Customize/Quads-просто перетащить функцию из левой панели в поле квадроменю) но я обычно обхожусь вышесказанным .

(Sarko3D)

Активный участник
Рейтинг
15
Спасибо за подсказ. Но помню где то видел, в каких то настройках вроде галочка ставится или убирается что бы постоянно было то что мне нужно...

diwian diwian

Мастер
Рейтинг
82
Да, можно.В принципе, я думаю, и в контроллерах можно поискать но я их плохо знаю.

Вложения

igorznag

Мастер
Рейтинг
103
Sarko 3DНу кто знает, так сделанно в Maya по умолчанию.
Меню Customize > Customize User Interface > вкладка Mouse.
Если включить галочку Maya Mode Selection, тогда выделение будет как в Maya?
Если выбрать пункт Maya для Select an Interaction Mode, тогда выделение будет как в Maya?
Sarko 3DКак запретить перемещение объекта при его выборе? Надо что бы при выборе объекта его нельзя было случайно переместить, а что бы перемещать надо сначала отпустить кнопку мыши, и перемещение делать повторным нажатием.
Попробуйте такой вариант. Пример:
В новой сцене создаем несколько объектов 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"

(Sarko3D)

Активный участник
Рейтинг
15
По сути надо сделать так, что бы объект выделялся (выбирался) только когда отпускаешь кнопку мыши, пока нажата обект не выделяется. В общем что бы на первый раз срабатывало просто как select а потом move

igorznag спасибо, но слишком замудренно видел где то как настраивалось по простому...

Борис Кулагин (Boris Kulagin)

Золотой спонсор
Рейтинг
375
По-простому не настраивается, насколько мне известно. Только Q, потом W

В свое время знакомый майщик матерно ругал алиас именно за то, что нужно делать второй шлепок чтобы что-то подвинуть. Был безмерно рад когда появилась переключалка в мув а-ля макс.