Napisano 26 Lipiec 201311 l Witam, Mam irytujacy problem opisany w pierwszym poscie w watku ponizej http://max3d.pl/forum/showthread.php?t=88778 Szukam kogos z dobra znajomoscia maxscript'u kto za niewielka oplata (50PLN) napisze prosty skrypt ktory rozwiaze problem. Zaczalem kombinowac sam ale z moja znajomoscia skryptowania zajelo by mi to zbyt wiele czasu. Skrypt musi wyszukac wszystkie mapy z nazwami zaczynajacymi sie od "Map #" i przenumerowac je zaczynajac od 1. Musi tez zrobic to samo z nie nazwanymi materialami. Bardzo wazne jest tez przeszukanie takich materialow jak Multi/Sub-Object, VrayOverrideMtl, Blend itp. oraz ich kombinacji. Gotowy dzialajacy skrypt musi zostac udostepniony w tym watku oraz http://max3d.pl/forum/forumdisplay.php?f=139 na ponizszej licencji http://freedomdefined.org/Licenses/CC-BY-3.0 Place przez PayPal.
Napisano 26 Lipiec 201311 l Autor Wielkie dzieki SUPER_OkO pozostaje tylko dolozenie sprawdzania podmaterialow i czy mapa/material ma nazwe inna niz standardowo przypisaywana przez max'a i powinno mi to wystarczyc.
Napisano 26 Lipiec 201311 l Heja. Zapomnialem dodać linijki odnośnie zmiany tylko wybranych map.. juz dodalem ci w tamtym wątku koljną wersję. Odnośnie zmiany nazw bardzo rozbudowanych materialow to tutaj trzeba by bylo troche posiedziec.. bo materialy moga miec powalone drzewka. ---- EDIT ------ Oj dzisiaj mi się wyjątkowo nudzi. Nie chce mi się już tam wklejać więc dam tutaj. Skrypt penetruje nazwy do pierwszego drzewka, testwałem na zwykłym materiale blend więc nie wiem jak się będzie sprawdzał. ------------------------------------------------------------------------------------------- scMAll = sceneMaterials fn materialRename scM scMName= ( if (findstring scM.name "Map #") !=undefined then scM.name = "nazwa_" + scMName for w = 1 to scM.maps.count do ( if scM.maps[w] != undefined then ( if (findstring scM.maps[w].name "Map #") !=undefined then scM.maps[w].name = "nazwa_" + scMName + "_" + (w as string) ) ) ) for x = 1 to scMAll.count do ( if (getNumSubMtls scMAll[x]) == 0 then materialRename scMAll[x] (x as string) else ( for q = 1 to (getNumSubMtls scMAll[x]) do ( aa = getSubMtl scMAll[x] q materialRename aa ((x as string)+"_D_" + (q as string)) ) ) ) Edytowane 26 Lipiec 201311 l przez SUPER_OkO
Napisano 27 Sierpień 201311 l Skrypt znajduje się tutaj: http://max3d.pl/forum/showthread.php?p=1174384#post1174384 Edytowane 2 Wrzesień 201311 l przez CgBartosz
Napisano 28 Sierpień 201311 l Autor jestem wlasnie na urlopie i bede mogl wyprobowac skrypt dopiero w niedziele. po udanych testach przeleje pieniadze na wskazane konto PayPal :) EDIT(po testach): dziala prawie idealnie. czy jest mozliwosc szybkiego dodania numeracji materialow ktore maja numer w prefixie a nie w suffixie czyli np. "XXXX - Default" z gory dzieki. Edytowane 1 Wrzesień 201311 l przez t0m3k
Napisano 2 Wrzesień 201311 l Zaktualizowałem kod http://max3d.pl/forum/showthread.php?p=1174384#post1174384 Edytowane 2 Wrzesień 201311 l przez CgBartosz
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto