Samouczki dla średnio zaawansowanych

Tworzenie erupcji wulkanicznych za pomocą VFX

*Ta zawartość została przetłumaczona przy użyciu narzędzi AI (w wersji beta) i może zawierać błędy. Aby wyświetlić tę stronę w języku angielskim, kliknij tutaj.

Wulkan to krater w skorupie ziemskiej, który wyrzuca lawę i dym w wyniku wewnętrznego ciśnienia z magmy i rozpuszczonych gazów. Doświadczenia często obejmują wulkany w trudnych obszarach rozgrywki, takich jak lokalizacje, w których gracze muszą zrównoważyć niebezpieczeństwo lawy i niebezpiecznego stopionego skałami z nagrodą w postaci cennych zasobów, areny walk z bossami lub środowiska, które dynamicznie zmieniają się w czasie cyklicznych erupcji wulkanu.

Korzystając z pliku Volcano Island - Start .rbxl jako miejsca początkowego i Volcano Island - Complete jako odniesienia, ten samouczek pokazuje, jak przekształcić środowisko w erupcję wulkaniczną z niestandardowym oświetleniem i obiektami VFX, które reprezentują prawdziwe, fizyczne zachowanie, w tym wskazówki dotyczące:

  • Rozbicia materiałów referencyjnych na poszczególne komponenty o wyraźnych cechach wizualnych i behawioralnych.
  • Konfigurowania fal powierzchniowych, aby naśladować gorącą ciecz wznoszącą się na powierzchnię i zakłócającą powierzchnię kaldery.
  • Konfigurowania iskier, aby naśladować kawałki stopionej skały szybko chłodzące się w miarę wznoszenia się w atmosferę.
  • Konfigurowania lawy, która pryska i płynie z kaldery, aby naśladować różne stany lepkości lawy.
  • Konfigurowania kłębu dymu, aby naśladować ostre zanieczyszczenia wznoszące się w niebo, które zwracają uwagę graczy.
Początkowy teren wulkanu, którego możesz użyć w tym samouczku.
Volcano Island - Start
Zakończony wulkan z obiektami VFX, które stworzysz do końca tego samouczka.
Volcano Island - Complete

Rozbicie odniesienia

Aby stworzyć wiarygodne wulkany, ważne jest, aby w procesie projektowania odnosić się do rzeczywistych erupcji wulkanicznych, ponieważ pozwala to na rozbicie tematu na poszczególne komponenty o wyraźnych cechach wizualnych i behawioralnych. Na przykład, próbka doświadczenia Volcano Island - Complete odnosi się do erupcji wulkanu na Islandii, aby poinformować o wszystkich decyzjach projektowych dotyczących tekstur i VFX związanych z kalderą i jej otaczającym terenem.

Widok z daleka na erupcję wulkanu na Islandii.

Przydatne jest rozbicie wulkanu w trakcie erupcji na indywidualne komponenty, aby móc zaplanować, jak wykorzystać różne obiekty VFX, aby naśladować ich rzeczywiste odpowiedniki. W tym samouczku wulkan próbki jest rozbity na pięć unikalnych komponentów:

  • Fale powierzchniowe – Małe fale lawy na powierzchni kaldery.
  • Iskry – Małe, jasne kawałki stopionej skały, które wznoszą się w niebo z kaldery.
  • Przerywania lawy – Cienka stopiona skała, która wybucha z kaldery w wyniku wewnętrznego ciśnienia wulkanu.
  • Płynąca lawa – Lepka stopiona skała, która spływa z kaldery.
  • Kłęby dymu – Ciepły, bujający gaz, który wznosi się w niebo z kaldery.
Referencja erupcji wulkanu z wyróżnionymi wszystkimi pięcioma komponentami.
Próbka erupcji wulkanu z tymi samymi pięcioma komponentami wyróżnionymi w celu porównania obrazu referencyjnego z ostatecznym wynikiem.

Następne sekcje zawierają szczegółową analizę różnych decyzji projektowych i technik, które możesz wykorzystać do odtworzenia każdego z tych komponentów. Przeglądając te decyzje i eksperymentując z różnymi właściwościami oświetlenia, ParticleEmitter i Beam, nauczysz się, jak wykorzystać oświetlenie i VFX do spełnienia unikalnych wymagań środowiskowych dla własnych doświadczeń.

Konfiguracja oświetlenia

Aby uczynić element środowiskowy punktem zainteresowania w swoim doświadczeniu, ważne jest, aby zwiększyć jego kontrast w stosunku do całego środowiska, aby wyróżniał się jako coś, co gracze powinni zbadać. Na przykład, aby przyciągnąć graczy do kaldery, możesz skonfigurować swoje źródła światła tak, aby lawa wulkanu wydawała się świecić jako jedyne źródło światła w innej ciemnej okolicy.

Studio zapewnia dwa rodzaje ogólnych źródeł światła, które możesz wykorzystać do tej techniki:

  • Globalne oświetlenie - Produkuje światło dla całego otwartego środowiska.
  • Lokalne oświetlenie - Produkuje światło wokół miejsc, w których je umieszczasz w swoim doświadczeniu.

Ta sekcja samouczka nauczy cię, jak wykorzystać obie te rodzaje źródeł światła, aby uczynić erupcję wulkaniczną najważniejszym punktem zainteresowania w twojej scenie, a także stworzyć dramatyczny efekt dla opowiadania twojego środowiska. Aby zobrazować, przemyśl, jak ten sam ostateczny wulkan bez niestandardowego oświetlenia wydaje się być nieinwazyjnym zagrożeniem w innym radosnym środowisku, podczas gdy wulkan z niestandardowym oświetleniem wydaje się być niebezpieczną obecnością w ciemnym, melancholijnym otoczeniu.

Zakończona wersja próbki erupcji wulkanu z domyślnymi źródłami światła.
Z domyślnymi źródłami światła
Zakończona wersja próbki erupcji wulkanu z niestandardowymi źródłami światła.
Z niestandardowymi źródłami światła

Lokalna iluminacja

Lokalne oświetlenie to luminescencja z lokalnych źródeł światła w twoim doświadczeniu, takich jak obiekty SpotLight, SurfaceLight i PointLight. Lokalne oświetlenie jest ważne dla wulkanu, ponieważ choć możesz zastosować jasność do swoich tekstur ParticleEmitter i Beam, nie mogą one wypełnić kanionu wystarczającą ilością światła, aby realistycznie symulować to, jak kaldera i płynąca lawa oświetliłyby środowisko w rzeczywistości.

Zakończona wersja próbki erupcji wulkanu bez lokalnego oświetlenia.
Bez lokalnego oświetlenia
Zakończona wersja próbki erupcji wulkanu z lokalnym oświetleniem.
Z lokalnym oświetleniem

Pomocne jest skonfigurowanie lokalnego oświetlenia przed globalnym w tym samouczku, ponieważ bez lokalnych źródeł światła nie możesz zobaczyć przestrzeni 3D, aby skonfigurować swoje obiekty VFX. Jednak wspólne przepływy pracy wymagają, aby jednocześnie iterować na obu źródłach oświetlenia lokalnego i globalnego, aby zobaczyć efekty swoich zmian na obiektach VFX, dlatego ważne jest, aby być elastycznym w wymaganiach projektowych własnych doświadczeń.

Aby odtworzyć lokalne oświetlenie wulkanu w pliku próbki Volcano Island - Complete:

  1. W oknie Eksploratora utwórz Folder w Workspace, aby pomieścić wszystkie obiekty źródeł światła lokalnego, następnie zmień nazwę folderu na LocalLighting.

  2. Wstaw trzy części bloku do folderu LocalLighting, a następnie zmień ich nazwy na LightCaldera, LightMagma i LightOutflow.

  3. Przenieś części w miejsce, gdzie mogą oświetlić całość wulkanu.

    • Przenieś LightCaldera do centrum przestrzeni między kalderą a klifem.
    • Przenieś LightMagma do centrum szczeliny między kalderą a odpływem magmy.
    • Przenieś LightOutflow nieco powyżej, gdzie odpływ dzieli się na dwie strumienie.
    Widok z przodu wulkanu z trzema częściami bloku rozmieszczonymi w dolinie wulkanu.
  4. Wstaw PointLight do każdej części.

    Widok z przodu wulkanu z trzema częściami bloku z wizualizacjami punktowego źródła światła.
  5. Wybierz dziecko PointLight od LightCaldera, a następnie w oknie Właściwości,

    • Ustaw Jasność na 15, aby uczynić źródło światła znacznie jaśniejszym.
    • Ustaw Kolor na 255, 85, 0, aby zabarwić światło na ciemnopomarańczowy odcień.
    • Ustaw Zasięg na 60, aby oświetlić cały obszar kaldery.
    Widok z przodu wulkanu z trzema częściami bloku. Część bloku najbliżej kaldery emituje pomarańczowe światło.
  6. Wybierz dzieci PointLight od LightMagma i LightOutflow, a następnie w oknie Właściwości,

    • Ustaw Jasność na 2, aby uczynić źródło światła nieco jaśniejszym.
    • Ustaw Kolor na 255, 81, 0, aby zabarwić światło na pomarańczowy odcień.
    • Ustaw Zasięg na 50, aby oświetlić obszary szczeliny i odpływu.
    Widok z przodu wulkanu z trzema częściami bloku, które wszystkie emitują pomarańczowe światło.
  7. W oknie Eksploratora wybierz wszystkie części bloku w folderze LocalLighting, a następnie w oknie Właściwości ustaw Przezroczystość na 1, aby uczynić bloki niewidocznymi.

    Widok z przodu wulkanu, który ma pomarańczowe oświetlenie w całej dolinie wulkanu.

Globalne oświetlenie

Globalne oświetlenie to luminescencja z słońca lub księżyca w doświadczeniu. Dostosowując kilka kluczowych domyślnych właściwości w serwisie Lighting i jego efekty post-processingu, możesz dramatycznie zmienić, jak globalne światło wygląda dla graczy, a także jak wchodzi w interakcję z dowolnym innym obiektem, który umieszczasz w doświadczeniu, w tym teksturami ParticleEmitter i Beam.

Na przykład, aby upewnić się, że tekstury Beam, które produkują efekt płynącej lawy później w samouczku, mogą świecić, musisz skonfigurować właściwości BloomEffect, aby przesadzić oświetlenie jak w aparacie widzącym jasne światło. Podobnie, aby symulować bardziej realistyczne kolory w nocy, musisz również dostosować właściwości efektu, aby odkoloryzować ogólne środowisko.

Zakończona wersja próbki erupcji wulkanu bez bloom.
Bez bloom
Zakończona wersja próbki erupcji wulkanu z bloom.
Z bloom

Aby odtworzyć globalne oświetlenie w pliku próbki Volcano Island - Complete:

  1. W oknie Eksploratora wybierz serwis Lighting, a następnie w oknie Właściwości,

    • Ustaw Ambient na 133, 152, 176, aby ustawić lekki szary odcień nad całym otwartym środowiskiem.
    • Ustaw Jasność na 2, aby uczynić globalne źródło światła nieco ciemniejszym.
    • Ustaw ColorShift_Top na 207, 178, 72, aby ustawić żółty odcień światła, który odbija się od powierzchni zwróconych w stronę globalnego źródła światła.
    • Ustaw LightingStyle na Realistic, aby wykorzystać najbardziej zaawansowaną technologię oświetleniową Roblox.
    • Ustaw ClockTime na 4.3, aby ustawić czas około kwadrans po czwartej rano.
    • Ustaw GeographicLatitude na 199, aby zmodyfikować położenie księżyca.
    • Ustaw ExposureCompensation na -1, aby naświetlić środowisko do połowy naświetlenia z księżyca.
    Widok z przodu wulkanu z przyciemnionym oświetleniem zewnętrznym.
  2. W oknie Eksploratora wybierz dziecko Bloom serwisu Lighting, a następnie w oknie Właściwości,

    • Ustaw Intensywność na 0.75, aby nieco przyciemnić wszystkie kolory w środowisku.
    • Ustaw Rozmiar na 80, aby stworzyć szerszy efekt bloom.
    • Ustaw Próg na 0.85, aby umożliwić większej liczbie kolorów w środowisku świecić.
    Widok z przodu wulkanu z przyciemnionym oświetleniem zewnętrznym i lokalnym, które świeci na pomarańczowo.
  3. W oknie Eksploratora wstaw obiekt ColorCorrection do serwisu Lighting, a następnie w oknie Właściwości,

    • Ustaw Jasność na 0.017, aby nieco przesunąć kolor swoich pikseli.
    • Ustaw Kontrast na 0.25, aby stworzyć ostrzejszy kontrast między jasnymi i ciemnymi kolorami w środowisku.
    • Ustaw Nasycenie na -0.15, aby odkolorować kolory w środowisku.
    • Ustaw TintColor na 255, 214, 143, aby zabarwić piksele na jasny żółty odcień.
    Widok z przodu wulkanu z całkowicie czarnym oświetleniem zewnętrznym i lokalnym, które świeci na pomarańczowo.
  4. (Opcjonalnie) Zapewnij pośrednie światło z chmur na niebie.

    • W oknie Eksploratora wstaw obiekt Clouds do serwisu Terrain.
    • Wybierz obiekt Clouds, a następnie w oknie Właściwości,
      • Ustaw Cover na 1, aby zapewnić pełne zakrycie chmur na niebie.
      • Ustaw Gęstość na 0.08, aby uczynić pokrycie chmur mniej gęstym.
      • Ustaw Kolor na 136, 143, 152, aby ustawić jasnoszary odcień pokrycia chmur.
    Widok z przodu wulkanu z całkowicie czarnym oświetleniem zewnętrznym, szarymi chmurami i lokalnym oświetleniem, które świeci na pomarańczowo.

Skonfiguruj wulkan

Teraz, gdy konfiguracja oświetlenia lokalnego i globalnego jest zakończona, czas skonfigurować wszystkie obiekty VFX związane z samym wulkanem i jego otaczającym terenem. Podążając za tymi instrukcjami, które dokładnie odtworzą ostateczne środowisko w pliku próbki Volcano Island .rbxl, zwróć uwagę na to, jak każdy krok współpracuje, aby dodać charakter, ruch i iluminację do środowiska.

Fale powierzchniowe

Fale powierzchniowe to małe fale lawy, które płyną po powierzchni kaldery w wyniku wewnętrznej magmy i sprężonych gazów wznoszących się z pod skorupy ziemskiej. Zjawisko wizualne to ilustruje rzeczywisty proces fizyczny konwekcji, czyli ruch w cieczy, gdy cieplejsza ciecz wznosi się na powierzchnię, co amplifikuje realizm twojej sceny.

Fale powierzchniowe dostarczają wartościowych informacji graczom o stanie erupcji wulkanu. Na przykład, jeśli magma i gaz poruszają się w górę z wystarczającą siłą, aby zakłócić stan lawy na szczycie kaldery i spowodować jej wirowanie, gracze mogą wnioskować, że wulkan aktywnie wybucha wrzącą magmą, więc powinni zachować ostrożność w tym obszarze rozgrywki.

Widok z góry na kalderę bez fal powierzchniowych.
Bez fal powierzchniowych
Z falami powierzchniowymi

Aby wykazać ten proces, próbka używa obiektu ParticleEmitter tuż pod podstawą kaldery, aby emitować płaskie, jasne cząstki, które powoli się rozprężają i kurczą na ciemnym tle. To pozwala cząstkom naśladować zachowanie lawy płynącej w sposób realistyczny i ciągły, w podobny sposób, jak elementy poruszają się w przyrodzie.

Tekstura 2D, która reprezentuje fale powierzchniowe wynikające z wirującej lawy.
Tekstura fal piany = rbxassetid://16811365086

Aby odtworzyć fale powierzchniowe na kalderze w pliku próbki Volcano Island - Complete:

  1. W oknie Eksploratora utwórz Folder w Workspace, aby pomieścić wszystkie obiekty kaldery, a następnie zmień nazwę folderu na Caldera.

  2. Utwórz tło, aby zapewnić wysokokontrastowe tło dla fal powierzchniowych.

    • Wstaw część bloku do folderu Caldera, a następnie zmień jej nazwę na Backdrop.

    • Ustaw pozycję i rozmiar Backdrop, aby lekko przekraczał całą powierzchnię kaldery. Część ta wydaje się świecić z powodu bliskiego sąsiedztwa z lokalnym źródłem światła kaldery.

      Widok z góry na kalderę z wyróżnioną częścią bloku, która świeci na żółto.
  3. Wybierz Backdrop, a następnie w oknie Właściwości,

    • Ustaw Kolor na 0, 0, 0, aby uczynić blok czarnym.

    • Ustaw Materiał na Foil, aby dodać teksturę do tła.

      Widok z góry na kalderę z czarną częścią bloku o szorstkiej teksturze.
  4. Utwórz efekt fali.

    • Zduplikuj Backdrop, zmień nazwę na MagmaRipples, a następnie zmień skalę na lekko mniejszą od powierzchni kaldery.
    • Wybierz MagmaRipples, a następnie w oknie Właściwości ustaw Przezroczystość na 1, aby uczynić blok niewidocznym.
    • Wstaw ParticleEmitter do MagmaRipples, a następnie zmień nazwę emitera na Ripples.
    • Wybierz Ripples, a następnie w oknie Właściwości,
      • Ustaw Tekstura na rbxassetid://16829556885, aby renderować cząstki, które wyglądają jak fale piany.

      • Ustaw Orientacja na VelocityPerpendicular, aby emitować cząstki prostopadle do kierunku ich ruchu.

      • Ustaw Kolor na sekwencję kolorów, w której cząstki są brązowe, stają się jasnoczerwone, a następnie ciemnoczerwone.

        • Ustaw następujące czasy i wartości w całej sekwencji kolorów:
        • Czas = 0, Wartość RGB = 130, 53, 2
        • Czas = 0.5, Wartość RGB = 224, 37, 0
        • Czas = 1, Wartość RGB = 147, 5, 0
      • Ustaw Rozmiar na sekwencję liczbową, w której cząstki zwiększają swój rozmiar w kierunku środka swojego życia, a następnie wracają do swojego oryginalnego rozmiaru z małym zakresem wariacji.

        • Ustaw następujące czasy i wartości w całej sekwencji liczbowej:
        • Czas = 0, Wartość = 4.81, Envelope = 0.438
        • Czas = 0.341, Wartość = 8.75, Envelope = 0.48
        • Czas = 0.497, Wartość = 9.38, Envelope = 0.5
        • Czas = 0.644, Wartość = 8.75, Envelope = 0.48
        • Czas = 1, Wartość = 4.81, Envelope = 0.438
      • Ustaw Przezroczystość na sekwencję liczbową, w której cząstki zaczynają jako przezroczyste, stają się bardziej nieprzezroczyste w kierunku środka swojego życia, a następnie znowu stają się przezroczyste na końcu swojego życia.

        • Ustaw następujące czasy i wartości w całej sekwencji liczbowej:
        • Czas = 0, Wartość = 1, Envelope = 0
        • Czas = 0.3, Wartość = 0.387, Envelope = 0.0375
        • Czas = 0.5, Wartość = 0.269, Envelope = 0.0812
        • Czas = 0.7, Wartość = 0.381, Envelope = 0.05
        • Czas = 0, Wartość = 1, Envelope = 0
      • Ustaw ZOffset na -2, aby przesunąć teksturę nieco w kierunku kaldery.

      • Ustaw Czas życia na 5, 8, aby losowo ustawić czas życia każdej cząstki między 5 a 8 sekundami.

      • Ustaw Współczynnik na 12, aby emitować 12 cząstek na sekundę.

      • Ustaw Rotacja na -360, 360, aby losowo orientować każdą cząstkę w okrąg.

      • Ustaw Prędkość na 0.01, aby emitować każdą cząstkę jedną dziesiątą studa na sekundę.

      • Ustaw LightEmission na 1, aby znacznie rozjaśnić cząstki.

      • Ustaw LightInfluence na 0, aby zapobiec wpływowi światła otoczenia na kolor cząstek.

      • Ustaw Jasność na 15, aby zwiększyć światło emitowane z emitera.

Iskry

Iskry to małe, jasne kawałki stopionej skały, które wybuchają z kaldery, szybko wydzielając ciepło w miarę wznoszenia się w atmosferę. Podobnie jak fale powierzchniowe, iskry ujawniają, że wewnętrzne ciśnienie pod skorupą ziemską działa w górę, powodując, że gorące elementy przełamują napięcie powierzchniowe lawy, aby uwolnić ciśnienie.

Próbka emuluje ten proces, używając obiektu ParticleEmitter, aby emitować cząstki z rozmyciem ruchu, które jest zapisane w teksturze. W miarę wznoszenia się cząstki i osiągania końca swojego życia, emiter spłaszcza cząstki w stosunku 1:1, aby przekształcić je w okręgi. Technika ta sprawia, że cząstki wydają się poruszać szybko w miarę opuszczania kaldery, a następnie zwalniają, gdy rozpraszają się w niebo.

Tekstura 2D, która reprezentuje iskry wybuchające z kaldery.
Tekstura Iskry = rbxassetid://17581858560

Dodatkowo, w miarę wznoszenia się cząstki zmieniają swój kolor, przezroczystość i rozmiar, aby odzwierciedlić zmieniającą się temperaturę. Na przykład, zaczynają swoje życie jako duże, brązowe cząstki, ale szybko przekształcają się w małe pomarańczowe, a następnie ciemnobordowe cząstki. Ta strategia ma również tę zaletę, że subtelnie odzwierciedla oświetlenie w całym kanionie, zwiększając zanurzenie gracza w środowisku.

Aby odtworzyć świecące iskry z powierzchni kaldery w pliku próbki Volcano Island - Complete:

  1. Wstaw część cylindra do folderu Caldera, a następnie zmień jej nazwę na GlowingEmbers.

  2. Ustaw GlowingEmbers, aby znajdowała się na szczycie fal powierzchniowych, a następnie zmień jej skalę, aż wypełni wnętrze kaldery. Część ta wydaje się świecić z powodu bliskiego sąsiedztwa z lokalnym źródłem światła kaldery.

    Bliski widok z przodu kaldery z cylindryczną częścią, która świeci na żółto.
  3. Wybierz GlowingEmbers, a następnie w oknie Właściwości ustaw Przezroczystość na 1, aby uczynić cylindr niewidocznym.

  4. Wstaw ParticleEmitter do GlowingEmbers, a następnie zmień nazwę emitera na Embers.

  5. Wybierz Embers, a następnie w oknie Właściwości,

    1. Ustaw Tekstura na rbxassetid://17581858560, aby renderować cząstki, które wyglądają jak wydłużone owalnie poziomo i pionowo.
    2. Ustaw Orientacja na VelocityParallel, aby emitować cząstki równolegle do kierunku ich ruchu.
    3. Ustaw Kolor na sekwencję kolorów, w której cząstki są brązowe, stają się pomarańczowe, a następnie ciemnobordowe.
      • Czas = 0, Wartość RGB = 130, 53, 2
      • Czas = 0.5, Wartość RGB = 224, 82, 0
      • Czas = 1, Wartość RGB = 147, 5, 0
    1. Ustaw Rozmiar na sekwencję liczbową, w której cząstki powoli maleją w rozmiarze w miarę upływu życia.
      • Czas = 0, Wartość = 0.313, Envelope = 0.1
      • Czas = 1, Wartość = 0, Envelope = 0
    1. Ustaw Squash na sekwencję liczbową, w której cząstki nieco wydłużają się w środkowej części swojego życia.
      • Czas = 0, Wartość = -3, Envelope = 0
      • Czas = 0.323, Wartość = -0.188, Envelope = 0
      • Czas = 1, Wartość = -0.5, Envelope = 0
    1. Ustaw Przezroczystość na sekwencję liczbową, w której cząstki losowo zmieniają swoją przezroczystość, aby symulować świecenie iskier w miarę wznoszenia się. Rzeczywiste wartości nie są ważne, ważne jest, aby zmieniały się przez całe swoje życie.
    1. Ustaw ZOffset na 1, aby przesunąć teksturę nieco w kierunku kaldery.
    2. Ustaw Czas życia na 1, 5, aby losowo ustawić czas życia każdej cząstki między 1 a 5 sekundami.
    3. Ustaw Prędkość na 5, 8, aby losowo emitować każdą cząstkę między 5 a 8 studami na sekundę.
    4. Ustaw SpreadAngle na 180, 180, aby emitować cząstki w kącie wzdłuż osi X i Z.
    5. Ustaw Przyspieszenie na 0, 10, 0, aby symulować siłę w górę i pociągnąć cząstki ku niebu.
    6. Ustaw Opór na 0.8, aby cząstki traciły prędkość w miarę upływu czasu.
    7. Ustaw LightEmission na 1, aby znacznie rozjaśnić cząstki.
    8. Ustaw LightInfluence na 0, aby zapobiec wpływowi światła otoczenia na kolor cząstek.
    9. Ustaw Jasność na 20, aby zwiększyć światło emitowane z emitera.

