Kwasowa Grota Heroes VIIMight & Magic XDark MessiahHorn of the AbyssHistoria Światów MMSkarbiecCzat
Cmentarz jest opustoszały



Efekty Specjalne

Piąta odsłona serii Heroes of Might and Magic obfituje w różnego rodzaju "fajerwerki". Niewątpliwie cieszą one oczy większości graczy, a spora część miłośników tych "ozdóbek" chciałaby zapewne dowiedzieć się, w jaki sposób tworzyć swoje własne. Jeśli należysz do tych drugich, ten poradnik jest właśnie dla Ciebie!


Jak zwykle, na początku musimy omówić zagadnienie pod kątem teoretycznym.
Wszystkie efekty specjalne zapisywane są w oddzielnych plikach typu Effect, jednak pliki Effect nie regulują ich działania, a jedynie podają odnośniki do pojedynczych instancji (tych instancji są trzy rodzaje, o wszystkich opowiem niżej). Ot, biurokracja.
Do plików Effect natomiast odnośniki są podawane w następujących plikach:
  • BasicSkelAnim (efekty towarzyszące poszczególnym animacjom jednostek czy bohaterów)
  • SpellVisual (efekty zaklęć i umiejętności)
  • AdvMapStaticShared, AdvMapBuildingShared, AdvMapArtifactShared itp. (ozdoby, budynki i inne obiekty mapy przygody, których efekty specjalne są przypisane na stałe)
  • ArenaDesc (domyślne efekty dla menu głównego i ekranów miast)
  • ArenaModObject (efekty budynków w ekranach miast)
  • Rozmaite pomniejsze, sporadycznie używane pliczki.

  • Większość plików typu Effect (oraz ich instancji) znajduje się w folderze Effects, jakby co, więc szukać ich można na intuicję. I tak pewnie raczej będziemy tworzyć nowe efekty jedynie w oparciu o już istniejące, bo w sumie tego, co jest, nie idzie poprawiać, także nie musimy bawić się w szukanie. W razie czego najlepiej zgarnąć jakikolwiek efekt, wrzucić do jednego folderu z np. naszą animacją BasicSkelAnim i podać krótką lokalizację (sposób #2), podobnie zrobić z instancjami i tak dalej.
    Niezbyt zrozumiałe?
    Nic nie szkodzi, wszystko wyjdzie w praniu!

    Przeciętny plik Effect wygląda tak:


    No dobra, tak naprawdę, w większości plików Effect dominują instancje wewnętrzne, a często występują też mieszanki. Trzeba czasem chwili, żeby się w tym chaosie połapać.

    Pliki Effect należą do tych nielicznych, które można "podejrzeć" za pomocą Bazy Danych Gry (lub poprzez opcję Otwórz Zasób):



    Aby "odpalić" efekt, po jego wczytaniu należy kliknąć na główne (robocze) okno Edytora Map. Nawigacja odbywa się za pomocą myszy i strzałek na klawiaturze (kółko myszy może być używane zamiennie z klawiszami PageUp i PageDown). Klawisz G wyłącza siatkę. Jeśli efekt jest zapętlony, będzie się odtwarzał bez przerwy, jeśli nie - kiedy zostanie odtworzony, jedynym sposobem na jego ponowne obejrzenie jest wczytanie pliku jeszcze raz (najwygodniej kliknąć na niego dwukrotnie w Bazie Danych Gry).

    O instancjach


    Jak widać na poprzednich zdjęciach, instancji są trzy rodzaje:
    ParticleInstance - "drobinki" - tego typu instancje stanowią większość efektów. Są to różnorodne chmurki, iskierki, płomienie, magiczne smugi itp. Chyba najbardziej rozbudowane spośród wszystkich instancji; opierają się na zestawach drobnych teksturek, które wykonują pewne określone ruchy. Co ciekawe, niektóre z nich mają formę "sprite'ów", a więc bez względu na to, z której strony je obejrzymy, będą wyglądać tak samo.
    LightInstance - "światła" - nic dodać, nic ująć. Zaznaczam tylko, że wszelkiego rodzaju błyski i błyskotki to pliki ParticleInstance, LightInstance to to, co oświetla okolicę.
    ModelInstance - "modele" - a więc, zgodnie z nazwą, modele pełniące rolę efektów. Najbardziej "materialne", aczkolwiek jeśli pokombinujemy z przezroczystością, to nie jest to takie oczywiste. Od "drobinek" różnią się tym, że posiadają zwarty szkielet dla animacji.

    ParticleInstance


    Tego rodzaju instancje są chyba najatrakcyjniejsze pod względem wizualnym. Przechowywane są w folderze /Effects/_(Effect)/, niektóre w /Effects/_(ParticleInstance)/. Szczegółowy opis po najechaniu na obrazek.

    SrcName - używane tylko przy tworzeniu instancji od zera. Niemodyfikowalne.
    Light - L_NORMAL lub L_LIT, nie zaobserwowałem jednak żadnej różnicy.
    Particle - bardzo ważny parametr, który określa kształt i rodzaj naszej instancji. Jest to odnośnik do odpowiedniego pliku typu Particle, który bezpośrednio podaje link do binarnego pliku efektu. Co istotne, te pliki binarne nierzadko określają odgórnie kolor całej instancji, a więc zmiana koloru tekstur czasem może nie przynosić efektów (tyczy się to zwłaszcza zaklęć). Często występuje w wersji "inline". Tak czy owak, lepiej się w tym nie babrać.
    Position - pozycja w trójwymiarowym układzie współrzędnych (początkiem tego układu jest "cel" efektu, czyli np. jednostka, która ma mieć taki efekt dodany; zazwyczaj wysokość [z] początku układu współrzędnych wynosi 0).
    Rotation - obrót względem osi x, y i z. Lepiej nie przekraczać półobrotu, czyli 0.7. Działanie "w" nieznane.
    Scale - rozmiar efektu. Przy 0 będzie on zupełnie niewidoczny. Domyślnie 1.
    Speed - prędkość, z jaką efekt będzie odtwarzany. Domyślnie 1. Przy 0 efekt będzie nieruchomy lub, co bardziej prawdopodobne, w ogóle się nie odtworzy.
    Offset - opóźnienie, z jakim zostanie odtworzony efekt. 0 jest domyślne, wartość ujemna oznaczać będzie rozpoczęcie "od środka". Zdaje się, że liczony w sekundach.
    EndCycle - czas cyklu. Jeśli wynosi 0, cykl trwa w nieskończoność. Koniecznie trzeba ustawić inną wartość jeśli cykli ma być więcej niż 1, ale ustawienie zbyt krótkiego będzie powodowało przerywanie efektu w trakcie jego odtwarzania się. Jeśli cykl ma być tylko 1, również można ustawić ten parametr, po to by właśnie skrócić czas odtwarzania instancji jeśli trzeba. Również w sekundach.
    CycleCount - liczba cykli. 0 oznacza powtarzanie w nieskończoność.
    Pivot - dość dziwny parametr. Wywołuje on przemieszczanie się instancji w określonym kierunku.
    Textures - zestaw tekstur używanych przez "instancję drobinkową". W niektórych instancjach część tekstur jest domyślnie wykasowana (najczęściej nie mają one nawet swoich własnych drobinek). Można zmieniać na inne (najlepiej podobne tematycznie do oryginału, a przynajmniej z folderu Effect), do woli (ale w granicach rozsądku). Jeśli chcemy je zedytować, musimy to zrobić w specyficzny sposób (o tym niżej). Dodawać nowe można tylko do odgórnie ustalonej przez plik Particle granicy. Zazwyczaj w plikach domyślnie użyte są wszystkie dostępne sloty na tekstury.
    IsCrown - true lub false. Działanie nieznane.
    Static - P_STATIC lub P_DYNAMIC. Działanie nieznane.
    DoesCastShadow - true lub false, decyduje, czy tekstury instancji będą rzucać cień na podłoże (wygląda to brzydko, bo "cień" pojawia się w postaci wielkich czarnych kwadratów). Zazwyczaj false.
    GlueToBone - wartość liczbowa, działanie nieznane.
    GlueToNamedBone - bardzo ważny parametr. Jeśli modyfikowany efekt jest efektem animacji jakiegoś modelu, to wpisanie tutaj nazwy jednej z kości szkieletu tego modelu sprawi, że ruchy danej instancji będą towarzyszyć ruchom tej kości.
    LeaveParticlesWhereStarted - jeśli true to każdy cykl będzie odtworzony od początku do końca w miejscu, w którym się rozpoczął. Jeśli false, to jeśli np. instancja jest przypisana poprzednim parametrem do kości modelu macierzystego, będzie ruszała się cały czas razem z nią. W sumie, dotyczy on głównie współpracy z poprzednim parametrem, gdyż jest ignorowany prze Pivot.
    Priority - wartość liczbowa, działanie nieznane.

    LightInstance


    Te instancje podlegają modyfikacji jedynie w bardzo ograniczonym stopniu. Szczegółowy opis parametrów, jak powyżej, po najechaniu kursorem na załączony obrazek. Świateł, w przeciwieństwie do "drobinek" czy modeli, nie da się "przykleić" do poszczególnych części modelu.

    Light - link do niezbyt modyfikowalnego pliku typu AnimLight, który to określa kolor, sposób (sekwencję, tj. ilość, wielkość i prędkość) światła.
    Position - pozycja w trójwymiarowym układzie współrzędnych (początkiem tego układu jest "cel" efektu, czyli np. jednostka, która ma mieć taki efekt dodany; zazwyczaj wysokość [z] początku układu współrzędnych wynosi 0).
    Rotation - obrót względem osi x, y i z. Lepiej nie przekraczać półobrotu, czyli 0.7. Działanie "w" nieznane.
    Scale - rozmiar efektu. Przy 0 będzie on zupełnie niewidoczny. Domyślnie 1.
    Speed - prędkość, z jaką efekt będzie odtwarzany. Domyślnie 1. Przy 0 efekt będzie nieruchomy lub, co bardziej prawdopodobne, w ogóle się nie odtworzy.
    Offset - opóźnienie, z jakim zostanie odtworzony efekt. 0 jest domyślne, wartość ujemna oznaczać będzie rozpoczęcie "od środka". Zdaje się, że liczony w sekundach.
    EndCycle - czas cyklu. Jeśli wynosi 0, cykl trwa w nieskończoność. Koniecznie trzeba ustawić inną wartość jeśli cykli ma być więcej niż 1, ale ustawienie zbyt krótkiego będzie powodowało przerywanie efektu w trakcie jego odtwarzania się. Jeśli cykl ma być tylko 1, również można ustawić ten parametr, po to by właśnie skrócić czas odtwarzania instancji jeśli trzeba. Również w sekundach.
    CycleCount - liczba cykli. 0 oznacza powtarzanie w nieskończoność.
    GlueToBone - wartość liczbowa, działanie nieznane.

    ModelInstance


    Powoli zbliżamy się do końca teorii - ostatnią instancją jest instancja-model, w pełni modyfikowalna... no, cóż, na tyle, na ile można modyfikować modele. Szczegóły, tak jak wcześniej, po najechaniu kursorem na obrazek.

    Model - dowolny plik Model, który jest odtwarzany jako instancja.
    Anim - plik typu BasicSkelAnim, który będzie odtwarzany w roli animacji instancji (nieobowiązkowy). Nie będzie odtwarzany ani dźwięk, ani efekt tej animacji. Podany wyżej plik Model musi posiadać szkielet. W przeciwnym razie cały plik Effect zostanie zignorowany.
    Position - pozycja w trójwymiarowym układzie współrzędnych (początkiem tego układu jest "cel" efektu, czyli np. jednostka, która ma mieć taki efekt dodany; zazwyczaj wysokość [z] początku układu współrzędnych wynosi 0).
    Rotation - obrót względem osi x, y i z. Lepiej nie przekraczać półobrotu, czyli 0.7. Działanie "w" nieznane.
    Scale - rozmiar efektu. Przy 0 będzie on zupełnie niewidoczny. Domyślnie 1.
    Speed - prędkość, z jaką efekt będzie odtwarzany. Domyślnie 1. Przy 0 efekt będzie nieruchomy lub, co bardziej prawdopodobne, w ogóle się nie odtworzy.
    Offset - opóźnienie, z jakim zostanie odtworzony efekt. 0 jest domyślne, wartość ujemna oznaczać będzie rozpoczęcie "od środka". Zdaje się, że liczony w sekundach.
    EndCycle - czas cyklu. Jeśli wynosi 0, cykl trwa w nieskończoność. Koniecznie trzeba ustawić inną wartość jeśli cykli ma być więcej niż 1, ale ustawienie zbyt krótkiego będzie powodowało przerywanie efektu w trakcie jego odtwarzania się. Jeśli cykl ma być tylko 1, również można ustawić ten parametr, po to by właśnie skrócić czas odtwarzania instancji jeśli trzeba. Również w sekundach.
    CycleCount - liczba cykli. 0 oznacza powtarzanie w nieskończoność.
    GlueToBone - wartość liczbowa, działanie nieznane.
    GlueToNamedBone - ważny parametr, używany przy klejeniu modeli. O tym, jak to się dokładnie robi, napiszę być może szerzej w innym poradniku.

    No, to teoria już za nami. Czas na kilka przykładów praktycznych! :)



    1. Podmieniamy efekt specjalny

    Tutaj jedna z prostych rzeczy. Najlepiej znaleźć plik "nadrzędny" względem efektu i zmienić w nim odpowiednie ścieżki - albo po prostu podmienić pliki. Jest to opcja lepsza od zmieniania plików podrzędnych (a więc plików Effect) o tyle, że owe pliki podrzędne mogą być wykorzystywane gdzie indziej.

    Wyobraźmy sobie, że chcemy zrobić ze Starożytnej Strzały Ognistą Strzałę. Poza różnymi drobnymi poprawkami (dodanie efektu od zdolności Mistrz Ognia, modyfikacja ikony w Księdze Czarów, modyfikacja opisu itp.), trzeba, rzecz jasna, zmienić efekt zaklęcia.

    Starożytna Strzała jest tym zaklęciem, które nie pozwala nadać sobie charakteru "liniowego strzału" - nie wiem, dlaczego, ale jeśli się dowiem, dam znać. Nie będzie nam to jednak w zupełności potrzebne.

    Znajdźmy plik, który opisuje wygląd Starożytnej Strzały. Ponieważ ma ona charakter "pocisku", znajduje się on, jak wszystkie, w folderze /GameMechanics/Shot.
    W podfolderze Spells znajdziemy naszą strzałkę (Magic_Arrow.xdb). Jej plik wygląda mniej więcej tak:


    Nas interesuje sekcja MissileShot.

    Jej zawartość podmieniamy na to, co mamy w analogicznym miejscu w pliku Kuli Ognia, który znajduje się w tym samym folderze pod nazwą FireBall.xdb (ponownie podkreślam, jak dobrze jest znać język angielski choćby w stopniu minimalnym!).

    Rezultat końcowy wygląda następująco:


    Ale to nie wszystko!

    Teraz szukamy pliku typu SpellVisual Starożytnej Strzały, aby zmodyfikować jej efekt trafienia (zmiana tej wartości w pliku pocisku nic nie da). Jak większość tych plików znajduje się w folderze /GameMechanics/Spells/Combat_Spells/, w tym przypadku w podfolderze DestructiveMagic i nosi nazwę Magic_Arrow.(SpellVisual). Odkrywcze, prawda?

    Ten konkretny plik podmieniamy w całości na plik SpellVisual trafienia strzału Sukkubusa (wszystkie efekty "trafień" występują w tej formie). Ów znajduje się w folderze GameMechanics/Spells/Creature_Abilities/Inferno/ i nazywa się ChainShot_End.(SpellVisual). Po prostu wklejamy go do odpowiedniej lokalizacji i zmieniamy nazwę na nazwę podmienianego pliku.

    Zmieniamy przy tym wartość parametru HitDelay na 0, żeby cel otrzymywał obrażenia od razu po dotarciu do niego strzały.

    Te wszystkie lokalizacje mogą Ci się wydać skomplikowane, ale z czasem poukładasz to sobie w głowie!



    UWAGA: MOŻNA podmienić efekt na stworzony przez siebie, ale to już wyższa szkoła jazdy :)

    2. Łączymy efekty specjalne

    Chcemy przerobić Kulę Ognia na zaklęcie Lodu i chcemy w tym celu połączyć efekty Kręgu Zimy i Lodowego Promienia. To też jest dość łatwe zajęcie (jeśli chodzi o podmianę efektu; ogólnie też jest proste, ale tutaj skupimy się na samym efekcie specjalnym, jaki zaklęciu będzie towarzyszył).

    Najpierw wędrujemy do znanego z powyższego punktu pliku pocisku Kuli Ognia i wykasowujemy wszystko, co jest w sekcjach MissileShot i LineShot.

    Potem modyfikujemy parametry w pliku SpellVisual Kuli Ognia, tak żeby dźwięki, czas trwania itp. zgadzały się z analogicznymi parametrami dla Kręgu Zimy (oba pliki znajdują się w znanym Ci folderze /GameMechanics/Spells/Combat_Spells/ i noszą, odpowiednio, nazwy Fireball.(SpellVisual).xdb oraz Frost_Ring.(SpellVisual).xdb). W praktyce jest to równoznaczne z podmianą prawie całego pliku, oprócz tego, co mamy podane w linijce Effect.

    Teraz mamy dwa wyjścia: albo modyfikacji dokonujemy na pliku Kuli Ognia, albo stworzymy nowy plik efektu. W pierwszym przypadku przechodzimy do następnego kroku, w drugim zmieniamy to, co mamy w linijce Effect, na lokalizację nowego pliku. Ze względów praktycznych (o których szerzej napiszę później), najlepiej jest zmienić tylko nazwę efektu FireBall_Hit.xdb na coś innego, np. Zimno.xdb.


    Następnie szukamy plików Effect lodowych zaklęć. Znajdują się w folderze Effects/_(Effect)/Spells i noszą nazwy FrostRing.xdb oraz IceBolt.xdb.

    Jeśli modyfikujemy plik Kuli Ognia (FireBallHit.xdb), to wymazujemy wszystko wewnątrz tagów Instances, Lights i Models.

    Powinno to wyglądać tak, jak na obrazku po prawej.

    Potem wklejamy zawartość odpowiadających tagów z plików FrostRing.xdb oraz IceBolt.xdb.

    Jeśli zaś chcemy mieć nowy plik efektu (w tym przypadku Zimno.xdb), wystarczy wziąć np. efekt Kręgu Zimy, skopiować go, zmienić nazwę na Zimno (bez zmiany rozszerzenia) i dorzucić zawartość pliku Lodowego Promienia.

    UWAGA! Domyślnie tag Lights w pliku Kręgu Zimy jest pojedynczy i zamknięty. Aby go otworzyć, można zastąpić tę linijkę całością tagu Lights z pliku Lodowego Promienia.


    Jako że Lodowy Promień działa nieco szybciej niż Krąg Zimy, można w każdej z jego instancji zwiększyć parametr Offset o około sekundę. Będzie to ładniej wyglądać, aczkolwiek nie jest absolutnie konieczne.

    Nie wspomniałem, dlaczego lepiej jest, aby nowy plik znajdował się w folderze Effects - otóż w plikach Lodowego Promienia i Kręgu Zimy niektóre odnośniki do instancji są odnośnikami względnymi, a więc, chcąc umieścić nasz nowy efekt gdzie indziej, musielibyśmy dopisać odpowiednie ścieżki bezwzględne albo skopiować wszystkie instancje podrzędne do tego samego folderu, co wiąże z sobą ryzyko popełnienia błędu, np. przez pominięcie któregoś z plików, zwłaszcza u nowicjuszy.

    *suchy żart*
    Myślałyście, że się wam upiecze?
    *koniec suchego żartu*

    3. Modyfikujemy tekstury plików ParticleInstance

    Jeśli chcemy zmodyfikować np. kolor instancji "modelu", tzn. ModelInstance, wystarczy poszukać modelu, do którego się ona odnosi i zmodyfikować teksturę owego modelu, ewentualnie zduplikować go i dopiero przemalować.

    Modyfikowanie wyglądu instancji typu Particle natomiast to wyjątkowo upierdliwa sprawa. Zaraz wytłumaczę, dlaczego. Weźmy, przykładowo, efekt Implozji i wymażmy z niego instancje modelowe oraz świetlne, które nie będą nam potrzebne do dalszych rozważań. Nie martwcie się, nie straci wiele na efektowności, za to jest wygodnym obiektem do testów, jako że wszystkie instancje typu ParticleInstance występują wewnątrz jednego pliku efektu:

    Giń, nędzna kreaturo!

    Teraz, możemy na przykład zmodyfikować kolor ognia z niebieskiego na czerwony. W folderze Textures/Effects znajduje się wiele tesktur, także jest w czym wybierać.

    W sekcjach Textures każdej z instancji ParticleInstance w linijkach o treści:
    <Item href="/Textures/Effects/FireSequence/Blue/FireNN.xdb#xpointer(/Texture)"/>
    ...gdzie NN to numer tekstury, zmieniamy nazwę folderu docelowego z Blue na Red (no dobra, w jednej z nich nie ma takich linijek - obserwuj wszystko uważnie!). I w tym, i w tym mamy dokładnie dziesięć plików, dokładnie o tych samych nazwach, więc nie ma problemu z podmianą.

    To samo robimy dla linijek typu:
    <Item href="/Textures/Effects/FireSequence/NoADD/Blue/FireNN.xdb#xpointer(/Texture)"/>


    I co mamy? Noo... mamy zaczerwienioną Implozję!

    Jak chcesz zaoszczędzić na czasie, to włącz Edytor Map, zaznacz tablicę Effect i wybierz z Bazy Danych Gry 0 interesujący Cię plik. Nie zmieniaj go jednak w Edytorze, bo to akurat JEST czasochłonne - po prostu wyłącz edytor i włącz ponownie po każdej ręcznej zmianie i będziesz mieć dzięki temu szybki podgląd zmian. Ewentualnie załaduj jakąś mapę, a następnie ją zamknij (Zasoby -> Zamknij modyfikację)

    No dobra, i co teraz? Może by tak coś więcej? Czemu nie! Spróbujmy podejrzeć, jak wyglądają inne teksturki w folderze /Textures/Effects. Tak, i tutaj pojawia się problem. Tych tekstur w znakomitej większości (zwłaszcza tych neutralnych, typu ogień, błyski czy iskry) nie widać. I co teraz? Można wpisywać ich nazwy na ślepo, ale o modyfikacji nie ma mowy.

    Konia z rzędem temu, kto znajdzie tu teksturę

    Tutaj do akcji wkracza Edytor Map.

    Powiedzmy, że chcemy dać Implozji inny kolor (a być może i typ) błysku przy wybuchu. Możemy spróbować zmienić numerki w linijkach
    drugiej instancji w pliku Implozji.

    Żeby jednak nie męczyć się zanadto, możemy podejrzeć te tekstury wewnątrz Edytora Map!
    Wystarczy zaznaczyć tablicę Texture i wybrać nasze tekstury z Bazy Danych Gry 0:


    Jak widać, to jest tekstura odpowiadająca "głównemu" wybuchowi. Teraz możemy podejrzeć resztę tekstur tego typu (choć niekoniecznie!) i wybrać tę, która nas interesuje, a następnie wpisać odpowiednią ścieżkę zamiast starej.

    My wybierzemy teksturę FlashGlow10.(Texture).xdb, bo jest czerwona i dzięki temu pasuje do nowego ognia :)


    Chcemy się pozbyć pozostałych fioletowych elementów. I tu niespodzianka - te fioletowe "cusie" to w rzeczywistości przezroczyste tekstury, tyle że zabarwione przez plik Particle określający całą mechanikę instancji. Z tym zrobić nic się nie da, choć zawsze można spróbować troszeczkę zabarwić przezroczystą teksturę (kopiujemy ją, żeby nie nadpisać starej, która może być wykorzystywana gdzie indziej!). O modyfikowaniu tekstur efektów w GIMP-ie poniżej.

    Podmieńmy przezroczysty Glow08 na czerwony Glow07.

    Otrzymujemy w rezultacie coś mniej-więcej w kolorze magenta. A co, jeśli nam się nie podoba? Wtedy trzeba będzie to zupełnie zlikwidować, niestety - i tu się właśnie upierdliwość zmiany tekstur ujawnia: nieważne jak byśmy się nie starali i nie modyfikowali, i tak kolor pozostanie taki sam.

    Dym za to zupełnie nam przeszkadza - usuńmy go więc ze wszystkich instancji (ponownie, znajomośc angielskiego: usuwamy po prostu wszystkie ścieżki kończące się plikiem ze "Smoke" w nazwie. Musimy jednak zostawić pusty tag, żeby reszta tekstur prawidłowo się wczytała. Zamiast pustego tagu lepiej jednak podać lokalizację domyślnie przezroczystej tekstury (taka jest np. w Dzikich Hordach):
    <Item href="/Textures/Effects/_Various/_Transparent.(Texture).xdb#xpointer(/Texture)"/>

    Po chwili namysłu decyduję się zrezygnować w ogóle z głównego rozbłysku - i usuwam jego teksturę, a żeby nie zostawiać pustki, nieco zmniejszam parametr Offset trzeciej instancji.

    Ostatni akcent: zmieniamy początkowy rozbłysk z niebieskiego na, zgadnijcie, czerwony! :P
    Określają go tekstury z drugiej instancji, te z FlashGlow w nazwie. Zmieniamy je na FlashGlow10.(Texture).xdb, czyli na to samo, na co zmieniliśmy teksturę wybuchu.

    A co jeśli nie ma tekstury w interesującym nas kolorze?

    Kopiujemy istniejącą teksturę, ale tylko jeśli jest "widoczna", najlepiej do folderu z naszym efektem. Otwieramy, modyfikujemy, a przy eksporcie nie kompresujemy!


    Dlaczego niewidocznych nie można edytować? Dlatego że, i owszem, można by je skopiować z podglądu, ale tła już im nie wytniesz, bo przezroczystości tekstury efektów specjalnych nie obsługują, a więc elementy "przezroczyste" będą paskudnie wyglądać, przy czym elementy przezroczyste wystąpią na 100% przy zmianie koloru na alfę, a z drugiej strony - ręcznie wycięta tekstura też raczej nie zachwyci. Nie wierzysz na słowo? To spróbuj. Jeśli udało Ci się dojść do zadowalających efektów, skontaktuj się z nami. Ciekaw jestem jak to zrobiłeś :)

    W każdym razie, nasza Implozja jest już zmodyfikowana. Teraz pozostaje tylko podmienić światło na pasujące (np. to od czaru Szał, to jest z efektu Berserk) i zmienić kolor instancji modelu (o ile chcemy te elementy przywrócić). Można też zostawić ją taka, jaka jest...

    Giń, giń, giń!

    Tak na wypadek, gdyby komuś się taka Implozja spodobała: Link!
    © 2003-21 Kwasowa Grota. Wszelkie prawa zastrzeżone. Jakiekolwiek kopiowanie, publikowanie lub modyfikowanie tekstów grafiki i innych materiałów chronionych prawem autorskim znajdujących się na stronie bez wyraźnej zgody autorów jest zabronione.
    Komnaty "Heroes V". Redakcja, kontakt