Приветствую всех. Тут буду выкладывать свои простенькие скрипты. Буду благодарен фидбеку, критике, советам, отзывам, похвалам итд)
Скрипт X-ray. Иногда обычного режима полупрозрачности (see through; alt+x) бывает недостаточно. А создавать материал, назначать, регулировать прозрачность - долго.Этот скрипт позволит сделать объект (или несколько объектов) полупрозрачным в один клик, и регулировать степень прозрачности слайдером. Скрипт является макросом, то есть на него можно назначать хоткей, вынести кнопку скрипта на тулбар или в квад меню. Искать в категории xray. Левый клик - сделать прозрачным, правый клик - удалить прозрачность. Панель скрипта можно прикреплять. Качать тут:https://disk.yandex.ru/d/h36VFxGVQhboLA
Вы же вроде как что то там учили ) Что то пока не оч видно )
Основная ошибка - назначение контроллера. Т.е при изменении параметра слайдера, вы постоянно дрючите макс процессом его назначения.
Из getObjects можно просто сделать фильтр, используя при этом canConvertTo obj Editable_Poly. Его можно будет использовать по месту для selection . Можно и так for o in sel where getObjects o
Назначение (как и сброс) значения можно вынести в одну функцию. Значение, если не смущает (а оно и не должно, так как ни на что не влияет, кроме плавности при изменении прозрачности) можно сделать и в сотых .
Ну и желательно (для информативности) вынести отображение значения, когда изменяем прозрачность.
Калбэк (пока открыт диалог) так же будет довольно полезным.
Если используете часть чужого кода (да и нет тут особой нужды удалять контроллер), то этично указывать это в ункомменте.
Гифка вставляется как и изображение (если соответствует при загрузке ограничению по весу)
у меня не получалось почему-то, когда я пытался так сделать. Эт по поводу слайдера, С калбеком прикольно сделали. С ними у меня пока беда. Насчет чужого кода - не знал, что нужно указывать. Если что это сделано не в целях присваивания. Спасибо за советы. Мы, видимо, общались ранее тут.
ну, сам maxscript слишком объёмен, так что, вряд ли быстро получится подтянуть. Да и заниматься им приходится в свободное от основной работы время. Так что, потихоньку
Цитата Evilis:
Пример, когда человек явно заморочился )
да, видел. был еще пинг-понг что ли, что-то такое
-- Draw some primitives gw.hPolyline #([300,50,16], [300,200,8], [450,250,4]) true -- gw.hPolygon #([200,100,16], [280,100,8], [250,200,4]) \ #(red, blue, green) \ #([1.0,.5,0], [0.5,0.5,0], [0,0,0.5]) -- Update the viewports gw.enlargeUpdateRect #whole gw.updateScreen() пример из хелпа. подскажите, пожалуйста. почему не меняется цвет полигона
перед прорисовкой еще добавил gw.setRndLimits #(#colorVerts, #texture). но не закрашивается. в случае с треугольниками если задать такой массив, то срабатывает
Вам для чего это нужно? Может gw.hRect устроит. С отрисовкой в въюпорте следует быть осторожнее. Может негативно повлиять на FPS
пока просто разбираюсь. Думал добавить пару визуальных сопровождений для кое-чего. Прямоугольник использовал уже, еще нужен был полик, но он серым остается, что не очень заметно. Но попробую вместо него использовать треугольник. Спасибо
grow/shrink с помощью мышки. Обычное ведение - средняя скорость захвата. С ctrl и shift - быстрая и медленная соотвественно
А что мешает использовать еще один? Что то типа так
Моменты маштабирования и остальное, что оно влекет за собой так же порешали? ) Старания ваши похвальны, но эта "финтиплюшка(-и)" не стоит того ) Смотрите рациональней. Если бы возникла совсем острая нужда что то подвигать, я бы к примеру ограничился слайдером(-и) из манипуляторов. А так, можно ведь просто манипулировать мышкой, и в зависимости от положения + зажатых кеев контролировать тип и объем селекшена.
А если скролл использовать? Что то типа так.
Но на практике, если честно, оно и нечто подобное нафиг не нужно, если грамотно пользоваться обычными селекшеами.
1. хотел шкалу сделать, но не знал как. до второго ректангла не додумался. 2. скролл было б идеально. но это походу опять дотнет? 3. с масштабом не увидел смысла делать, так как в маленьком окне я как бы и не моделю
1. Используйте для подобного полилинии и маркеры. (ректанглы)
2. Там ничего страшного ))
3. На ваше усмотрение. Просто у меня такая раскладка въюпортов, а в примере я взасунул макс целиком в размер гифки. Но в любом случае, вам желательно сделать некий триггер (старт\коммит). Т.е когда вы активируете скрипт, отрисовывается слайдер, но на мышу он сразу не реагирует (мой пример выше). В данном случае у вас будет больше свободы и вариативности.
etransmit, имхо в максе использовать python практически нет смысла. Вполне достаточно maxscript и dotNet. В новых версиях макса есть некоторые моменты, где без него не обойтись, но они не существенны.