Добрый день.
Есть интерес сделать возможность выделять весь элемент по выделенному вертексу\ребру.
Знаю что максе есть кнопки "Element" и "Select by Element", но хота написать скриптик, который бы выделял сразу весь шейп по хоткею.
Я предполагаю что скрипт будет определять рабочий режим (вертексы или ребра) и дальше перебирать прилегающие ребра\вертексы и добавлять к выделению
Вопрос: как мне выделить все прилегающие к выделенному вертексу\ребру вертексы\ребра????
P.S. Переползаю с maya на max, так что данная задумка родом из maya (там есть такой интструмент).
Простой пример:
В новой сцене создаем один чайник Teapot и конвертируем его в Editable Poly.
Запускаем скрипт.
Меню Customize->Customize User Interface->Keyboard. Group=Main UI. Category=_igorznag.
Назначаем нужную клавишу (например, клавишу "M"😉 для igorznag_test.
Выделяем вертекс/ребро. Нажимаем клавишу "M".
macroScript igorznag_test category:"_igorznag"
(
if classof $==Editable_Poly then
(
if subobjectLevel == 1 then
(
$.EditablePoly.ConvertSelection #Vertex #Element
$.EditablePoly.ConvertSelection #Element #Vertex
)
if subobjectLevel == 2 then
(
$.EditablePoly.ConvertSelection #Edge #Element
$.EditablePoly.ConvertSelection #Element #Edge
)
)
)
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
igorznagПростой пример:
В новой сцене создаем один чайник Teapot и конвертируем его в Editable Poly.
Запускаем скрипт.
Меню Customize->Customize User Interface->Keyboard. Group=Main UI. Category=_igorznag.
Назначаем нужную клавишу (например, клавишу "M"😉 для igorznag_test.
Выделяем вертекс/ребро. Нажимаем клавишу "M".
macroScript igorznag_test category:"_igorznag"
(
if classof $==Editable_Poly then
(
if subobjectLevel == 1 then
(
$.EditablePoly.ConvertSelection #Vertex #Element
$.EditablePoly.ConvertSelection #Element #Vertex
)
if subobjectLevel == 2 then
(
$.EditablePoly.ConvertSelection #Edge #Element
$.EditablePoly.ConvertSelection #Element #Edge
)
)
)
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
Фига. Спасибо!! я расчитывал на более скромный ответ, но ты ответил более чем развернуто.
Еван Антоновс едит меш работаю (некоторые просят в нем выкладывать объекты)
Работаем с Editable Poly. В конце работы, Editable Poly конвертируем в Editable Mesh и выкладываем.
Еван Антонов А вообще, стараюсь универсально делать. мало ли что )
Что означает "универсально"?
Еван Антонова как так же в edit_mesh конвертнуть по вертексу?
Вы работаете с базовым объектом Editable_Mesh?
Вы работаете с модификатором Edit_Mesh?
Во время редактирования, всегда выделен только один узел (объект)?
igorznagЦитата Еван Антонов #6:с едит меш работаю (некоторые просят в нем выкладывать объекты)
Работаем с Editable Poly. В конце работы, Editable Poly конвертируем в Editable Mesh и выкладываем.
Цитата Еван Антонов #6: А вообще, стараюсь универсально делать. мало ли что )
Что означает "универсально"?
Цитата Еван Антонов #4:а как так же в edit_mesh конвертнуть по вертексу?
Вы работаете с базовым объектом Editable_Mesh?
Вы работаете с модификатором Edit_Mesh?
Во время редактирования, всегда выделен только один узел (объект)?
универсально - значит что б инструмент работал в различных ситуациях. сейчас один хоткей у меня выделяет элемент как в режиме эдит поле, так и в окне редактора раскладки.
Как пример: у меня написанн небольшой скриптик который по одному хоткею велдит выбранные вертиксы в один (привычка с майки). так вот ему пофиг какой эдит режим (еще он работает как стич в unwrap редакторе) активен и нет необходимости в лишник телодвижениях
P.S. может я всю жизнь буду моделить только в Edit_Poly, но пока есть желание сделать максимально удобный инструмент
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Еван Антонов
Есть интерес сделать возможность выделять весь элемент по выделенному вертексу\ребру.
Знаю что максе есть кнопки "Element" и "Select by Element", но хота написать скриптик, который бы выделял сразу весь шейп по хоткею.
Я предполагаю что скрипт будет определять рабочий режим (вертексы или ребра) и дальше перебирать прилегающие ребра\вертексы и добавлять к выделению
Вопрос: как мне выделить все прилегающие к выделенному вертексу\ребру вертексы\ребра????
P.S. Переползаю с maya на max, так что данная задумка родом из maya (там есть такой интструмент).
igorznag
В новой сцене создаем один чайник Teapot и конвертируем его в Editable Poly.
Запускаем скрипт.
Меню Customize->Customize User Interface->Keyboard. Group=Main UI. Category=_igorznag.
Назначаем нужную клавишу (например, клавишу "M"😉 для igorznag_test.
Выделяем вертекс/ребро. Нажимаем клавишу "M".
Чтобы запустить скрипт нужно:
1. Создаем текстовый файл (NotePad) и копируем код (текст) скрипта.
2. Сохраняем текстовый файл с названием "test.ms"
3. В главное меню MaxScript выбираем пункт Run Script. Выбираем файл "test.ms"
Еван Антонов
Еван Антонов
igorznag
Конвертируем вручную edit_mesh в Editable_Poly.
Работаем с Editable_Poly.
Конвертируем вручную Editable_Poly в Editable_Mesh.
Еван Антонов
igorznag
Что означает "универсально"?
Вы работаете с базовым объектом Editable_Mesh?
Вы работаете с модификатором Edit_Mesh?
Во время редактирования, всегда выделен только один узел (объект)?
Еван Антонов
Как пример: у меня написанн небольшой скриптик который по одному хоткею велдит выбранные вертиксы в один (привычка с майки). так вот ему пофиг какой эдит режим (еще он работает как стич в unwrap редакторе) активен и нет необходимости в лишник телодвижениях
P.S. может я всю жизнь буду моделить только в Edit_Poly, но пока есть желание сделать максимально удобный инструмент