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

Odpowiedz do tematu
Poprzedni temat :: Następny temat
[MMF2] Zmiana koloru postaci
Autor Wiadomość
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 27-06-2017, 18:15   [MMF2] Zmiana koloru postaci

Robię do mojej gry postać, która co chwilę zmienia kolory. W moich komiksach z dzieciństwa wyglądało to tak, że na każdym obrazku miał po prostu inne kolory. Pół głowy było żółte, drugie pół niebieskie, na brzuchu czerwony trójkąt itd. Chciałbym to odtworzyć w grze, ale jak najwierniej. Czyli nie chciałbym, żeby cała postać była w jednym kolorze, który się zmienia, nie chciałbym też dzielić postaci na kawałki, bo wtedy kolory zmieniałyby się zawsze w tych samych miejscach. Chyba widziałem kiedyś możliwość ustawienia na postaci własnego obrazka, ale nie pamiętam, jak. Czyli, najlepiej, gdyby dało się zrobić tak - postać jest przezroczysta i na jej ciele zmienia się losowo obrazek. Narysowałbym takich obrazków trochę z różnymi kolorami i losowo by się one wymieniały, ale ważne jest też, żeby wymieniały się płynnie. Jest takie coś możliwe, czy to raczej nierealne i muszę jednak zrobić to prostszym sposobem? W mojej grze jak pewnie kojarzycie każda kończyna jest osobno, więc ewentualnie mógłbym narysować te obrazki jako ramki animacji postaci osobno na tułów, nogi itd, ale wtedy też musiałyby płynnie przechodzić jedna w drugą, a tego nie umiem bez robienia setek ramek, choć w ostateczności oczywiście mogę tak to zrobić.
No chyba że w MMFie jest po prostu efekt, który pozwala postaci mienić się różnymi losowymi kolorami, to by było najprostsze. Tylko tu pojawia się kolejny problem, bo moja gra jest malowana kredkami, więc te kolory musiałyby jakoś kredki przypominać.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 27-06-2017, 18:40   

W shaderach mam:
Complex-softwares >> Colors >> Settings >> Hue. Zmieni barwę jak w każdym sensownym programie graficznym - w danym nasyceniu i jasności barwy zmieni jej odcień.

Nie wiem skąd go mam, ktoś pewnie podrzucił tu na forum.
_________________
:razzugly:
 
     
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 27-06-2017, 18:42   

Ok, sprawdzę później. Tylko czy on będzie zmieniać jeden kolor na całą postać, czy sprawi, że cała postać będzie się losowo mienić na różne kolory? Bo bardziej o to by mi chodziło.
PS. Postać, o którą chodzi, jest w moim podpisie:

To ten pies, który siedzi i patrzy na Psa Syrenę. Widać, że nie jest cały w jednym kolorze, tylko każdy fragment ciała jest inaczej kolorowany.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
jarlfenrir 
Generał brygady


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


37281 Prestiż
Wysłany: 27-06-2017, 19:24   

Nie sprawdzałem jak działa shader, ale najprawdopodobniej wszystkie kolory zawsze będą przesunięte o tą samą wartość (nie będą losowe). Tzn że jak ustawisz tak, by czerwony przeszedł w zielony, to zielony na tym samym obrazku zawsze przejdzie w niebieski.
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 27-06-2017, 20:07   

kamiledi15 napisał/a:
Tylko czy on będzie zmieniać jeden kolor na całą postać, czy sprawi, że cała postać będzie się losowo mienić na różne kolory?

Nic nie będzie się odbywało LOSOWO, dopóki parametr shadera nie ustawisz na LOSOWY. Jeśli go będziesz płynnie zmieniać to powstanie mniej więcej to:

EDIT:

_________________
:razzugly:
 
     
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 27-06-2017, 23:37   

No ja wiem o tym, tylko chodziło mi o to, żeby kolory zmieniały się nie tylko na losowe kolory, ale też w losowych miejscach. Czyli jak głową jest podzielona na pół dwoma kolorami, to żeby nie było właśnie takiego jednego sztywnego podziału, tylko żeby on też był losowy. Ale muszę przyznać, że na twoim gifie wygląda to naprawdę nieźle i chyba tak zostawię, dzięki. Ewentualnie, czy jest jeszcze możliwość, żeby był płynny fading pomiędzy ramkami animacji? Gdyby tak się dało, to zrobiłbym parę takich schematów, ale podejrzewam że się nie da, więc zostawię chyba twoją wersję.
No i oczywiście oczy nie powinny się zmieniać, ale je najwyżej dam jako osobny obiekt.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 28-06-2017, 09:11   

