Napisano 28 Lipiec 200618 l Nigdy nie bawilem sie w skryptowanie w maxie i dlatego prosze kogos o pomoc. Chodzi o napisanie skryptu wypisujacego np do pliku txt nazw wszystkich elementow sceny wraz z jego rozmiarami. Chodzi mi o zapis w stylu: NAZWA_ELEMENTU [tab][tab] LENGTH [tab] WIDTH [tab] HEIGHT Ze swojej strony dodam, ze wszystkie elementy to BOXy. Wydaje mi sie, ze skrypt ten to nie jest jakis kosmicznie trudny problem programistyczny, jednak za duzo czasu zabralaby mi nauka składni w celu napisania jednego skryptu. Prosiłbym równiez o ewentualne wskazowki co do sposobu "odpalenia" skryptu w scenie. Uzywam maxa 6. Pozdrawiam i z góry dziekuje
Napisano 30 Lipiec 200618 l Autor Na forum http://www.3dbuzz.com uzytkownik Mobeen napisał mi taki kod, ktory dziala: fName = (GetSaveFilename caption:"Select output filename... " types:"Text file only (*.txt)|*.txt|") if(fName!=undefined) do ( fp = openfile fName mode:"wt" --This gets all scene boxes allBoxes = (for g in geometry where classof g == Box collect g) --Iterates over all boxes for b in allBoxes do ( format "%\t\t\t%\t%\t%\n" b.name b.length b.width b.height to:fp ) close fp ) messagebox "Done..." Mam nadzieje, ze moze komus sie przyda
Napisano 9 Kwiecień 200817 l Witam. Potrzebowalbym skrypt, ktory wypisze do pliku pozycje i rotacje wszystkich elementow na scenie. Nie znam jezyka skryptowego 3dsmax'a, a potrzebuje tylko to :) Czy ktos posiada taki skrypt, lub bylby w stanie zmodyfikowac powyzszy o interesujaca mnie funkcjonalnosc? Pisze w tym temacie, gdyz wydaje mi sie, iz przerobienie powyzszego skryptu rozwiazaloby problem (tak, aby wypisywal nie rozmiary, a pozycje i rotacje i nie tylko Box'ow, ale wszystkich elementow na scenie).
Napisano 10 Kwiecień 200817 l fName = (GetSaveFilename caption:"Select output filename... " types:"Text file only (*.txt)|*.txt|") if(fName!=undefined) do ( fp = openfile fName mode:"wt" allBoxes = (for g in objects collect g) for b in allBoxes do ( format "%\t\t\t%\t%\t%\n" b.name b.position b.rotation b.scale to:fp ) close fp ) messagebox "Done..."
Napisano 15 Kwiecień 200817 l CgBartosz, bardzo dziekuje! Oszczedzi mi to sporo nudnej pracy :) Przy okazji chcialbym zapytac, jak przeliczyc kwaterniony na stopnie(lub radiany :) ) obrotu wzgledem osi x, y, z? (np. z zachowaniem tej kolejnosci, choc to dla mnie nie ma znaczenia)
Napisano 16 Kwiecień 200816 l Mozna tak: eulerRot = $.rotation as eulerAngles eulerRot.x --obrot wzgledem osi x, analogicznie dla pozostalych osi
Napisano 22 Czerwiec 200816 l Po pewnym czasie problem do mnie wrocil... :) Czy moglbym prosic, aby ktos rozbudowal powyzszy skrypt autorstwa CgBartosz w taki sposob, aby do pliku byly wypisywane pozycje i obroty kazdego elementu na scenie w kazdej klatce animacji? (W zasadzie w momencie wykonywania skryptu na scenie i tak bedzie tylko 1 obiekt). Chcialbym, aby w pliku pojawily sie te dane w postaci: [nr_klatki] [pozycja_x] [pozycja_y] [pozycja_z] [analogicznie jak pozycje tak i obroty] Od czasu mojego poprzedniego pytania minelo sporo czasu, faktem jest ze przez taki okres moglem sie juz zaznajomic z jezykiem skryptowym, ale nie sadzilem ze jeszcze kiedys bede z niego korzystal... :)
Napisano 22 Czerwiec 200816 l To bedzie tak: fName = (GetSaveFilename caption:"Select output filename... " types:"Text file only (*.txt)|*.txt|") if(fName!=undefined) do ( fp = openfile fName mode:"wt" allBoxes = (for g in objects collect g) for t in animationRange.start to animationRange.end do ( for b in allBoxes do at time t ( local rot = b.rotation as eulerangles format "[%][%][%][%][%][%][%]\n" (t.frame as integer) b.pos.x b.pos.y b.pos.z rot.x rot.y rot.z to:fp ) ) close fp )
Napisano 22 Czerwiec 200816 l Blyskawiczna odpowiedz :) lechoo, bardzo Ci dziekuje, kolejny juz raz :)
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto