marqz Napisano 11 Luty 2004 Napisano 11 Luty 2004 Witam, mam pytanko dot. przenoszenia projektów z G-MAX do 3D Studio. Czytałem wcześniej o skryptach które ludzie piszą, za pomocą których można przenieść dany projekt do 3D Studio. Niestety nigdzie nie znalazłem tych skryptów, a sam nie potrafię takich napisać. Próbowałem też za pomocą programu Rhino3D wczytać plik z G-MAX a później do 3DS ale nie udało mi się zaimportować formatu G-MAX. Czy macie jakiś sposób na import? Dzięki za pomoc. Pozdrawiam.
VGT Napisano 12 Luty 2004 Napisano 12 Luty 2004 Hmmm, początkowo byłem ciekaw, czy ktoś tu zamieści coś, co będzie lepszym rozwiązaniem niż uzyskane przeze mnie.... ale jakoś cisza... :| Jakiś czas temu też potrzebowałem możliwości kontaktu pomiędzy tymi programami, więc zmontowałem odpowiedni skrypt. Od razu ostrzegam, że jest to jedna wielka prowizorka, w dodatku dosyć uciążliwa w użytkowaniu, ale dla mnie było ważne, że działa. Oto skrypt: rollout FloaterExample \"FloaterExample\" ( local obiekt local cos local kopia --buttony fn getgeometry o = ( Superclassof o == geometryclass and classof o != targetobject ) pickbutton siatka \"pick\" filter:getgeometry button zad1 \"in GMAX export\" width:100 enabled:false button zad2 \"in MAX import\" width:100 enabled:true on siatka picked cos do ( siatka.text = cos.name obiekt = cos zad1.enabled = true zad2.enabled = true kopia = snapshotasmesh obiekt ) on zad1 pressed do ( clearlistener() --wypisanie ilosci vertexow i faceow print kopia.numverts print kopia.numfaces --wypisanie wspolrzednych wszystkich vertexow for i = 1 to kopia.numverts do print (getvert kopia i) --wypisanie danych o face\'ach for i = 1 to kopia.numfaces do ( face = getface kopia i print face sgroup = getfacesmoothgroup kopia i print sgroup matid = getfacematid kopia i print matid edge1 = getedgevis kopia i 1 print edge1 edge2 = getedgevis kopia i 2 print edge2 edge3 = getedgevis kopia i 3 print edge3 ) ) on zad2 pressed do ( vert_array = # () face_array = # () sgroup_array = # () matid_array = # () edge_array = # () plik_nazwa = getopenfilename() plik = openfile plik_nazwa num_verts = readvalue plik num_faces = readvalue plik for i = 1 to num_verts do append vert_array (readvalue plik) for i = 1 to num_faces do ( append face_array (readvalue plik) append sgroup_array (readvalue plik) append matid_array (readvalue plik) edge1 = readvalue plik edge2 = readvalue plik edge3 = readvalue plik append edge_array #(edge1, edge2, edge3) ) close plik nowymesh = mesh vertices:vert_array faces:face_array for i = 1 to num_faces do ( setfacesmoothgroup nowymesh i sgroup_array setfacematid nowymesh i matid_array setedgevis nowymesh i 1 edge_array[1] setedgevis nowymesh i 2 edge_array[2] setedgevis nowymesh i 3 edge_array[3] ) update nowymesh ) ) if FloaterExampleFloater != undefined do ( closerolloutfloater FloaterExampleFloater ) FloaterExampleFloater = newRolloutFloater \"FloaterExample Floater\" 200 150 addRollout FloaterExample FloaterExampleFloater trochę obsługi: jest to jeden skrypt, z którego korzystasz zarówno w G-MAX\'ie jak i MAX\'ie. W tym pierwszym wybierasz \'pick\' i wskazujesz obiekt, który chcesz eksportować (skrypt exportuje siatke, więc jeśli masz na obiekcie jakieś modeyfikacje, to najlepiej wszystkie usuń (w MAX\'ie naniesiesz je ponownie). Po wskazaniu obiektu wciskasz \"in GMAX export\"... no i teraz najgorsza część roboty. Ponieważ w G-MAX\'ie zablokowano możliwość tworzenia plików na znane mi sposoby, więc wszystkie potrzebne dane zostały właśnie jedynie wypisane w listener\'e (lewy dolny róg interface\'u). Kliknij na nim RMB i wybierz \'open listener window\' a następnie WSZYSTKO, co skrypt tam wygenerował w dolnym oknie, skopiuj do notatnika. Będzie to zajęcie żmudne, gdyż nawet przy średnio skomplikowanych bryłach jest tego tyle, że bedziesz musiał kopiować fragmentami (koniecznie przy tym uważając, aby nic nie zmienić w układzie). Akurat to miałem w planach optymalizować, aby było mniej tekstu, ale jakoś zawsze brakowało czasu... Gdy plik już jest gotowy, wystarczy wejsć do MAX\'a, odpalić skrypt, wybrać \"in MAX import\" i wskazać plik tekstowy.
marqz Napisano 12 Luty 2004 Autor Napisano 12 Luty 2004 VGT Wielkie dzięki. Powalczę z tym. Gdyby ktoś znał inną metodę, będę dzwięczny za posta ... THX
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ę