Zrób jakieś płynne animacje skóry zmieniające miejsce kolorów. Wtedy masz dowoloność kształtu i powierzchni, a potem skorzystaj z tego shadera od msg. Wtedy otrzymasz taki mix zmieniających się kolorów.

Najlepiej jak zrobisz to w ten sposób że zapętlisz pattern głównej animacji, chodzi mi o przepływ tych plam po ciele.
Tylko wtedy, jak będziesz chciał przełączyć animację na inną, plamy mogą przeskoczyć, zależnie w jakiej klatce zakończy się główna animacja.

Ale to już raczej szczegóły.
 
     
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 28-06-2017, 09:43   

No właśnie o to mi chodziło, żeby dało się płynnie przenosić między tymi plamami, ale pewnie nie da się inaczej niż tylko te przejścia robić od razu w animacji. No nic, zrobię ze 3 takie przejścia, nałożę na to filtr od msg i będzie chyba dobrze. Dzięki za pomoc.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 28-06-2017, 18:04   

Klatka animacji jest jedna. O płynności efektu decyduje tylko jego odpowiednie zarządzanie z poziomu edytora zdarzeń. Oczy nie zmieniają tutaj koloru, bo mają bardzo małe nasycenie barwy (są praktycznie szare). Jeśli podkręcisz trochę kolory zwierza i pomalujesz go bardziej pstrokato - zamiana parametru Hue dla całego zwierza spowoduje całkowite przemieszanie kolorów.

W kwestii wielu klatek możemy tu tylko mówić o "klatkach kluczowych", gdzie oryginalna "karnacja" psa będzie różna, np. głowa będzie zupełnie kontrastować barwą to reszty ciała, albo tylko ogon będzie bardzo inny, żeby podkreślić jakąś emocję etc. Ale dalej nakładamy tu efekt Hue ze zmiennym parametrem fHue. O tak: https://youtu.be/tXiHSidTjvI

Co innego, jeśli pojedyncze plamy na psie mają zmieniać się niezależnie od reszty. Wtedy albo dzielisz psa na kawałki albo szukasz innego efektu (jest coś jak "Replace color", ale nie będzie takie łatwe już).
_________________
:razzugly:
 
     
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 28-06-2017, 21:24   

Ok, tylko nie wiem, czy rozumiesz, o co mi chodzi. Spójrz na tą podłużną plamę na boku psa, zmienia kolory, ale jest zawsze w tym samym miejscu. A chciałbym, żeby plamy zmieniały położenie. Dlatego pytałem, czy da się tak zrobić, że zrobię np. 5 klatek animacji z różnym rozmieszczeniem plam i one by płynnie przeskakiwały między sobą? Czyli oprócz tego, że kolory się zmieniają płynnie, to osobno klatki animacji by musiały płynnie przeskakiwać. Jeżeli tak się nie da, to po prostu zrobię te przejścia jako klatki animacji, będzie trochę więcej zajmować, ale niewiele, bo zamiast 5 będzie ich powiedzmy 30.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 29-06-2017, 06:50   

W takim razie zrobiłbym psa wielowarstwowego:
Warstwa 1: kontur psa i jego części statyczne
Warstwa 2 (pod spodem): kolorowe plamy na psie.

Warstwa 2 zawierałaby zestaw obiektów aktywnych z odpowiednio uformowanymi kolorowymi małymi kółkami, które razem formowałyby plamę o odpowiednim kształcie, skupiając się koło siebie. Trochę kodzenia, ale w pełni da się nad tym zapanować na osobnej warstwie. W CFie są ruchy, które dość dobrze imitują przedmioty w polu magnetycznym, sprawdzą się do tego całkiem zacnie.

Jedno jest pewne: zrobienie z tego animacji albo znacznie zwiększy rozmiar i zajętość pamięciową projektu, albo wprowadzi ograniczenia wizualne: mniejsza ilość klatek, czyli mniejsza płynność animacji, ograniczona ilość kombinacji przenikania "łat".

