Camera2D w Godot 4 to węzeł kamery przeznaczony do pracy w przestrzeni 2D, umożliwiający śledzenie obiektów, dostosowywanie widoku, a także tworzenie efektów takich jak przybliżanie (zoom) i drżenie ekranu. Jest to podstawowe narzędzie do zarządzania perspektywą w grach 2D, pozwalające na tworzenie dynamicznych scen i angażujących wrażeń wizualnych.
Cechy Camera2D:
- Śledzenie obiektów:
Camera2Dmoże podążać za wybranym obiektem w grze, np. za graczem, zapewniając, że zawsze jest w centrum ekranu. - Dostosowywanie obszaru śledzenia: Możesz ustawić limity, aby ograniczyć obszar, po którym kamera się porusza.
- Efekty zoomu i drżenia ekranu:
Camera2Doferuje efekty powiększenia (zoom) i drżenia, co nadaje dynamikę w odpowiednich momentach w grze, np. podczas eksplozji czy skoków. - Bezproblemowa współpraca z
ParallaxBackground:Camera2Dautomatycznie wpływa naParallaxBackground, tworząc efekt paralaksy bez dodatkowej konfiguracji.
Jak używać Camera2D w Godot 4
1. Dodanie Camera2D do sceny
- W drzewie scen kliknij „Dodaj węzeł”.
- Wyszukaj
Camera2Di dodaj go do swojej sceny. - Ustaw kamerę jako dziecko obiektu, który ma być śledzony (np. gracza), aby kamera automatycznie podążała za nim w grze.
2. Ustawienie Current na aktywną kamerę
Aby Camera2D była aktywna w grze, upewnij się, że opcja Current w inspektorze jest zaznaczona. Możesz również ustawić kamerę jako aktywną w skrypcie:
$Camera2D.current = true
3. Konfiguracja Camera2D
- Zoom:
Zoompozwala na ustawienie przybliżenia widoku. Domyślnie ustawienie wynosi(1, 1). Mniejsze wartości (np.(0.5, 0.5)) zwiększają powiększenie, a większe wartości (np.(2, 2)) zmniejszają.
$Camera2D.zoom = Vector2(1.5, 1.5) # Powiększenie o 50%
- Offset:
Offsetpozwala na przesunięcie kamery względem jej pozycji. Może być przydatne do ustawienia kamery tak, aby gracz znajdował się w określonym punkcie ekranu.
- Limit Left, Right, Top, Bottom:
- Ustawia limity ruchu kamery, co zapobiega wyjściu kamery poza wyznaczony obszar. Przydatne, jeśli chcesz ograniczyć kamerę do obszaru poziomu gry.
$Camera2D.limit_left = 0
$Camera2D.limit_right = 1024
$Camera2D.limit_top = 0
$Camera2D.limit_bottom = 768
- Drag Margin:
Drag Marginokreśla margines, w którym kamera zaczyna podążać za obiektem. Gdy obiekt znajdzie się poza tym marginesem, kamera zacznie się poruszać, co zapewnia płynniejszy efekt śledzenia.
- Smoothing (Wygładzanie):
- Włączenie opcji
Smoothingpowoduje płynniejsze podążanie kamery za obiektem. Możesz dostosowaćSmoothing Speeddo swoich potrzeb.
4. Efekty Camera2D: Zoom i drżenie ekranu
- Efekt Zoomu:
- Możesz dynamicznie zmieniać poziom zoomu kamery, aby uzyskać różne efekty. Na przykład, przybliżenie na chwilę podczas skoku lub oddalenie, aby pokazać większy obszar.
func _on_player_jump():
$Camera2D.zoom = Vector2(0.8, 0.8) # Przybliżenie
- Efekt Drżenia ekranu:
Camera2Dma wbudowany efekt drżenia ekranu, który jest przydatny podczas wybuchów, zderzeń czy mocnych uderzeń. Możesz wywołać efekt drżenia za pomocą skryptu:
$Camera2D.start_shake(intensity=5, speed=20, time=0.5)
5. Przykład skryptu: Konfiguracja kamery w grze 2D
Poniższy przykład pokazuje konfigurację kamery, która podąża za graczem, używa zoomu i ma ograniczenia ruchu.
extends Camera2D
func _ready():
current = true # Ustawia kamerę jako aktywną
limit_left = 0
limit_right = 2000
limit_top = 0
limit_bottom = 1000
zoom = Vector2(1, 1)
smoothing_enabled = true
smoothing_speed = 5.0
# Funkcja zmieniająca zoom kamery w trakcie gry
func zoom_in():
zoom = Vector2(0.8, 0.8)
func zoom_out():
zoom = Vector2(1.2, 1.2)
W tym przykładzie kamera ma ograniczenia ruchu, płynne śledzenie oraz dynamiczny zoom.
6. Przykłady zastosowania Camera2D w grach
- Platformówki:
Camera2Djest idealna do gier platformowych, w których kamera podąża za graczem, pokazując odpowiednio dużą część poziomu, aby gracz widział, co jest przed nim.
- Gry wyścigowe 2D:
- Możesz używać
Camera2Ddo śledzenia samochodu, zbliżania widoku przy dużej prędkości i drżenia ekranu przy kolizjach.
- Gry przygodowe i akcji:
- W grach przygodowych lub akcji,
Camera2Dmoże być skonfigurowana, aby pokazywać większy obszar w sytuacjach, gdy gracz porusza się po otwartym terenie lub zawężać widok w zamkniętych przestrzeniach.
- Gry ze strzelaniem:
- Drżenie kamery podczas wybuchów i strzałów dodaje dynamiki i sprawia, że gra wydaje się bardziej intensywna.
Właściwości Camera2D
current: Określa, czy kamera jest aktywna. Tylko jednaCamera2Dmoże być aktywna w danej chwili.zoom: Ustawia poziom przybliżenia kamery.limit_left,limit_right,limit_top,limit_bottom: Ograniczenia obszaru, po którym może się poruszać kamera.offset: Przesunięcie kamery względem śledzonego obiektu.smoothing_enabledismoothing_speed: Umożliwiają płynne śledzenie obiektu, kontrolując szybkość tego ruchu.
Podsumowanie:
Camera2D w Godot 4 to wszechstronne narzędzie do zarządzania kamerą w grach 2D. Dzięki licznym opcjom śledzenia, efektom zoomu, drżenia i wygładzania, Camera2D pozwala dostosować perspektywę w sposób, który wspiera dynamikę i estetykę gry. Dostosowanie właściwości kamery pozwala na tworzenie angażujących efektów wizualnych, które zwiększają wrażenie ruchu i immersji w grze.





Dodaj komentarz