Собственно вопрос вот в чем - хочется сделать из нескольких инструментов полимоделинга (коннект, бевел , инсерт и оутлайн) модификаторы, чтобы их параметры можно было подредактировать после применения.
То есть модификатор должен цеплять выделенные подобъекты (полигоны, ребра или вертексы) из стека, и предоставлять гуи для настройки соответствующих параметров.
Это можно как-то сделать, и если да, то как?
Насколько я могу судить, средствами MAXScript такое сделать не получится, а вот на C++ написать вполне реально. Задача не слишком сложная, наверняка, кто-нибудь уже делал что-то подобное. Стоит поискать в сети…
Бевел и инсет (а инсет это вроде тот-же бевел без смещения по нормали) легко сделать. Оутлайт это два бевела, а с коннектом будет немного сложно. В свое время долго с ним намучился.
В общем если операции реально сделать в EditMesh, то и в модификаторе тоже. Работать всё это будет в максах с версии 2016 и выше с помощью класса SimpleMeshMod.
Доступ к резюме доступен только по пакетному доступу HR менеджерам зарегистрированных компаний. Узнать о вариантах корпоративных пакетов можно по ссылке.
Erik945
То есть модификатор должен цеплять выделенные подобъекты (полигоны, ребра или вертексы) из стека, и предоставлять гуи для настройки соответствующих параметров.
Это можно как-то сделать, и если да, то как?
LastJedi
Владислав Бодюл
В общем если операции реально сделать в EditMesh, то и в модификаторе тоже. Работать всё это будет в максах с версии 2016 и выше с помощью класса SimpleMeshMod.
Владислав Бодюл
plugin simpleMeshMod Face_Outline name:"Face Outline" classid:#(0x22e03523, 0x7ba0f7bd) ( parameters main rollout:params ( amount type:#worldUnits ui:spnAmount ) rollout params "Parameters" ( spinner spnAmount "Amount:" range:[-1e7, 1e7, 0] ) on modifyMesh do meshop.bevelFaces mesh #selection 0 amount; )plugin simpleMeshMod Face_Inset name:"Face Inset" classid:#(0x68f31dec, 0x3247f1a) ( parameters main rollout:params ( amount type:#worldUnits ui:spnAmount ) rollout params "Parameters" ( spinner spnAmount "Amount:" range:[0, 1e7, 0] ) on modifyMesh do extrudeface mesh #selection amount 0 dir:[0, 0, 0]; )LastJedi
Тогда вот от меня Bevel 🙂
plugin simpleMeshMod Face_Bevel name:"Face Bevel" classID:#(0x4b16e241, 0x391f202a) ( parameters main rollout:params ( Height ui:spn_Height default:10.0 type:#worldUnits animatable:true Outline ui:spn_Outline default:10.0 type:#worldUnits animatable:true Direction ui:rb_Direction default:1 type:#integer animatable:true ) rollout params "Parameters" ( spinner spn_Height "Height:" range:[-1e7, 1e7, 10.0] type:#worldUnits spinner spn_Outline "Outline:" range:[-1e7, 1e7, 10.0] type:#worldUnits radiobuttons rb_Direction labels:#("Group Normals", "Local Normals") ) on modifyMesh do ( dir = case Direction of ( 1: #common 2: #independent ) meshop.extrudeFaces mesh mesh.selectedFaces Height Outline dir:dir ) )Erik945