Albo taki półśrodek: kilka "pre-renderowanych" klatek i wykonany prosty morphing. Oczywiście samego efektu w CFie nie ma, trzeba sobie poradzić z manipulowaniem półprzezroczystością między następnymi klatkami, które chcemy wyświetlić. Tu dalej rozsądne jest skorzystanie z dwóch warstw, żeby manipulować tylko na drugiej.
_________________
:razzugly:
 
     
Ishimura 
Chorąży


Główny edytor: Fusion 2.5 Dev
Drugi edytor: MMF2 Dev
Pojedynki: nie
Pomógł: 11 razy
Posty: 299

4531 Prestiż
Wysłany: 29-06-2017, 11:13   

msg, ciekawe czy sposobem z warstwami pies nadal wyglądałby jak wycięty z kartki, bo tak chyba jest tworzona cała gra.

Moim zdaniem, główna animacją powinna mieć zapętlony przepływ plam, a te wywoływane były tak dopasowane, aby jak najmniej był widoczny przeskok plam pomiędzy animacjami.

No i każda pojedyncza plama powinna mieć taki sam kolor w każdej animacji, o ile wtyczka zmienia konkretny kolor niezależnie od granej animacji, tak żeby plamy nagle nie zmieniały barwy.
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 29-06-2017, 13:32   

Ishimura napisał/a:
msg, ciekawe czy sposobem z warstwami pies nadal wyglądałby jak wycięty z kartki, bo tak chyba jest tworzona cała gra.

Jeśli warstwa z konturami zostanie namalowana i zeskanowana, a obiekty zamiast kulek przybiorą kształt alpha-channelowanych maźnięć kredką, to czemu nie.
_________________
:razzugly:
 
     
kamiledi15 
Porucznik


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

8267 Prestiż
Wysłany: 29-06-2017, 18:13   

Nie wiem za bardzo, jak miałbym zmusić te kulki do pozostawania w obrębie ciała psa. Pomysł może niezły, ale przy nagłej zmianie animacji czy szybszych ruchach pewnie byłyby z tym problemy. Zwłaszcza że animacje siłą rzeczy są lekko skokowe, czyli kolejna klatka nie jest przesunięta o 1 piksel, tylko o kilka. więc na pewno po chwili miałbym plamy poza psem (jakkolwiek to brzmi :P ). Chyba zrobię to prostszym sposobem, czyli będzie 5 układów plam, które będą przechodzić płynnie jedna do drugiej. Kolejność zmieniania plam będzie zawsze taka sama, ale myślę, że przy losowych zmianach koloru nikt na to nie zwróci uwagi. Żeby to zrobić losowo, to już musiałbym dowalić zbyt wiele klatek animacji, więc chyba będzie ok. Plamy nie będą ,,jeździły" po psie, tylko będą po prostu się ,,morphować" jedna w drugą. Na szczęście moje animacje są głównie poprzez zmianę kąta, więc stanie/chodzenie/skakanie itd nie będzie zaburzać animacji plam. Jedynie obracanie z lewa na prawo i z powrotem jest u mnie jako klasyczna zmiana animacji i będzie powodować przeskok, ale trudno. No dobra, w weekend to zrobię, dzięki za pomoc.
_________________
Pies Syrena - GRA UKOŃCZONA.
 
 
     
msg 
Pupogłowy
~~~~~~~~~~~


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


39920 Prestiż
Wysłany: 29-06-2017, 18:31   

kamiledi15 napisał/a:
Nie wiem za bardzo, jak miałbym zmusić te kulki do pozostawania w obrębie ciała psa. Pomysł może niezły, ale przy nagłej zmianie animacji czy szybszych ruchach pewnie byłyby z tym problemy.


W moim wyobrażeniu plamy obejmują prostokąt nieco większy od psa, ale są niewidzialne, gdy wyjadą za jego obrys. Na przykład. Wydaje mi się (ale nie znam konkretów), że dałoby się przykryć to inną warstwą.

kamiledi15 napisał/a:
Zwłaszcza że animacje siłą rzeczy są lekko skokowe, czyli kolejna klatka nie jest przesunięta o 1 piksel, tylko o kilka. więc na pewno po chwili miałbym plamy poza psem (jakkolwiek to brzmi ).

Nie, jeśli ruch oprzesz o szybką pętlę. Wtedy detekcja kolizji nawet gdy zastosujesz szybkie ruchy jest sprawdzana z dokładnością do jednego piksela.

Tak czy siak, mój pomysł to chyba trochę za dużo kombinowania tylko po to, żeby zrobić kolory na tęczowym psie.
_________________
:razzugly:
 
     
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