Przerywania lawy

Przerywania lawy to wybuchy cienkiej stopionej skały, które wznoszą się w górę z wulkanu w wyniku wewnętrznej magmy i sprężonych gazów stosujących wystarczającą siłę, aby przełamać napięcie powierzchniowe lawy na szczycie kaldery. Ten podstawowy składnik wulkanu jest jednym z najbardziej powszechnych znaków, które wskazują, że wulkan nie jest już uśpiony i rzeczywiście wybucha.

Próbka reprezentuje ten proces za pomocą dwóch obiektów ParticleEmitter, które wykorzystują flipbooki do animowania tekstury każdej cząstki w trakcie ich życia. Pierwszy emiter cząstek emituje cząstki, które wyglądają na gęste, o wysokiej lepkości, które są ciężkie i grube, co powoduje, że się wznoszą i opadają powoli w dół wulkanu. Z drugiej strony, drugi emiter cząstek emituje cząstki, które wyglądają na pajęcze, o niskiej lepkości, które są lekkie i cienkie, co sprawia, że wznoszą się i opadają szybko.

Tekstura 2D, która reprezentuje gęstą teksturę splasha.
Tekstura Gęstej Splaszy = rbxassetid:/17363669906
Tekstura 2D, która reprezentuje pajęczą teksturę splasha.
Tekstura Pajęczej Splaszy = rbxassetid://17363668312

Każdy emiter cząstek animuje swoją teksturę przez 64 klatki, aby naśladować płynne, realistyczne zachowanie fizyczne. Choć mogłbyś użyć tylko jednego emitera cząstek, powtarzalność animacji stałaby się oczywista i zrujnowała by zanurzenie twoich graczy, ponieważ widzieliby dokładnie tę samą animację za każdym razem. Jednak, gdy dwa emitery animują flipbooki z nieco różnymi niestandardowymi właściwościami, znacznie trudniej jest dostrzec powtarzalność.

Próbka zapewnia również obiekt ParticleEmitter, który emituje cząstki, które wyglądają na napowietrzone prysznice, aby reprezentować jeszcze lżejsze pajęcze prysznice. Technika ta wypełnia przestrzeń dynamicznym ruchem i dalej ukrywa powtarzalność animacji flipbooków. Jako dodatkowy bonus, jeśli twoje doświadczenie zawiera również wodospad z Tworzenie wodospadów, możesz ponownie wykorzystać tę samą teksturę dwa razy dla różnych obszarów rozgrywki, oszczędzając pamięć i poprawiając wydajność na starszych urządzeniach mobilnych.

Tekstura 2D, która reprezentuje napowietrzone prysznice.
Tekstura Pajęcza = rbxassetid://17082061238

