Skocz do zawartości

I am Lord

Użytkownicy
  • Postów

    4 891
  • Dołączył

  • Ostatnia wizyta

  • Wygrane w rankingu

    53

Treść opublikowana przez I am Lord

  1. GML if ( x-view_xview > view_wview-view_hborder ) view_xview = x-view_wview+view_hborder; if ( x-view_xview < view_hborder ) view_xview = x-view_hborder; view_xview = clamp( view_xview, 0, room_width ); view_yview = y - view_hview/1.25;
  2. GML (graczStep) view_xview = x - view_wview/2; view_yview = y - view_hview/1.25;
  3. Wczytał parę modeli do tablicy, zdeklarował jakąś zmienną wskazującą na obecną klatkę animacji i po kolei te modele rysował.
  4. I am Lord

    Top Hat

    Nie, nie wygląda fajnie za to wygląda jak by programista był nieskillowy.
  5. I am Lord

    Galeria Grafik

    Polygon to minimum 4 wierzchołki tak? Popraw mnie jak się mylę.
  6. Taki leżący tak? GML d3d_transform_set_translation( x, y, tutaj wpisz tą wysokosc ); draw_sprite( sprit, -1, 0, 0 ); // te zera w x i y są ważne od teraz nie zmieniają pozycji a origin spritu d3d_transform_set_identity();
  7. To zależy od ustawień kamery, to widok 3D wysokość może być w każdym kierunku. No i wytłumacz co rozumiesz mając na myśli sprit. Czy ci chodzi o billboard co stoi i się obraca do kamery?
  8. I am Lord

    Galeria Grafik

    Modele mi się podobają.
  9. I am Lord

    Galeria Grafik

    Nie przesadzaj. Od wersji GM8.1 GM potrafi wyświetlać dużo więcej polygonów niż wcześniej, sam nie mogłem się napatrzeć na ilość FPSów jaką miałem tutaj: https://forum.gmclan.org/index.php?showtopic=29616 oscylacje 400-500FPSów, po wyłączeniu fizyki jest 700FPSów. Teren ma 196608 trójkątów. Btw nie dałem tam foga by ograniczyć widok z powodu ilości poly. A z tego powodu by ukryć zapętlenie się terenu. Twoje modele to gruba przesada ile one mają, mniej niż 100 trójkątów?
  10. I am Lord

    Galeria Grafik

    Grafika wygląda podobnie jak w tym: w ogóle to polecam ten filmik bo to rozmowa z twórcami.
  11. 2. GML // uruchamia tryb 3D d3d_start(); /* Pozwala ustalić czy GM ma obliczać depth obiektów zależną od perspektywy ( true ) Ustawienie tego na false spowoduje że GM będzie wyświetlał depth obiektów tak jak w trybie 2D czyli kolejność wyświetlania będzie zgodna z wartościami depth ustalonymi we właściwościach obiektów Przydatne tylko wtedy kiedy chcemy wyświeltać Hud ( bo wtedy 3D obiekty go nie będą przysłaniać ) */ d3d_set_hidden( enable ); // Włącza funkcje perspektyw d3d_set_perspective( enable ); /* Włącza backface culling. Każdy polygon ma 2 strony - przednią i tylnią. Ustawienie tego na false włączy wyświetlanie dwustronne, true wyświeli tylko przednią stronę. Przydatne do optymalizacji bo GM wtedy rysuje 2 razy mniej textur. Ale trzeba z tym stworzyć poprawny model ( Blenderowa funkcja recalculate normals zwykle pomaga ale i tak trzeba sprawdzać ręcznie czy model nie ma błędów ) */ d3d_set_culling( cull ); // Włącza mgłę o podanym kolorze i zakresie jej występowania ( odległość od kamery ) d3d_set_fog( enable, color, start, end ); /* Włącza funkcje odpowiedzialne za światło. Trzeba mieć na uwadze to że nic nie będzie widać gdy nie wstawimy żadego źródła światła a ambient light jest ustawiony na zero ( domyślnie tak jest ) */ d3d_set_lighting( enable ) /* Wygładza cienie na modelach ( funkcja d3d_set_lighting musi być włączona i musi być jakieś żródło światła ) To jak cień będzie wyglądał jednak nie zależy od samego GMa, trzeba jeszcze zadbać o to by Vertex normale w modelach były poprawnie wygładzone. */ d3d_set_shading( smooth ); /* Tą funkcją można wpływać na ogólny klimat otoczenia. Jest to tak jakby kolor cieni rzucanych przez światło. Gdy nie ma żadnego źródła światła jedyny kolor jaki widzimy to właśnie ambient light, domyślnie jest ustawion na 0 Dlatego też po uruchomieniu d3d_set_lighting( true ) bez źródeł światła widzimy czerń. */ d3d_light_define_ambient( colour ); Edit: 1. Hud najlepiej jest zrobić w osobnym obiekcie, by uniknąć niechcianych problemów z głębią Depth obiektu Huda musi być mniejszy od wszystkich obiektów i dużo mniejszy od depthu kamery, przesadzić też nie można bo kamera się sypnie. Ja stosuję depth taki: kamera 5000 obiekty -4999 do 4999 Hud -5000 Teraz w draw Huda trzeba przełączyć perspektywę na Ortho i wyłączyć funkcje świetlne ( by ambient nie wpływał na kolory Huda ) wyłączenie hidden też nie zaszkodzi. GML (Draw) d3d_set_lighting( 0 ); d3d_set_hidden( 0 ); draw_set_color( c_white ); d3d_set_projection_ortho( 0, 0, view_wview, view_hview, 0 ); draw_text( 0, 0, fps ); d3d_set_hidden( 1 ); d3d_set_lighting( 1 );
  12. I am Lord

    Galeria Grafik

    Brakuje stawów na nogach ale całokształt wyszedł nawet spoko.
  13. Zacytuj czyiś post. "Hard bass in your face, this song must be loud Hard bass in your face, hard bass, hard sound" lol :D
  14. Zmienna zainicjowana w skrypcie zostaje już w obiekcie. Niektórzy tego używają do robienia funkcji które zwracają więcej wartości niż 1.
  15. Tak w skrócie to co te primitivy w trybie pr_trianglefan robią pokazuje ten obrazek. Nie wiem czy go ogarniesz ale lepiej wytłumaczyć nie umiem xD pr_trianglefanowi trzeba podać łańcuch pojedynczych punktów wtedy z 1 punktu ( startowego ) będzie tworzył figurę określoną kolejnymi punktami. Są jeszcze inne tryby np pr_trianglelist, który co każde 3 podane punkty tworzy nowy trójkąt pr_trianglestrip, działa podobnie jak ten wyżej ale tutaj każdy nowy trójkąt wychodzi z poprzedniego tzn podaje się mu 2 punkty bo 3 pobiera z poprzedniego trójkąta takie dziedziczenie jakby. ( cholera trudno tak wytłumaczyć to sorry, musiał byś sam po experymentować z tym by zrozumieć )
  16. GML (create) promien = 128; rozmiarSur = promien*2; kat1 = 90; kat2 = 270; dokladnosc = 4; surf = surface_create( rozmiarSur, rozmiarSur ); surface_set_target( surf ); draw_clear_alpha( 0, 0 ); draw_primitive_begin( pr_trianglefan ); draw_vertex_color( rozmiarSur/2, rozmiarSur/2, c_red, 1 ); for ( i = kat1; i <= kat2; i += dokladnosc ) { draw_vertex_color( rozmiarSur/2 + lengthdir_x( promien, i ), rozmiarSur/2+ lengthdir_y( promien, i ), c_red, 1 ); } draw_primitive_end( ); surface_reset_target(); GML (draw) draw_surface( surf, x, y ); Z draw_surface_ext można było by dodatkowy obrót uzyskać. Edit: Tylko pamiętaj o zwalnianiu pamięci z surfejsa jak nie będziesz go już potrzebować.
  17. GML (draw) promien = 128; kat1 = 90; kat2 = 270; dokladnosc = 8; draw_primitive_begin( pr_trianglefan ); draw_vertex_color( x, y, c_red, 1 ); for ( i = kat1; i <= kat2; i += dokladnosc ) { draw_vertex_color( x + lengthdir_x( promien, i ), y + lengthdir_y( promien, i ), c_red, 1 ); } draw_primitive_end( ); Ale to będzie średnio w ogóle nie optymalne :D.
  18. Podejrzewam że on chce zrobić standardowy Targeting znany z Target MMORPG ( WoW, Cabal, Metin itp )
  19. I am Lord

    Szukam mappera:)

    Rpg Maker ma swój własny język skryptowy jak GM w którym można zupełnie przebudować mechanikę gry.
  20. Tekst tutaj: http://www.tekstowo.pl/piosenka,xperiment,..._of_an_era.html
  21. Kursy GM na yt to jakaś porażka, za dużo złych nawyków wprowadzają. Są robione przez słabo doświadczone osoby.
  22. Jeszcze przeczytaj to: https://gmclan.org/index.php?czytajart=73 Bo pewnie będziesz niedługo o to pytał :D
  23. Typów zmiennych się nie definiuje. GM domyślnie wie co ma użyć. GML zmienna = 0; // real zmienna = ""; // string</span> Dla GMa przynajmniej w wersji 8.1 ( nie wiem jak w Studio ) w warunkach if wszystkie wartości powyżej 0.5 są wartością True a poniżej False. Tzn gdy wpisze się: GML zmienna = 0.6; if ( zmienna ) { /* warunek jest spełniony*/ } zmienna = 0.2; if ( zmienna ) { /* warunek nie jest spełniony*/ } // są jeszcze stałe True i False zmienna = true; if ( zmienna ) { /* warunek jest spełniony*/ } Wszystkie liczby w GM to real ( nie ma inta ) i każdy znak to string nawet pojedynczy.
  24. Skoro taki ten twój klucz orginalny to czemu masz starą wersję GM8? zamiast GM8.1 w której 3D zostało dużo przyspieszone?
  25. Ciekawi mnie co Gonciarz tam robi jak on z Game Devem nie ma nic wspólnego xD Gonciarz tutaj:
×
×
  • Dodaj nową pozycję...