Всем привет, столкнулся с проблемой.
При передвижение вершин объекта, Gizmo стоит на месте, пока я не отпускаю лкм. Это довольно неудобно, хотел бы узнать как сделать так, что бы Gizmo всегда следовало за вершиной.
P/s пакет только, только поставил, с офф сайта
С пкм опечатка вышла, имел ввиду лкм.
Да, если отпустить лкм, тогда Gizmo переместиться к вершине и собственно это и есть проблема, привык к тому, что оно в реальном времени это делает.
Для частных случаев можно автоматизировать этот вариант с помощью MaxScript.
Пример: Запускаем программу 3ds max. Запускаем скрипт.
Меню Customize > Customize User Interface > вкладка Keyboard
Group="Main UI", Category="_igorznag".
Назначаем комбинацию клавиш для "Move_SubObject", например клавишу "M".
Создаем один объект Box и конвертируем его в Editable Poly.
Выделяем вершину. Нажимаем клавишу "M".
Перемещаем вершину. Нажимаем клавишу "M".
macroScript Move_SubObject Category:"_igorznag"
(
if selection.count==1 then
(
obj=selection[1]; co=modPanel.getCurrentObject()
if classof co==Editable_Poly then
(
m=XForm();m.name="move_igorznag";
modPanel.addModToSelection m; subobjectlevel=1
)
if classof co==XForm and classof obj.baseobject==Editable_Poly then
(
mi=modPanel.getModifierIndex obj co
if mi==obj.modifiers.count and co.name=="move_igorznag" then
(
modPanel.setCurrentObject obj.baseobject; sol=subObjectLevel
modPanel.setCurrentObject co
maxOps.CollapseNodeTo obj obj.modifiers.count true
modPanel.setCurrentObject obj.baseobject; subObjectLevel=sol
)--if modPanel.getModifierIndex obj co==obj.modifiers.count
)--if classof co==XForm and classof obj.baseobject==Editable_Poly then
)--if selection.count==1 then
)--macroScript
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
D8
При передвижение вершин объекта, Gizmo стоит на месте, пока я не отпускаю лкм. Это довольно неудобно, хотел бы узнать как сделать так, что бы Gizmo всегда следовало за вершиной.
P/s пакет только, только поставил, с офф сайта
Вложения
igorznag
Почему вы нажимаете пкм? Почему вы отпускаете пкм, а не лкм?
Если отпустить лкм, тогда Gizmo переместиться к вершине?
D8
Да, если отпустить лкм, тогда Gizmo переместиться к вершине и собственно это и есть проблема, привык к тому, что оно в реальном времени это делает.
D8
igorznag
Для частных случаев можно автоматизировать этот вариант с помощью MaxScript.
Пример: Запускаем программу 3ds max. Запускаем скрипт.
Меню Customize > Customize User Interface > вкладка Keyboard
Group="Main UI", Category="_igorznag".
Назначаем комбинацию клавиш для "Move_SubObject", например клавишу "M".
Создаем один объект Box и конвертируем его в Editable Poly.
Выделяем вершину. Нажимаем клавишу "M".
Перемещаем вершину. Нажимаем клавишу "M".
macroScript Move_SubObject Category:"_igorznag" ( if selection.count==1 then ( obj=selection[1]; co=modPanel.getCurrentObject() if classof co==Editable_Poly then ( m=XForm();m.name="move_igorznag"; modPanel.addModToSelection m; subobjectlevel=1 ) if classof co==XForm and classof obj.baseobject==Editable_Poly then ( mi=modPanel.getModifierIndex obj co if mi==obj.modifiers.count and co.name=="move_igorznag" then ( modPanel.setCurrentObject obj.baseobject; sol=subObjectLevel modPanel.setCurrentObject co maxOps.CollapseNodeTo obj obj.modifiers.count true modPanel.setCurrentObject obj.baseobject; subObjectLevel=sol )--if modPanel.getModifierIndex obj co==obj.modifiers.count )--if classof co==XForm and classof obj.baseobject==Editable_Poly then )--if selection.count==1 then )--macroScriptЧтобы запустить скрипт нужно:1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"