Aby odtworzyć prysznic lawy z powierzchni kaldery w pliku próbki Volcano Island - Complete:

  1. Wstaw część cylindra do folderu Caldera, a następnie zmień jej nazwę na SplashingLava.

  2. Ustaw SplashingLava w miejscu, gdzie znajduje się na szczycie fal powierzchniowych, a następnie zmień jej skalę, aż pokryje środek kaldery, gdzie chcesz, aby lawa pryskała. Część ta wydaje się świecić z powodu bliskiego sąsiedztwa z lokalnym źródłem światła kaldery.

    Bliski widok z przodu kaldery z cylindryczną częścią, która świeci na żółto.
  3. Wybierz SplashingLava, a następnie w oknie Właściwości ustaw Przezroczystość na 1, aby uczynić cylindr niewidocznym.

  4. Wstaw ParticleEmitter do SplashingLava, a następnie zmień nazwę emitera na WebbySplashes.

  5. Wybierz WebbySplashes, a następnie w oknie Właściwości,

    1. Ustaw Tekstura na rbxassetid://17363668312, aby renderować cząstki, które wyglądają jak pajęcze prysznice.
    2. Ustaw Orientacja na FacingCameraWorldUp, aby emitować cząstki zwrócone w stronę kamery, ale rotujące tylko na pionowej osi świata Y.
    3. Ustaw Kolor na 255, 152, 79, aby zabarwić cząstki na jasnopomarańczowy odcień.
    4. Ustaw Rozmiar na sekwencję liczbową, w której cząstki zwiększają swój rozmiar w ciągu swojego życia z zakresem wariacji.
      • Czas = 0, Wartość = 4.31, Envelope = 0.762
      • Czas = 1, Wartość = 6.2, Envelope = 0.875
    1. Ustaw Squash na sekwencję liczbową, w której cząstki nieco wydłużają się w miarę upływu swojego życia z zakresem wariacji.
      • Czas = 0, Wartość = -0.075, Envelope = 0.263
      • Czas = 1, Wartość = -0.413, Envelope = 0.412
    1. Ustaw ZOffset na 1, aby przesunąć teksturę nieco w kierunku kaldery.
    2. Ustaw Czas życia na 1.5, 2, aby losowo ustawić czas życia każdej cząstki między 1.5 a 2 sekundami.
    3. Ustaw Współczynnik na 0.37, aby emitować cząstkę mniej więcej co 3 sekundy.
    4. Ustaw RotSpeed na -20, 20, aby losowo emitować każdą cząstkę między -20 a 20 stopniami na sekundę.
    5. Ustaw Prędkość na 2, aby emitować każdą cząstkę w odległości 2 studów na sekundę.
    6. Ustaw SpreadAngle na 5, 5, aby emitować cząstki w małym kącie wzdłuż osi X i Z.
    7. Ustaw FlipbookLayout na Grid8x8, aby animować teksturę przez 64 ramki.
    8. Ustaw FlipbookMode na Oneshot, aby zapewnić, że animacja odtwarzana jest tylko raz w czasie swojego życia.
    9. Ustaw Drag na 0.5, aby cząstki traciły prędkość w miarę upływu czasu.
    10. Ustaw LightEmission na 0.1, aby nieco rozjaśnić cząstki.
    11. Ustaw LightInfluence na 0.25, aby znacznie ograniczyć jak bardzo światło otoczenia wpływa na kolor cząstek.
  6. Zduplikuj DenseSplashes, a następnie w oknie Właściwości zmień następujące właściwości, aby zapewnić różnorodność dodatkowym prysznicom lawy.

    1. Ustaw Nazwa na DenseSplashes.
    2. Ustaw Tekstura na rbxassetid://17363669906, aby renderować cząstki, które wyglądają jak gęste prysznice.
    3. Ustaw Rozmiar na sekwencję liczbową, w której cząstki zwiększają swój rozmiar w ciągu swojego życia z zakresem wariacji.
      • Czas = 0, Wartość = 5.75, Envelope = 0.762
      • Czas = 1, Wartość = 7.37, Envelope = 0.875
    1. Ustaw Squash na sekwencję liczbową, w której cząstki nieco wydłużają się w miarę upływu swojego życia z zakresem wariacji.
      • Czas = 0, Wartość = 0, Envelope = 0.225
      • Czas = 1, Wartość = -0.262, Envelope = 0.15
    1. Ustaw Współczynnik na 0.289, aby emitować cząstkę prawie co jedną czwartą sekundy.
  7. Napełnij kalderę dodatkowymi prysznicami.

    1. Wstaw ParticleEmitter do SplashingLava, a następnie zmień nazwę emitera na SplashFill.

    2. Wybierz SplashFill, a następnie w oknie Właściwości,

      1. Ustaw Tekstura na rbxassetid://17082061238, aby renderować cząstki, które wyglądają jak lżejsze pajęcze prysznice.
      2. Ustaw Orientacja na FacingCameraWorldUp, aby emitować cząstki zwrócone w stronę kamery, ale rotujące tylko na pionowej osi świata Y.
      3. Ustaw Kolor na 255, 152, 33, aby zabarwić cząstki na pomarańczowy odcień.
      4. Ustaw Rozmiar na sekwencję liczbową, w której cząstki zwiększają swój rozmiar w ciągu swojego życia z zakresem wariacji.
        • Czas = 0, Wartość = 1.25, Envelope = 0.388
        • Czas = 1, Wartość = 6.38, Envelope = 0.563
      1. Ustaw Przezroczystość na sekwencję liczbową, w której cząstki zaczynają jako przezroczyste, stają się nieprzezroczyste, a następnie znów przezroczyste na końcu swojego życia.
        • Czas = 0, Wartość = 1, Envelope = 0
        • Czas = 0.19, Wartość = 0, Envelope = 0
        • Czas = 0.795, Wartość = 0, Envelope = 0
        • Czas = 1, Wartość = 1, Envelope = 0
      1. Ustaw ZOffset na 1, aby przesunąć teksturę nieco w kierunku kaldery.
      2. Ustaw Czas życia na 1.5, aby ustawić czas życia każdej cząstki na 1.5 sekundy.
      3. Ustaw Współczynnik na 8, aby emitować cząstkę co 8 sekund.
      4. Ustaw Rotacja na 0, 360, aby losowo orientować każdą cząstkę w półkole.
      5. Ustaw RotSpeed na -50, 50, aby losowo emitować każdą cząstkę między -50 a 50 stopniami na sekundę.
      6. Ustaw Prędkość na 12, 20, aby losowo emitować każdą cząstkę między 12 a 20 studiami na sekundę.
      7. Ustaw SpreadAngle na 45, 45, aby emitować cząstki w kącie wzdłuż osi X i Z.
      8. Ustaw Przyspieszenie na 0, -25, 0, aby symulować grawitację i pociągnąć cząstki w dół.
      9. Ustaw Drag na 1, aby cząstki traciły prędkość w miarę upływu czasu.
      10. Ustaw LightEmission na 1, aby znacznie rozjaśnić cząstki.
      11. Ustaw LightInfluence na 0, aby zapobiec wpływowi światła otoczenia na kolor cząstek.
      12. Ustaw Jasność na 8, aby zwiększyć światło emitowane z emitera.

Płynąca lawa

Płynąca lawa to masa lawy, która erupcuje i spływa z kaldery po powierzchni ziemi w trakcie erupcji wulkanu. W miarę chłodzenia się lawy z powodu kontaktu z powietrzem, krystalizuje się i przekształca w stałą skałę, tworząc nową masę lądową.

Aby zasymulować ten proces, próbka nakłada wiele obiektów Beam na siebie z bezszwową teksturą i konfiguracjami właściwości, które naśladują charakterystyki zachowania lawy, chłodzącej się w miarę oddalania od kaldery:

  • Dolna warstwa renderuje płaską teksturę, która przechodzi od ciepłego do chłodnego koloru, aby przekazać, że lawa zaczyna spadać w temperaturze, na przykład jasnoczerwonego do ciemnoczerwonego.
  • Środkowa warstwa renderuje czarną teksturę, która wygląda jak ciemna skorupa z otworami, które ukazują świecącą lawę pod spodem.
  • Górna warstwa renderuje tę samą teksturę, co środkowa warstwa, w wolniejszym tempie, odwróconych łączeniach i przeciwnych konfiguracjach właściwości. To zapewnia, że tekstury nigdy nie mają możliwości w pełni się dopasować podczas renderowania w tym samym kierunku, co pozwoliłoby graczom łatwo wykryć nerealistyczne powtórzenia tekstur.
