Скрипты для 3D Max

Автор
Сообщение
Spark
Возраст: 34
Пол: М
На сайте c: 28.09.2006
Сообщения: 739
Откуда: Москва

Подскажите, а как получить номер выбранного слота в слэйт матэдиторе в разделе Sample Slots?

В компактном режиме activemeditslot правильно  возвращает номер выбранного слота, а в слэйте независимо от выбранного слота возвращается единица. Ну точнее не единица, а номер слота, который был последним выбран в компакте. Т.е. в слэйте значение activemeditslot не меняется при выборе различных слотов.

suhiro
Возраст:
Пол: М
На сайте c: 05.08.2010
Сообщения: 27
Откуда:

Подскажите, нет ли скрипта, который бы сам вставлял необходимые вертексы в прилегающие полигоны и вилдил бы их чтоб убрать все ненужные бордеры в геотетрии?

Jähman'
Возраст:
Пол: М
На сайте c: 20.01.2017
Сообщения: 174
Откуда:
Spark. Забудь, автодоски прилепели слейт и с тех самых пор ни в сдк ни в максскрипт почти никаких методов не добавили для работы с ним. Все через жуткие хаки. Suhiro ;)http://gph.is/2j1oixn  
suhiro
Возраст:
Пол: М
На сайте c: 05.08.2010
Сообщения: 27
Откуда:
Jähman' Можно для особо тупых немного объяснений к гифке? ))
Jähman'
Возраст:
Пол: М
На сайте c: 20.01.2017
Сообщения: 174
Откуда:
Ищем такую вершину, которая принадлежит отрезку образованному еджем геометрии. Если вершина не совпадает ни с одной вершиной отрезка - сохраняем индекс эджа и позицию вершины. Далее для всех таких еджей делается дивайд и новая вершина ставится в нужную позцию. Для простых случаев этого достаточно. В случае, когда много вершин принадлежат отрезку придется еще их отсортировать перед дивайдом еджа, иначе фигня получается. Ну и как-то оптимизировать процесс надо, чтоб не проверять все эджи со всеми вершинами...
suhiro
Возраст:
Пол: М
На сайте c: 05.08.2010
Сообщения: 27
Откуда:
Jähman' Вобщем я ниче не понял, ну спасибо в любом случае)
maryata
Возраст: 52
Пол: Ж
На сайте c: 17.12.2014
Сообщения: 68
Откуда: България
Кто нибуд знает, скрипт которой делат из несколько обекта с разнами материалами, один multi/sub object material, или наоборот, один multi/sub object material, скажем с 25 ID, разпределит на 25 обекта?
Slava-E
Возраст:
Пол: М
На сайте c: 16.06.2011
Сообщения: 15
Откуда: Брест
Цитата jaspar:
Floor

Огромное спасибо за скрипт !

Slazzo
Возраст:
Пол: М
На сайте c: 19.01.2012
Сообщения: 125
Откуда:
Цитата maryata:
Кто нибуд знает, скрипт которой делат из несколько обекта с разнами материалами, один multi/sub object material, или наоборот, один multi/sub object material, скажем с 25 ID, разпределит на 25 обекта?

Этот сколапсит много обьектов в один полимеш и макс сам сгенерирует мултимат

(

    disableSceneRedraw();

    suspendEditing();

    objectsToCollapse = for o in selection where superclassof o == geometryclass collect o;

    masterObj = objectsToCollapse[1];

    if classof masterObj != editable_poly do converttopoly masterObj;

    for i = 2 to objectsToCollapse.count do

    (

        obj=objectsToCollapse[i];

        if classof obj != editable_poly do converttopoly obj;

        polyop.attach masterObj obj;

    )

    resumeEditing();

    enableSceneRedraw();

)

Но чтобы сделать мулти мат из много обьектов будет по сложнее, надо учитывать случай когда на обьекте уже стойт мултимат и пересапределить идишки. Но так как в конечном итоге один материал будет наложен на много обьектов я бы просто сколапсил и при нёобходимости детачить нужное в отдельный обьект.

Также могут быть под маты или карты которые зависят от фэйс ид и т.д. Имхо писать такое будет трудно для всех случаев и скорее всего нафиг оно надо.

maryata
Возраст: 52
Пол: Ж
На сайте c: 17.12.2014
Сообщения: 68
Откуда: България
Slazzo, спасибо, хотелось обходит такие действия как приатачит, потом сново детачит, потому что мне нужны отдельные обекты.А за другой вариант, понятно.
Slazzo
Возраст:
Пол: М
На сайте c: 19.01.2012
Сообщения: 125
Откуда:
Цитата maryata:
Slazzo, спасибо, хотелось обходит такие действия как приатачит, потом сново детачит, потому что мне нужны отдельные обекты.А за другой вариант, понятно.

Встречный вопрос, зачем вам один мулти мат? спорное удобство, минус для оптимизаций, может есть компромисс.

