Skocz do zawartości

Exigo

Użytkownicy
  • Postów

    1 165
  • Dołączył

  • Ostatnia wizyta

Treść opublikowana przez Exigo

  1. W powyższym przykładzie musisz skonwertować tą wartość current_time (wartość liczbowa) na stringa. W przeciwnym razie nie zadziała.
  2. Exigo

    pytanie o program 3D

    Tzn. chcesz wyłącznie wyrenderować sobie krajobraz? "Bryce", "Terragen", sporo tego.
  3. Tak, to prawda. Gdzieś nawet widziałem zestawienie poruszające tą tematykę, i EP było poza konkurencją. Nie dość że był szybszy, to posiadał szerszy zakres funkcjonalności od większości silników tego typu. Co do samego wypalania, cel prawie osiągnięty - od tego momentu jest to wbudowane do edytora i reaguje z innymi obiektami. Prezentowane światła wypalały się mniej-więcej 8 sec., i wydaje mi się że nie jest to zły wynik. No i jest ten "Bake lights" który sobie obiecałem. ;D Próbuje się też uporać w międzyczasie z wciskaniem fotonów pomiędzy trójkąty. Na obrazku jest to widoczne jeśli ktoś spróbuje się przyjrzeć.
  4. Nie byłem w stanie znaleźć nic takiego związanego z 2d, więc zacząłem implementować własnym sposobem. Efekty były fajne, ale zrobił się problem gdy chciałem zrobić odbicia (kombinowałem z getpixel, ale przy tylu samplach komp mi się zawiesił, więc odpuściłem). Dosłownie moment temu wpadłem na użycie silnika fizycznego i zrobienie fotonów jako ciała. ; D (ok. 8 sec. spawania) To po lewej to skrzynka. Obija się światło od niej, jea. :D Nie wiem czy metoda jest "poprawna", ale w każdym razie powyższy efekt został zrobiony tym kodem: GML if keyboard_check_pressed(ord("B")) { show_message("bake"); w = ep_world_create(); ep_world_set_settings(w, 1, 20, 40, .1, .5, .1, .6, 1); ep_world_set_sleeping(w, true, 30, 0, .01, .001); body = ep_body_create_static(w); shape = ep_shape_create_box(w, body, 32, 32, 128 - 48, 128, 0, 1); ep_shape_set_collision(w, body, shape, 1, 1, 0); repeat (4096) { i = obj_add(def_photon); with (i) { w = main.w; xx = 128; yy = 128; life = 1; body = ep_body_create_dynamic(w, true); shape = ep_shape_create_box(w, body, 1, 1, 0, 0, 0, 1); ep_body_set_position(w, body, xx, yy, 0); ep_shape_set_collision(w, body, shape, 1, 0, 0); //ep_shape_set_material(w, body, shape, 1, .1, 0, 0); len = 1; dir = random(360); ep_body_apply_impulse(w, body, 0, 0, ldx(len, dir), ldy(len, dir), 0, 0, 1, 1); } } surface_set_target(sf_ray); draw_clear(0); draw_set_blend_mode(bm_add); repeat (128) { ep_world_update_contacts(w); ep_world_simulate_step(w); with (def_photon){ //ep_body_apply_impulse(w, body, 0, 0, (-1 + random(2)) * 1, (-1 + random(2)) * 1, 0, 0, 1, 1); xx = ep_body_get_x(w, body) + ((-1 + random(2)) * (1 - life)) * 16; yy = ep_body_get_y(w, body) + ((-1 + random(2)) * (1 - life)) * 16; draw_set_alpha(life * .025)// + (-1 + random(2)) * .0125); draw_point(xx, yy); life -= .0078125; } } draw_set_alpha(1); draw_set_blend_mode(bm_normal); surface_reset_target(); ep_world_destroy(w); } texture_set_interpolation(false); draw_surface_ext(sf_ray, 0, 0, 2, 2, 0, c_white, 1); texture_set_interpolation(true); Tymczasem będę dalej próbował uzyskiwać coraz lepsze efekty mniejszym kosztem. Jak ktoś ma pomysły, pisać. Szczególnie te związane z optymalizacją.
  5. Właśnie dokładnie o tym napisałem w tytułowym poście. Interesuje mnie metoda wyłącznie wypalania, nie technika rysowania wypalonych świateł w grze, bo to już mam od dawna napisane. Ale i tak dzięki. :) @Edit: Prawie idealny gif znaleziony na jakimś blogu pokazujący o co mi biega (wyobraźcie sobie lepszą jakość i jednorazowe wypalanie tego w edytorze z wielkim buttonem "bake lights" z paskiem postępu. :D): Szkoda że autor nie pokazał źródeł/metody. @Edit (18:02): Napisałem sobie prostą implementację, operując różnymi wartościami, wychodzą fajne rzeczy (2k fotonów, 3 sec. renderingu): Source
  6. Piszę toola (edytor map 2d, non-grid) do swoich projektów, i jestem na etapie wprowadzania funkcji wypalania lightmap. Początkowo myślałem o zwykłym scencilu z penumbrą (na community roi się od rozszerzeń tego typu), ale wypalanie ma się dziać w edytorze, stąd można szaleć z wszelakimi metodami, nawet takimi które nie są osiągalne choć częściowo real-time w gm. Stąd pomyślałem sobie, czemu tego nie renderować metodą oświetlenia globalnego? Pomysł trochę dziwaczny, bo w 2d, stąd mało materiałów jak coś takiego napisać, ale wydaje mi się jak najbardziej sensowny. Jakieś pomysły, wskazówki, być może źródła?
  7. Przychodzą mi do głowy dwa rozwiązania: Pierwsze: bardziej skomplikowane. Narysuj wszystkie cienie skrzynek do surface, po czym narysuj owy surface. Po narysowaniu rysuj skrzynki bez cienia. Tą technikę będziesz mógł potem rozwinąć (np. blurując shaderem utworzony cień). Drugie: prościej się nie da. Najpierw rysujesz wszystkie cienie skrzynek, potem wszystkie skrzynki. Zrób jakiś pojedynczy obiekt, nazywając go np. "obj_rysowanie_skrzynek", i daj mu do draw event mniej-więcej taki kod: GML with (skrzynka) { rysuj cień skrzynki } with (skrzynka) { rysuj skrzynke } Ze skrzynek natomiast usuń rysowanie (cienie i skrzynki). Wada: cienie skrzynek nakładają się na siebie. Pierwsze rozwiązanie, to trudniejsze, rozwiązuje problem.
  8. Otóż błędnie. Jeśli deklarujesz zmienną w skrypcie (używając var), taka zmienna jest niepowtarzalna i nie wykracza po za skrypt. Ma to się też w drugą stronę. Po za skryptem po prostu nie istnieje. Takie jest przeznaczenie var-a.
  9. Ja mam do was pytanie: skąd się wzięła ostatnio moda na dodawanie tych podkreślników przed zmiennymi? Przecież i tak nie wykraczają (zmienne) po za skrypt (zakładając że został użyty var), stąd nie rozumiem jaki w tym cel. Przecież to wygląda masakrycznie.
  10. Nie występuje to w każdym przypadku. Lepsze klawiatury pozwalają na używanie nie trzech, a nieograniczonej ilości przycisków jednocześnie. Takie pod USB. Stąd też nie powinno się całkowicie skreślać możliwości grania na takim secie.
  11. Ten limit instrukcji nie jest aż tak ogromnym ograniczeniem. Wszystko da się zrobić. Na przykład coś w stylu Post Process Chain-a. Po prostu zrobić surface z dodatkowym buforem, renderować scenę do jednego, odpalać shader i rysować nim do drugiego buforu, potem z buforu do sceny przełączając na inny shader do pierwszego, i tak dalej, analogicznie kontynuując. Ba, nawet jedną z plusów tej metody jest możliwość zmiany tego chain-a w locie (wyłączać/włączać wybrane efekty). Normalnie to trzeba by było kompilować tego ubershadera za każdym razem od nowa.
  12. To może jakbyś zrobił coś w stylu nextgenowego ubershadera, wiesz, taki pipeline, wliczając w to powyższe blury (dwuwymiarowy + radial, w zależności od inputa poruszania kamery, zoom in/out), tone mapping, vignette, bloomy/hdr-y, noise-y, flary anamorficzne plus tego typu wkurzające migawki, aberrację chromatyczną, i na sam koniec wyostrzanie krawędzi - gdzie w każdym z wymienionych przypadków można sobie włączać/wyłączać to flagami (choć nie wiem czy są obsługiwane przez studio, jeśli nie, sprostujcie mnie proszę). Gdzieś nawet czytałem o jakimś eksperymentalnym AO 2d, i efekt tego był całkiem fajny. Jeśli przy włączonych wszystkich powyższych efektach wyglądało by to mniej więcej tak: To znaczy że idzie to w dobrym kierunku. :)
  13. Skoro stoisz przy wodzie, to teraz napisz dynamikę płynów. :)
  14. Exigo

    Solstice

    To dwukrotne skalowanie jest jakimś specjalnym zabiegiem?
  15. Exigo

    Unformat

    Siema, zrobiłem po pijaku* szybki format dysku nie tego co chciałem. Nie jest tak źle, bo "szybki" - powtarzam. Z tego co wiem da się z tego odzyskać nawet drzewo katalogów. Tak więc naściągałem masę softu, ale w każdym przypadku chcą żebym udostępnił jakąś partycję (inną) w którą odzyskiwane dane miały by się zapisywać. Problem w tym że ten sformatowany dysk jest największy jaki mam (640GB), posiada jedną, w całości wypchaną danymi partycję, i nie mogę czegoś takiego zrobić. Stąd pytanie: czy jest jakaś droga pozwalająca odzyskać dane ograniczając się tylko do tego dysku? *(składaliśmy z kumplami kompa na lanie, i podłączyłem swój dysk żeby zgrać oprogramowanie "must have" świeżo po instalacji Windowsa, które owo posiadałem, no i jakoś tak wyszło). @Edit: NTFS
  16. Do tego typu rzeczy podepnij sobie silnik fizyczny (np. extremephysics). Będzie to najprostsze rozwiązanie (mało pracy - super efekty). Zlikwiduje to też twoje przyszłe problemy o których jeszcze nawet nie wiesz. I nie jest to wcale takie trudne. Raptem parę funkcji.
  17. Taka próba napisania czegoś w Horde3D. Zabawa z shaderami, fake subsurface scattering i troche post processingu. Tylko kurcze sam silnik jest olany przez deweloperów od dwóch lat. A szkoda, bo jest naprawdę fajny (pomijając parę znośnych rzeczy). Tu jest exe. W logu mogą być krzyki bo wywaliłem z połowę resów. https://gmclan.org/up3290_3_jakisefekt_horde.html
  18. Exigo

    Kącik demoscenowy

    Oo, w Łodzi. Nie aż tak daleko, dobrze wiedzieć. Widzę demoscena w Polsce jest całkiem aktywna. Tylko czemu nie można nigdzie znaleźć informacji o imprezach? Nie ma jakiegoś serwisu-medium? Wszystko jest jakieś takie rozproszone.
  19. Exigo

    Kącik demoscenowy

    Zbliżają się jakieś demoscenowe eventy? Oczywiście lokalnie, wiecie, "tu".
  20. Ostatnio pogrywam sobie w Mirrors Edge. Jak się okazało (czego w ogóle wcześniej nie wiedziałem), muzyka została wykonana przez M. Birgerssona, gościa odpowiedzialnego m. in. za Solar Fields, jednego z moich ulubionych ambientowych grajków. <Link do playlisty z OSTa gry>
  21. Exigo

    Fajne mieczyki

    "Ostrze mrozu jest głodne."
  22. Exigo

    Szable

    Boad, w sieci jest wiele stron bractw rycerskich, lub tym podobne - grup rekonstrukcyjnych specjalizujących się w swojej epoce/epokach. Zazwyczaj zamieszczają oni tam linki do innych zaprzyjaźnionych grup, oraz - co najważniejsze - sprzedawców i zaopatrzeniowców. Najlepiej skontaktować się z takimi ludźmi, i zwyczajnie zapytać. To nic nie kosztuje. Na stronie bagrit.pl masz spis takich grup. W sumie chyba największy w Polsce. Zaznaczasz epokę i zwraca ci listę, łączenie z adresami i kontaktami. Są tam też cechy kowalskie. Ba, jest tam nawet oddzielny spis rzemieślników.
  23. Exigo

    Szable

    Wpadł mi do głowy szalony pomysł. Zapytaj się sprzedawcy. Od tych tańszych egzemplarzy leci tandetą. Głownie wyglądają jak wycięte z blachy, ozdoby pewnie z plastiku. Jedyną rozsądną opcją wydaje się ta za ponad 700 zł. Poza tym jest wyraźnie napisane w jej opisie że może być przeznaczona do pełnometrażowych rekonstrukcji, wliczając w to napieprzanie o zbroję i tym podobne. O arbuzie już nie wspomnę. Wybór jest prosty. Po za tym proponuje poszukać jakiegoś normalnego sklepu od rekonstrukcji który się w tym specjalizuje, a nie "Z nami urządzisz i udekorujesz swój dom" <haha>. Płacąc tyle samo powinieneś otrzymać coś zdecydowanie lepszego jakościowo.
  24. Exigo

    Virgilith

    Zastanów się nad jakimiś ciekawszymi placeholderami, zripowanymi z jakiejś innej karcianki przykładowo, a do planet możesz użyć np. <tego>. Wtedy od razu będzie wiadomo do czego gra zmierza, a wizja będzie zawarta w samych screenach, bez konieczności czytania opisu gry/mechaniki. Po za tym będzie to zdecydowanie bardziej atrakcyjne dla oka. No i w taki sposób na pewno znajdziesz jakiegoś grafika. Tylko że chyba pomyliłeś fora, spróbuj na jakimś deviantarcie czy innym serwisie podobnego pokroju, jest tam sporo niebanalnych ludzi do takiej roboty, grunt to zagadać bo sami się nie zgłoszą. Pamiętaj, placeholdery, a nie kółka i prostokąty. Po za tym trzymam kciuki.
×
×
  • Dodaj nową pozycję...