Camera2D Node

in polish •  28 days ago 

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: Camera2D moż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: Camera2D oferuje 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: Camera2D automatycznie wpływa na ParallaxBackground, tworząc efekt paralaksy bez dodatkowej konfiguracji.

Jak używać Camera2D w Godot 4

1. Dodanie Camera2D do sceny

  1. W drzewie scen kliknij „Dodaj węzeł”.
  2. Wyszukaj Camera2D i dodaj go do swojej sceny.
  3. 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

  1. Zoom:
  • Zoom pozwala 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%
  1. Offset:
  • Offset pozwala 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.
  1. 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
  1. Drag Margin:
  • Drag Margin okreś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.
  1. Smoothing (Wygładzanie):
  • Włączenie opcji Smoothing powoduje płynniejsze podążanie kamery za obiektem. Możesz dostosować Smoothing Speed do swoich potrzeb.

4. Efekty Camera2D: Zoom i drżenie ekranu

  1. 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
  1. Efekt Drżenia ekranu:
  • Camera2D ma 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

  1. Platformówki:
  • Camera2D jest 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.
  1. Gry wyścigowe 2D:
  • Możesz używać Camera2D do śledzenia samochodu, zbliżania widoku przy dużej prędkości i drżenia ekranu przy kolizjach.
  1. Gry przygodowe i akcji:
  • W grach przygodowych lub akcji, Camera2D moż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.
  1. 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 jedna Camera2D moż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_enabled i smoothing_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.


Published using WordPress Blurt Publisher from https://godot.com.pl.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE BLURT!