maryata
Возраст: 52
Пол: Ж
На сайте c: 17.12.2014
Сообщения: 68
Откуда: България
Slazzo Вот, сейчас делаю виз екстериер, там слишком много обекты, получаются слишком много материалы, в конкретны  случай, мне понадобилис опавших листя, которы могу разбросат по полу, они много и разны, заняли все слоты в мат едиторе, да и вообще не удобно, а они нужни в отделны обекты, потом их буду размножат инстансом, но ето не единственны подобны случай.
Slazzo
Возраст:
Пол: М
На сайте c: 19.01.2012
Сообщения: 125
Откуда:
Цитата maryata:
много и разны, заняли все слоты в мат едиторе

На этот случай есть стандартная утилита material explorer.

https://knowledge.autodesk.com/support/3ds-max/learn-explore/caas/CloudHelp/cloudhelp/2016/ENU/3DSMax/files/GUID-707B54DA-6CFA-4BB6-B78B-F2177C11FE3E-htm.html 

Цитата maryata:
да и вообще

Если обьекты одно-айдишные и материалы не зависят от мат айди простой скрипт подойдёт.

Соберёт все уникальные материалы в один мултимат и заменит материал, также добавит модификатор матриал с нужном ид

(

    for obj in selection where obj.material == undefined do deselect obj;

    objs = selection as array; mtls = #();

    for obj in objs do

    (

        appendifunique mtls obj.material;

        addModifier obj (MaterialModifier materialID:mtls.count);

    )

    objs.material = MultiMaterial name:(mtls[1].name + " ids:" + (mtls.count as string)) materialList:mtls;

)

o_wal
Возраст:
Пол: М
На сайте c: 15.05.2013
Сообщения: 20
Откуда:

Приветствую! Есть желание сохранять фрейм буфер в один - 2 клика, что бы не лазать в сейф и далее...

Что бы фрейм буфер сохранялся в папку с рабочим max файлом (а лучше в  папку Images находящуюся в одной папке с рабочим max фаилом) и в названии имел название камеры или название окна с которого считалось.

плюс возможность менять расширение фаила(хотя можно и без этого)

Есть вот такой исходник: 

qRender = GetLastRenderedImage()

qRender.filename = "I:/test01.exr"

Save qRender

как допилить знаний не хватает((

Да и этот код не позволяет сохранять картинку фреймбуфера при просчете, сохраняет то, что было просчитано до этого, а было бы лучше, что бы была возможность сохранять еще считающийся вид.

Заранее Спасибо!

eugene132003
Возраст: 36
Пол: М
На сайте c: 07.08.2009
Сообщения: 649
Откуда: Питер
Цитата o_wal:
Есть желание сохранять фрейм буфер в один - 2 клика, что бы не лазать в сейф и далее...

а через историю есть такая возможность?

o_wal
Возраст:
Пол: М
На сайте c: 15.05.2013
Сообщения: 20
Откуда:
Цитата eugene132003:
Цитата o_wal:
Есть желание сохранять фрейм буфер в один - 2 клика, что бы не лазать в сейф и далее...

а через историю есть такая возможность?

"через историю" - не совсем понимаю про что речь...

если о  Store Current VFB то это не совсем то ... Хотелось бы миновать окно Save Image с выбором расширений, сетапа, пути и пр... а при сохранении через эту функцию все ровно сохранение через это окно.

eugene132003
Возраст: 36
Пол: М
На сайте c: 07.08.2009
Сообщения: 649
Откуда: Питер
Цитата o_wal:
если о  Store Current VFB то это не совсем то ... Хотелось бы миновать окно Save Image с выбором расширений, сетапа, пути и пр... а при сохранении через эту функцию все ровно сохранение через это окно.

если я не ошибаюсь, что путь и расширение для истории сохраняются один раз. туда будут сбрасываться результаты рендера любого файла. 

maryata
Возраст: 52
Пол: Ж
На сайте c: 17.12.2014
Сообщения: 68
Откуда: България
Slazzo  Спасибо, буду разобратся с ето.
Jähman'
Возраст:
Пол: М
На сайте c: 20.01.2017
Сообщения: 174
Откуда:
Практически допилил, по мелочи осталось. http://i.cubeupload.com/ei8nAn.gif  
Maketer
Возраст: 30
Пол: М
На сайте c: 09.06.2013
Сообщения: 291
Откуда: Россия

Jähman' Очень круто, ждем)

А есть скрипты, с помощью которых можно приаттачить инстансы так, чтобы если к инстансу приаттачить инстанс, не оставалось лишних инстансов, которые по идее должны были приаттачиться тоже? И наоборот детач у инстансов такой, чтобы получились инстансы от всех инстансов, а не от одного из них. Извините за тавтологию)

З.ы. если нету, то сам напишу, не проблема)

Читают эту тему: