t0m3k Napisano 26 Lipiec 2013 Napisano 26 Lipiec 2013 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.
t0m3k Napisano 26 Lipiec 2013 Autor Napisano 26 Lipiec 2013 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.
SUPER_OkO Napisano 26 Lipiec 2013 Napisano 26 Lipiec 2013 (edytowane) 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 2013 przez SUPER_OkO
CgBartosz Napisano 27 Sierpień 2013 Napisano 27 Sierpień 2013 (edytowane) Skrypt znajduje się tutaj: http://max3d.pl/forum/showthread.php?p=1174384#post1174384 Edytowane 2 Wrzesień 2013 przez CgBartosz
t0m3k Napisano 28 Sierpień 2013 Autor Napisano 28 Sierpień 2013 (edytowane) 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ń 2013 przez t0m3k
CgBartosz Napisano 2 Wrzesień 2013 Napisano 2 Wrzesień 2013 (edytowane) Zaktualizowałem kod http://max3d.pl/forum/showthread.php?p=1174384#post1174384 Edytowane 2 Wrzesień 2013 przez CgBartosz
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się