Dolna warstwa
Środkowa warstwa
Górna warstwa

Nakładanie trzech obiektów Beam tworzy iluzję paralaksy, aby sprawić, że lawa wydaje się mieć głębię i objętość, gdzie lawa płynie z różnymi prędkościami, mimo że jest to tylko trzy obrazy 2D. To pozwala graczom wiedzieć, że jest poczucie wzburzenia w kanionie, zarówno na powierzchni, jak i poniżej powierzchni lawy.

Tekstura 2D, która reprezentuje skorupę na szczycie płynącej lawy.
Tekstura Skorupy = rbxassetid://17023930265

Aby odtworzyć płynącą magmę z kaldery w pliku próbki Volcano Island - Complete:

  1. W oknie Eksploratora utwórz Folder w Workspace, aby pomieścić wszystkie obiekty płynącej magmy, a następnie zmień nazwę folderu na FlowingMagma.

  2. Wstaw część bloku do folderu FlowingMagma, a następnie zmień jej nazwę na MagmaRiverBeam.

  3. Przenieś MagmaRiverBeam lekko pod krawędzią kaldery.

    Widok pod kątem z góry na wulkan z wyróżnioną częścią bloku.
  4. Skonfiguruj łącza dla wszystkich nałożonych belek płynącej magmy z kaldery, które mają renderować ich tekstury.

    1. Wstaw łącze do MagmaRiverBeam, a następnie obróć łącze, aż żółta wizualizacja skieruje się w stronę kaldery.
    2. Wstaw kolejne łącze do MagmaRiverBeam, umieść je w kierunku rozwidlenia w szczelinie, a następnie obróć łącze, aż żółta wizualizacja skieruje się w dół w kierunku ziemi.
    Widok pod kątem z góry na wulkan z wyróżnionymi wizualizacjami dwóch łączy.
  5. Wstaw Beam do MagmaRiverBeam, a następnie zmień nazwę na Magma.

  6. Przypisz łącza części do Magma.

    1. W oknie Eksploratora wybierz Magma.
    2. W oknie Właściwości,
      1. Ustaw Attachment0 na łącze przy krawędzi kaldery.
      2. Ustaw Attachment1 на łącze w rozwidleniu szczeliny. Beam renderuje swoją domyślną teksturę między dwoma łączeniami.
    Widok pod kątem z góry na wulkan z dwoma częściami bloku renderującymi domyślną teksturę belki między łączeniami.
  7. Dostosuj wizualny wygląd belki, aby wyglądała jak płynąca magma.

    1. W oknie Eksploratora upewnij się, że Magma jest nadal wybrane.

    2. W oknie Właściwości,

      1. Ustaw Szerokość0 na 50, aby poszerzyć teksturę z osi, od której zaczyna się renderować.
      2. Ustaw Szerokość1 na 50, aby poszerzyć teksturę w kierunku rozwidlenia szczeliny.
      3. Ustaw CurveSize0 na -50, aby wygiąć teksturę od podłogi rozwidlenia szczeliny.
      4. Ustaw CurveSize1 na 5, aby wygiąć teksturę w rozwidlenie w szczelinie.
      5. Ustaw Kolor na sekwencję kolorów, która zaczyna się jasnoczerwonym i staje się ciemnoczerwonym na całym czasie życia belki, aby symulować chłodzenie magmy.
      • Czas = 0, Wartość RGB = 255, 51, 0
      • Czas = 0.5, Wartość RGB = 211, 39, 0
      • Czas = 1, Wartość RGB = 118, 24, 0
      1. Ustaw Przezroczystość на sekwencję liczbową, która pozwala na zwiększenie intensywności magmy w niższym poziomie.
      • Czas = 0, Wartość = 1
      • Czas = 0.0916, Wartość = 0
      • Czas = 0.867, Wartość = 0
      • Czas = 0.941, Wartość = 0.725
      • Czas = 1, Wartość = 1
      1. Ustaw LightEmission na 1, aby znacznie rozjaśnić belkę.
      2. Ustaw LightInfluence na 0, aby zapobiec wpływowi światła otoczenia na kolor belki.
      3. Ustaw Jasność na 8, aby zwiększyć światło emitowane z belki.
  8. Wstaw kolejną Beam do MagmaRiverBeam, zmień nazwę na Crust1, a następnie przypisz łącza części do Crust1 używając tego samego procesu w kroku 6.

  9. Dostosuj wizualny wygląd belki, aby wyglądała jak skorupa na szczycie magmy.

    1. W oknie Eksploratora upewnij się, że Crust1 jest nadal wybrane.

    2. W oknie Właściwości,

      1. Ustaw Tekstura na rbxassetid://17023930265, aby renderować nową teksturę, która wygląda jak płynąca skorupa.
      2. Ustaw Szerokość0 na 35, aby poszerzyć teksturę z osi, od której zaczyna się renderować.
      3. Ustaw Szerokość1 na 25, aby poszerzyć teksturę w kierunku rozwidlenia szczeliny.
      4. Ustaw VelocitySpeed na 0.01, aby znacznie spowolnić przepływ tekstury.
      5. Ustaw Długość tekstury na 3, aby lekko rozciągnąć długość tekstury.1. Ustaw CurveSize0 na -50, aby zakrzywić teksturę z dala od dna szczeliny.
      6. Ustaw CurveSize1 na 5, aby zakrzywić teksturę w kierunku rozwidlenia w szczelinie.
      7. Ustaw kolor na 83, 83, 83, aby nadać promieniowi szary odcień.
      8. Ustaw Transparency na sekwencję liczb, która pozwoli skorupie być bardziej wyrazistą między punktami mocowania.
      • Time = 0, Value = 1
      • Time = 0.22, Value = 0
      • Time = 0.85, Value = 0
      • Time = 1, Value = 1
      1. Ustaw ZOffset na 1, aby przesunąć teksturę nieco od kaldery.
  10. Duplikuj Crust1, nazwij go Crust2, a następnie w oknie Properties,

    1. Ustaw Attachment0 na mocowanie w rozwidleniu szczeliny.
    2. Ustaw Attachment1 na mocowanie na krawędzi kaldery.
    3. Ustaw Width0 na 25, aby poszerzyć teksturę od osi, z której zaczyna się renderować.
    4. Ustaw Width1 na 35, aby poszerzyć teksturę w miejscu spotkania się z rozwidleniem w szczelinie.
    5. Ustaw TextureSpeed na -0.008, aby znacznie spowolnić przepływ tekstury.
    6. Ustaw TextureLength na 2, aby lekko nie rozciągać długości tekstury.
    7. Ustaw CurveSize0 na -5, aby zakrzywić teksturę z dala od dna szczeliny.
    8. Ustaw CurveSize1 na 50, aby zakrzywić teksturę w kierunku rozwidlenia w szczelinie.
    9. Ustaw ZOffset na 2, aby przesunąć teksturę od innej skorupy.
  11. (Opcjonalnie) Używając tego samego procesu, stwórz więcej promieni w okolicy rozwidlenia w szczelinie, aby odprowadzać magmę. Upewnij się, że dostosujesz właściwości, aby spowolnić tekstury i symulować magmę, która jest ciemniejsza w kolorze w miarę chłodzenia temperatury.

