lukasz050792 Opublikowano 23 Lutego 2013 Udostępnij Opublikowano 23 Lutego 2013 Czy jest możliwość wykorzystywania modeli 3D w zwykłym przykładzie GM'a gry FPS zamiast płaskich sprite'ów? Jak tak to jak je wstawić? Jaki ma być format? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Lechu4444 Opublikowano 23 Lutego 2013 Udostępnij Opublikowano 23 Lutego 2013 Było coś chyba z formatem .obj czy jakimś tam, ale i tak najlepiej jest po prostu użyć jakiegoś dll. Poza tym możesz sprawdzić Marzipan v.5.8 jest w Game Maker->Narzędzia. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 23 Lutego 2013 Udostępnij Opublikowano 23 Lutego 2013 Jedyny format jaki GM przyjmuje to jego własny( .d3d .gmod ). Istnieje sporo konwerterów między innymi ten wymieniony wyżej. Ale ja polecam konwerter GMModelFix. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 24 Lutego 2013 Autor Udostępnij Opublikowano 24 Lutego 2013 Ok, to teraz jak je wstawić? Tzn. jak zamienić płaski obiekt sprite na model 3D? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 Mówisz o tym przykładnie tutaj http://sandbox.yoyogames.com/make/tutorials na samym dole? Jak masz już model to trzeba najpierw go wczytać jednorazowo do pamięci, w tym celu zrób nowy room i ustaw go by się odpalał pierwszy. Wejdź w settings>creation code i tam wpisz: GML globalvar gModel, gTexture; // deklaracja zmiennych globalnych, dzieki temu nie trzeba pisac ciagle global.Zmienna gModel[0] = d3d_model_create(); // tworzenie nowgo zasobu - model 3D d3d_model_load( gModel[0], "nazwaModelu.d3d"); // wczytywanie tego modelu z dysku gTexture[0] = background_get_texture( texture ); // konwersja backgrounda na texturę room_goto_next(); // idź do nastepnego roooma</span> Teraz trzeba go wyświetlić. Dla modeli, które nie mają się obracać tutaj beczki itp. GML (draw) d3d_model_draw( gModel[0], 0, 0, 0, gTexture[0] ); Dla modeli, które obracają się w twoją stronę ( potworki ) GML (draw) d3d_transform_add_rotation_z( point_distance( x, y, global.camx, global.camy ) ); // obracanie do ciebie d3d_transform_add_translation( x, y, z ); // przemieszenie modelu na pozycje obiektu potwora d3d_model_draw( gModel[1], 0, 0, 0, gTexture[1] ); // wyświetlenie modelu d3d_transform_set_identity(); // reset macierzy transformującej</span> Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
Uzjel Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 Huder, z twoich porad nt. 3D można by już tutorial napisać :book: Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 24 Lutego 2013 Autor Udostępnij Opublikowano 24 Lutego 2013 Tak, chodzi mi o ten przykład. Nie rozumiem do końca, ten skrypt mam wpisać w roomie? Czy do obiektu? Powoli, bo ja dopiero z 3D tu zaczynam działać w GM'ie ;D. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 Edytowałem post bo jakoś się 2 tagi GML złączyły :D Ten pierwszy wpisujesz w nowo utworzonym room w zakładce settings > przycisk creation code A tamte 2 w Draw obiektów. Wiesz jak działają tablice? Bo tutaj użyłem je 2. gModel[0] i gTexture[0] Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 24 Lutego 2013 Autor Udostępnij Opublikowano 24 Lutego 2013 Zazwyczaj tworzyłem na "klockach" lub na gotowych skryptach, więc moja wiedza jest jeszcze bardzo słaba, ale na razie chyba rozumiem. Tylko teraz jeszcze pytanie czy w tym roomie "startowym" mam zadeklarować wszystkie modele (tzn. ze wszystkich kolejnych roomów) czy tylko te, których będę używać w najbliższych roomach? Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 Dla ciebie prawdopodobnie najlepiej będzie jak zadeklarujesz tam wszystkie modele z gry. Bo tak musiał byś jeszcze pamiętać o zwalnianiu modeli z pamięci. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 24 Lutego 2013 Autor Udostępnij Opublikowano 24 Lutego 2013 Ok to napisz jak zwalniać je z pamięci, bo to jest ważne. Trochę to bez sensu by było zawalać całą pamięć modelami. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 GML d3d_model_destroy( gModel[] ) Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 24 Lutego 2013 Autor Udostępnij Opublikowano 24 Lutego 2013 A jest możliwość nakładania kilku tekstur na jeden model? Tzn. przód: textura1, tył textura2, itp. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
I am Lord Opublikowano 24 Lutego 2013 Udostępnij Opublikowano 24 Lutego 2013 No musisz zrobić UV mapę w jakimś programie do modelowania. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
lukasz050792 Opublikowano 25 Lutego 2013 Autor Udostępnij Opublikowano 25 Lutego 2013 Dobra, ok. Stestuje to wszystko w najbliższym czasie i dam znać czy wszystko jest tak jak powinno być. Odnośnik do komentarza Udostępnij na innych stronach Więcej opcji udostępniania...
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ę