Render.ru

Проблемы с gizmo

D8

Пользователь сайта
Рейтинг
2
#1
Всем привет, столкнулся с проблемой.
При передвижение вершин объекта, Gizmo стоит на месте, пока я не отпускаю лкм. Это довольно неудобно, хотел бы узнать как сделать так, что бы Gizmo всегда следовало за вершиной.
P/s пакет только, только поставил, с офф сайта
 

Вложения

Последнее редактирование:

igorznag

Мастер
Рейтинг
103
#2
Это довольно неудобно
Почему это неудобно? Я временно выключаю Gizmo и не обращаю на него внимание.
Gizmo стоит на месте, пока я не отпускаю пкм
Почему вы нажимаете пкм? Почему вы отпускаете пкм, а не лкм?
Если отпустить лкм, тогда Gizmo переместиться к вершине?
 

D8

Пользователь сайта
Рейтинг
2
#3
С пкм опечатка вышла, имел ввиду лкм.
Да, если отпустить лкм, тогда Gizmo переместиться к вершине и собственно это и есть проблема, привык к тому, что оно в реальном времени это делает.
 

D8

Пользователь сайта
Рейтинг
2
#4
я все ещё надеюсь на форумчан :( ответ 2ой день найти не могу
 

igorznag

Мастер
Рейтинг
103
#5
Используйте модификатор XForm.

Для частных случаев можно автоматизировать этот вариант с помощью 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"
 
Сверху