Kłęby dymu

Kłęby dymu z kaldery wydobywają ciepły, sprężony gaz, parę wodną i popioły wulkaniczne do atmosfery. Ta mieszanka emisji wulkanicznych może być widoczna z daleka w rzeczywistości, dlatego projekty wulkanów często uwzględniają duże kłęby dymu jako istotny punkt zainteresowania w przestrzeni 3D.

Zamiast emitować gęsty, piroklastyczny dym, który można zobaczyć natychmiast po eksplozji, przykładzik używa obiektu ParticleEmitter, aby emitować cząstki, które wyglądają jak cienkie opary dymu, które zmieniają kolor w miarę wznoszenia się. Ta technika osiąga dwa cele:

  • Łamie sylwetkę tła krateru, tworząc większe zainteresowanie wizualne wokół erupcji wulkanu.
  • Pozwala dymowi wyglądać na to, że akceptuje światło z otoczenia, a jednocześnie emituje ciemną obecność, jakby dym wypalał zanieczyszczenia w powietrzu, zanim stanie się szary jak nocne niebo.
2D tekstura reprezentująca dym unoszący się z kaldery.
Tekstura Dymu = rbxassetid://16830667309

Aby odtworzyć kłąb dymu z kaldery w próbnym pliku Volcano Island - Complete:

  1. Wstaw element block do folderu Caldera, a następnie nazwij go SmokePlume.

  2. Umieść SmokePlume pod kalderą, a następnie skaluj go do mniej więcej rozmiaru powierzchni kaldery.

    Widok pod kątem z boku wulkanu z zaznaczonym blokiem pod kalderą.
  3. Wstaw ParticleEmitter do SmokePlume, a następnie zmień nazwę emitera na Smoke.

  4. Wybierz Smoke, a następnie w oknie Properties,

    1. Ustaw Texture na rbxassetid://16830673704, aby renderować cząstki, które wyglądają jak gęsty dym.
    2. Ustaw Color na sekwencję kolorów, w której cząstki symulują oświetlenie w otoczeniu od kaldery do nieba, zaczynając od czarnego, przechodząc w jasny brzoskwiniowy, a potem szary.
    • Time = 0, RGB Value = 0, 0, 0
    • Time = 0.374, RGB Value = 195, 104, 76
    • Time = 0.469, RGB Value = 225, 121, 86
    • Time = 0.709, RGB Value = 111, 111, 111
    • Time = 1, RGB Value = 113, 113, 113
    1. Ustaw Transparency na sekwencję liczb, w której cząstki zaczynają jako przezroczyste, stają się całkowicie nieprzezroczyste na początku swojego życia, a potem ponownie stają się przezroczyste pod koniec swojego życia.
    • Time = 0, Value = 1
    • Time = 0.0622, Value = 0
    • Time = 0.845, Value = 0
    • Time = 1, Value = 1
    1. Ustaw ZOffset na -10, aby przesunąć teksturę bliżej szczytu kaldery.
    2. Ustaw Lifetime na 50, 60, aby losowo ustawić czas życia każdej cząstki między 50 a 60 sekund.
    3. Ustaw Rate na 0.3, aby emitować cząstkę co około 3 sekundy.
    4. Ustaw Rotation na -360, 360, aby losowo orientować każdą cząstkę w okręgu.
    5. Ustaw RotSpeed na -5, 5, aby losowo emitować każdą cząstkę między -5 a 5 stopni na sekundę.
    6. Ustaw SpreadAngle na 5, 5, aby emitować cząstki w małym kącie wzdłuż osi X i Z.
    7. Ustaw Acceleration na 0, 7, 0, aby symulować siłę wznoszenia się i pociągnąć cząstki w stronę nieba.
    8. Ustaw Drag na 1, aby cząstki traciły swoją prędkość z wykładniczym spadkiem.
    9. Włącz WindAffectsDrag, aby wiatr w otoczeniu poruszał dymem.
    10. Ustaw LightEmission na 0.1, aby nieco rozjaśnić cząstki.
    11. Ustaw LightInfluence na 0.06, aby znacznie zmniejszyć wpływ światła otoczenia na kolor cząstek.
  5. W Command Bar, wpisz następujący ciąg, aby zwiększyć rozmiar każdej cząstki z 40 do 100 studów w miarę upływu czasu z małym oknem wariacji:


    workspace.Caldera.SmokePlume.Smoke.Size = NumberSequence.new{NumberSequenceKeypoint.new(0,40,5), NumberSequenceKeypoint.new(1,100,15)}
©2026 Roblox Corporation. Nazwa Roblox, logo Roblox oraz hasło „Powering Imagination” należą do naszych zarejestrowanych i niezarejestrowanych znaków towarowych na terenie Stanów Zjednoczonych oraz w innych krajach.