Skocz do zawartości

Mritke

Members
  • Liczba zawartości

    2
  • Rejestracja

  • Ostatnia wizyta

Mritke's Achievements

Newbie

Newbie (1/14)

10

Reputacja

  1. Witam. Potrzebuje napisać skrypt który importuje i rozmieszcza na scenie obiekty zdefiniowane w pliku(custom format .sce(textowy)), a właściwie prymitywnym drzewie hierarchicznym plików. Budowa pliku(znaczenia znaczników chyba nie muszę tłumaczyć): plik scena.sce: geomobj teren2_1_1 file "scena\teren\teren2_1_1.obj" 512 1024 pos -256 -256 child_lod 0 768 dist cheby xz xref "scena\sceterenu\teren1_1_1.sce" xref "scena\sceterenu\teren1_1_2.sce" xref "scena\sceterenu\teren1_2_1.sce" xref "scena\sceterenu\teren1_2_2.sce" end .... plik teren1_1_1.sce: geomobj teren1_1_1 file "scena\teren\teren1_1_1.obj" 256 512 pos -384 -384 child_lod 0 384 dist cheby xz xref "scena\rosliny\rosliny1_1_1.sce" end ..... plik rosliny1_1_1.sce: geomobj OB_TRAWA file "scena\obiekty\trawa.obj" 0.0 50 rot 0 56 0 scl 0 0 0 pos -492 33.8314 -336 dist euclid end geomobj OB_DRZWEO file "scena\obiekty\drzewo.obj" 0.0 150 rot 0 37 0 scl 0 0 0 pos -492 19.4751 -310 dist euclid end geomobj OB_KRZEW file "scena\obiekty\krzew.obj" 0.0 100 rot 0 12 0 scl 0 0 0 pos -488 48.7808 -426 dist euclid end ......... itd itp skrypt (formatowanie kodu się kompletnie sypie jak go wklejam ale może ktoś dojdzie co i jak): ( fn openSCE fileName yep = ( f = openfile (fileName) --f = openfile ("d:\scena\scena\rosliny\rosliny1_1_1.sce") if f == undefined then ( MessageBox "nie wczytalem" ) if f != undefined then ( MessageBox fileName while not (eof f) do ( l = readline f lf = filterString l " " lname = "" if yep=="true" then ( if lf[1] == "geomobj" then ( lname = lf[2] ) if lf[1] == "file" then ( local plugins = importerPlugin.classes local pluginName = Wavefront_Object if findItem plugins ObjImp != 0 then (pluginName = ObjImp) --MessageBox "file" --braclf =filterString lf[2] "\"" s1 =lf[2] bracss=filterString s1 "\"" importFile (bracss[1]) #noPrompt using:pluginName for i in selection do i.name = lname --max select none ) if lf[1] == "pos" then ( if (lf.count)==4 then ( X=lf[2]as Float Y=lf[3]as Float Z=lf[4]as Float move $ [Z,-X,Y] ) else ( X=lf[3]as Float Y=lf[2]as Float move $ [X,-Y,0] ) ) ) ---yep yep yep if lf[1] =="xref" then ( s1 =lf[2] bracss=filterString s1"\"" if matchPattern s1 pattern:"rosliny" then ( openSCE bracss[1] "true" ) else ( openSCE bracss[1] "no" ) ) ) close f ) ) --openSCE "scena\\rosliny\\rosliny1_1_1.sce" "true" --openSCE "scena\rosliny1_1_1.sce" "true" openSCE "scena\\scena.sce" "true" ) Skrypt czyta pojedyncze pliki bez problemu. Nie działa jednak już gdy jest wykonany w rekursji-pliki się otwierają ale chyba nic z nich nie jest czytane. Wydaje mi się że maxscrypt poze mieć problemy z czytaniem z wielu plików na raz... Albo po prstu jest coś o czym nie wiem i nie mogę znaleźć. Foldery są zdefiniowane poprawnie otwiera wszystkie pliki ale żadne operacje nie są wykonywane.
  2. rysunki są bardzo fajne... ale nawet jak na szkice... perspektywa nie jest zachowana, szczególnie widać to na kołach kiedy nie są ustawione współliniowo, równolegle do teoretycznej osi samochodu, a imo kontury samochody urywają się zbyt wcześnie(często widać to na maskach)
×
×
  • Dodaj nową pozycję...

Powiadomienie o plikach cookie

Wykorzystujemy cookies. Przeczytaj więcej Polityka prywatności