Acid_19 Posted July 28, 2006 Share Posted July 28, 2006 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 Link to comment Share on other sites More sharing options...
Acid_19 Posted July 30, 2006 Author Share Posted July 30, 2006 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 Link to comment Share on other sites More sharing options...
FireBullet Posted April 9, 2008 Share Posted April 9, 2008 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). Link to comment Share on other sites More sharing options...
CgBartosz Posted April 10, 2008 Share Posted April 10, 2008 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..." Link to comment Share on other sites More sharing options...
FireBullet Posted April 15, 2008 Share Posted April 15, 2008 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) Link to comment Share on other sites More sharing options...
lechoo Posted April 16, 2008 Share Posted April 16, 2008 Mozna tak: eulerRot = $.rotation as eulerAngles eulerRot.x --obrot wzgledem osi x, analogicznie dla pozostalych osi Link to comment Share on other sites More sharing options...
FireBullet Posted April 16, 2008 Share Posted April 16, 2008 lechoo, bardzo dziekuje, dokladnie o to mi chodzilo :) Link to comment Share on other sites More sharing options...
FireBullet Posted June 22, 2008 Share Posted June 22, 2008 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... :) Link to comment Share on other sites More sharing options...
lechoo Posted June 22, 2008 Share Posted June 22, 2008 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 ) 1 Link to comment Share on other sites More sharing options...
FireBullet Posted June 22, 2008 Share Posted June 22, 2008 Blyskawiczna odpowiedz :) lechoo, bardzo Ci dziekuje, kolejny juz raz :) Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now