NukeBoards - Kreatywność przede wszystkim
FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  DownloadDownload
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
SUb-Pixel Positioning Pixel Shader
Autor Wiadomość
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 26-02-2018, 19:07   SUb-Pixel Positioning Pixel Shader

Mam prośbę, znalazłem taki temat:
https://community.clickteam.com/threads/44644-Sub-Pixel-Positioning-Pixel-Shader
Potrzebuję zrobić płynny ruch chmur, które lecą sobie jednostajnie w jedną stronę bardzo powoli. Ten efekt zapewnia płynny ruch przy bardzo niskich prędkościach, ale w tym przykładzie jest przypisany do ruchu myszą i w żaden sposób nie mogę tego przerobić. Umiałby ktoś pomóc?
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 26-02-2018, 19:33   

Ale żeby nie umieć z przykładu dwóch akcji przepisać?

https://www.dropbox.com/s...ioning.mfa?dl=1

_________________
:razzugly:
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1731

37283 Prestiż
Wysłany: 26-02-2018, 20:14   

msg napisał/a:
Ale żeby nie umieć z przykładu dwóch akcji przepisać?

https://www.dropbox.com/s...ioning.mfa?dl=1

Obrazek
To nie jest kwestia przepisania, a zrozumienia o co chodzi w przykładzie :P
Dlaczego na końcu drugiej akcji dałeś dzielenie przez 100.0? Nie rozumiem do czego to tu jest.
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 26-02-2018, 20:55   

Dla przesuwania o współrzędną X to szerokość obrazka, a więc obszar, w którym ma działać efekt.
_________________
:razzugly:
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 26-02-2018, 23:07   

No nie wiem, jak dla mnie to to nie wygląda za dobrze. Ułamek sekundy stoi w miejscu, wykonuje przeskok o piksel, znowu ułamek sekundy stoi, znowu robi przeskok... Czy to samo, co w path movement z prędkością 1. Jednak przykład ruchu myszą był znacznie płynniejszy. Czy tylko ja to widzę?
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 26-02-2018, 23:32   

kamiledi15 napisał/a:
Czy tylko ja to widzę?

Tak. Albo masz za duży kontrast na monitorze. Ewentualnie sterownik zdecydował, że nie będzie obsługiwał efektów i patrzysz na coś innego niż ja.

https://youtu.be/7f10brZPgUw Zwolniłem ruch do pełnej sekundy na piksel. Widać jak brzegi płynnie zanikają.

kamiledi15 napisał/a:
Jednak przykład ruchu myszą był znacznie płynniejszy.

Akurat tu wydaje mi się, że winę ponosi łagodna krawędź obiektu, który był użyty w przykładzie. Moja chmurka ma ostrą krawędź bez AA, żeby pokazać, że efekt zachodzi. Może wpływać to na subiektywny odbiór efektu.
_________________
:razzugly:
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 26-02-2018, 23:48   

Cytat:
Zwolniłem ruch do pełnej sekundy na piksel.

A jak to zrobiłeś? Ja mogę wstawić filmik, jak u mnie ten ruch skacze, ale jeśli go spowolniłeś jeszcze bardziej, to może dlatego na twoim wygląda lepiej.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 26-02-2018, 23:49   

kamiledi15 napisał/a:
A jak to zrobiłeś?

Zamiast:
timer / 300.0
Dałem:
timer / 1000.0

Oba wyglądają równie płynnie.
_________________
:razzugly:
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 27-02-2018, 00:08   

W takim razie nie wiem, dlaczego u Ciebie to wygląda zupełnie inaczej. Proszę, to mój filmik:
https://www.youtube.com/watch?v=ZKl3l0g1W0k
Najpierw z timerem/1000, potem na 300, potem pokazuję, jak wygląda przykład z forum Clickteamu. Różnica jest ogromna.
Może mieć jakieś znaczenie, że ja używam darmowej wersji CF? Ogólnie to pracuję w MMFie 2, ale Twój przykład wymusza używanie CF.

[ Dodano: 27-02-2018, 00:15 ]
Dobra, chyba to wina tej darmowej wersji CF, bo przykład z myszą też na niej działa skokowo. Spróbuję przepisać Twój kod do mojej gry w MMF2.

[ Dodano: 27-02-2018, 00:29 ]
Eureka, miałem rację. Wygląda na to, że darmowy CF nie obsługuje tego efektu, ale w MMF2 wszystko działa dobrze. Co prawda rozmywanie brzegów nie wygląda idealnie, bo lewa i prawa krawędź chmury lekko pulsują, ale jest to mało widoczne i znacznie lepsze, niż ruch skokowy. Dzięki wielkie za pomoc.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 27-02-2018, 00:36   

Jak rozmyjesz chmurę gaussem to nawet w ruchu skokowym nie będzie widać przemieszczenia.
_________________
:razzugly:
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 27-02-2018, 00:38   

Chyba takie rozmywanie nie wyglądałoby dobrze przy mojej grafice. Ale spoko, tak już wygląda nieźle. Jak ktoś nie przyłoży nosa do monitora, to nie zauważy.

[ Dodano: 27-02-2018, 02:16 ]
Ok, a mógłbyś mi jeszcze coś podpowiedzieć? Gdy chmura wyjedzie z ekranu, to powinna się teleportować z drugiej strony ekranu i znowu zacząć płynąć. Nie do końca mi to wychodzi. Przede wszystkim, gdy mam np. 4 chmury, to wszystkie zaczynają z pozycji X = 0, więc wszystkie nakładają się na lewy róg ekranu i stamtąd płyną, co wygląda dość głupio. Zmieniłem to w prosty sposób - zmieniając pozycję X na Int(timer/200.0)+500, lub +800 itd, wtedy każda chmura startuje w innym miejscu. Ale, gdy wyjedzie z ekranu i ma się teleportować z krawędzi, to teleportuje się tam, gdzie zaczęła, czyli na środek ekranu. Masz pomysł, jak to zrobić? Pewnie to prosta sprawa, ale nie do końca łapię, jak to działa. Ewentualnie zamiast teleportować chmury, mógłby jej się po prostu odwrócić kierunek ruchu, teoretycznie wpadłem na to, jak to zrobić, bo wystarczy dać minusy przed 200.0, ale jeśli ustawię chmurze punkt startowy na środku ekranu, to po zmianie kierunku teleportuje się, więc to też bez sensu.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


Główny edytor: KNP
Drugi edytor: KNP
Pomógł: 76 razy
Posty: 1411

40075 Prestiż
Wysłany: 27-02-2018, 09:47   

https://www.dropbox.com/s..._multi.mfa?dl=1



to '100.0' w akcji odpowiedzialnej za ustalenie stopnia efektu też można by ustalić na:
OWidth( "Active" )
_________________
:razzugly:
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 27-02-2018, 10:36   

Próbuję przeportować ten kod do MMFa, ale MMFowi nie podoba się ten Owidth. Próbowałem znaleźć, co to jest, czy to może jakiś stworzony przez Ciebie Alterable Value (bo Starting Offset już znalazłem, że tak), ale OWidth chyba nie. Domyślam się, że to szerokość obiektu? MMF2 nie chce tego zaakceptować.

[ Dodano: 27-02-2018, 10:53 ]
Dobra, chyba się udało. Musiałem zmienić ręcznie Owidth na ręczne wpisanie szerokości każdej chmury. Dodatkowo zamiast Frame Width wpisałem ręcznie długość ekranu, bo jeśli ramka ma długość np. 12 tysięcy, no to chmura by się resetowała dopiero po dojechaniu do końca całej ramki, a mi chodzi o krawędź ekranu. Teraz chyba jest ok, dzięki.

[ Dodano: 27-02-2018, 11:02 ]
Jednak coś jest jeszcze nie tak. Kod na Start of Frame jest taki jak u Ciebie, na Always zmieniłem tak, jak napisałem wyżej:
Cytat:
(Int(timer/300.0)+Alterable Value A( Active 85 )) mod (1024+229)-229
Set effect parameter f_XShift to (((timer/300.0) mod 1.0)/100.0)

Alterable Value A to to samo, co u Ciebie Starting Offset. 1024 to szerokość ekranu, 229 to szerokość obiektu. Jeśli zamiast 300 dam np. 100, żeby przetestować i żeby chmura szybko jechała - działa dobrze. Ale jeśli dam 200 lub 300, żeby jechała wolno - to się psuje - chmura stoi w miejscu i się trzęsie. Co robię źle?

[ Dodano: 27-02-2018, 16:56 ]
Teraz jestem w pracy, więc tego nie sprawdzę, ale generalnie chcę, żeby chmury miały odhaczone "Follow the frame". Czyli chodzę sobie po planszy, a chmury są stale wpisane w tło i lecą sobie niezależnie od moich działań. Tak więc teleport chmury powinien następować po wyjechaniu za kamerę, a nie za całą ramkę. Nie miałem czasu sprawdzić, czy moja zmiana na 1024 tutaj wystarczy, bo sprawdzałem to tylko na początku etapu i tam działało dobrze (zanim ruszy się kamera), ale tak jak napisałem, tylko przy wyższych prędkościach, przy niższych chmura się blokuje i nie wiem czemu. Piszę to tylko, żebyś mógł to uwzględnić, gdybyś miał czas sprawdzić, co skopałem.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
jarlfenrir 
Generał brygady


Główny edytor: Fusion 2.5
Drugi edytor: TGF2
Pomógł: 82 razy
Posty: 1731

37283 Prestiż
Wysłany: 27-02-2018, 17:16   

Zamiast odznaczać chmurom follow the frame ja preferuję rozwiązanie z warstwami. Dajesz chmury na warstwę niżej, niż właściwa część gry i dla chmurowej warstwy określasz XCoefficient i YCoeficcient na 0.
 
     
kamiledi15 
Kapitan


Główny edytor: TGF
Drugi edytor: MMF2
Pomógł: 8 razy
Posty: 837

8479 Prestiż
Wysłany: 27-02-2018, 17:19   

No dobra, później spróbuję. Może mi to załatwi problem z trzęsącą się chmurą :D Tylko co wtedy z długością ekranu? Frame Width chyba nie może zostać, skoro to długość całej ramki? Czyli ma zostać, tak jak ja zrobiłem, 1024? Nie jestem teraz pewien, co spowodowało ten efekt trzęsienia - czy to przez zmianę Owidth na ręczne wpisanie długości obiektu, czy przez zmianę Frame Width na 1024 - dałem szybszą prędkość chmury, żeby przetestować, czy się dobrze teleportuje, a potem się dopiero okazało, że na niższej prędkości się psuje.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

PSK Cytaty Klikibaza - kopia wszystkich klików Klikipedia - encyklopedia o tworzeniu gier Discord KlikCzat Zaproszenie
Daj piniondza Wielkie Muzeum Klikowe

Powered by phpBB modified by Przemo © 2003 phpBB Group