Różnice między tworzeniem przedmiotów do zbierania w 2D a 3D w Godot 4

in polish •  18 days ago 

Tworzenie przedmiotów do zbierania w 2D i 3D w Godot 4 opiera się na podobnych zasadach, jednak różni się pod względem używanych węzłów, wymiarów przestrzeni oraz aspektów wizualnych i mechanicznych. Oto szczegółowe porównanie:


1. Węzły i struktura sceny

Aspekt****2D****3D****Główny węzełArea2D``Area3DElement graficznySprite2D (obraz 2D, np. PNG)MeshInstance3D (model 3D, np. OBJ, glTF)Kształt kolizjiCollisionShape2D``CollisionShape3DPrzestrzeńPłaska przestrzeń z osią X i Y.Trójwymiarowa przestrzeń z osiami X, Y i Z.

Przykład struktury sceny:

  • 2D: CollectibleItem (Area2D) ├── Sprite2D └── CollisionShape2D
  • 3D: CollectibleItem (Area3D) ├── MeshInstance3D └── CollisionShape3D

2. Przestrzeń i pozycjonowanie

Aspekt****2D****3D****Wymiary przestrzeni2 osie: X (pozioma) i Y (pionowa).3 osie: X (pozioma), Y (pionowa), Z (głębokość).Pozycjonowanieposition (Vector2).global_transform.origin (Vector3).Kształt kolizjiOgraniczone do płaszczyzny 2D.Kształty trójwymiarowe (np. kula, pudełko).Przykład pozycjonowania:

  • 2D: position = Vector2(100, 200) # Ustawienie pozycji w przestrzeni 2D
  • 3D: global_transform.origin = Vector3(100, 200, 50) # Ustawienie pozycji w przestrzeni 3D

3. Grafika i estetyka

Aspekt****2D****3D****Wygląd przedmiotuObraz rastrowy (np. PNG, JPEG).Model 3D (np. OBJ, glTF) z materiałami i teksturami.Efekty wizualneProstsze efekty, np. obrót w płaszczyźnie.Złożone efekty, np. refleksy, cienie, animacje 3D.OświetlenieNie wymaga dodatkowego oświetlenia.Wymaga konfiguracji źródeł światła.Przykłady:

  • 2D: Animacja obrotu w osi Z: func _process(delta): rotation_degrees += 90 * delta
  • 3D: Obrót w przestrzeni 3D: func _process(delta): rotate_y(delta) # Obrót wokół osi Y

4. Kolizje i detekcja

Aspekt****2D****3D****KolizjaCollisionShape2D (np. okrąg, prostokąt).CollisionShape3D (np. kula, pudełko).Zdarzenie kolizjibody_entered``body_enteredWykrywanie kolizjiOgraniczone do płaszczyzny 2D.Wykrywa obiekty w pełnej przestrzeni 3D.Przykład obsługi kolizji:

  • 2D: func _on_body_entered(body): if body.name == "Player": queue_free()
  • 3D: func _on_body_entered(body): if body.name == "Player": queue_free()

5. Fizyczne zachowanie

Aspekt****2D****3D****GrawitacjaProsta symulacja grawitacji w płaszczyźnie 2D.Trójwymiarowa symulacja z pełnym wsparciem fizyki.Ruch przedmiotuRuch liniowy lub obrót w płaszczyźnie X-Y.Ruch w dowolnym kierunku w przestrzeni 3D.Przykłady:

  • 2D: Przedmiot opada pod wpływem grawitacji: velocity.y += gravity * delta position += velocity * delta
  • 3D: Przedmiot opada w przestrzeni 3D: velocity.y += gravity * delta global_transform.origin += velocity * delta

6. Losowe generowanie przedmiotów

Aspekt****2D****3D****PozycjonowanieLosowa pozycja w płaszczyźnie X-Y.Losowa pozycja w przestrzeni X-Y-Z.Przykłady:

  • 2D: position = Vector2(randf() * 800, randf() * 600)
  • 3D: global_transform.origin = Vector3(randf() * 100, 10, randf() * 100)

7. Wyzwania i ograniczenia

Aspekt****2D****3D****ZłożonośćProstota w projektowaniu i implementacji.Większa złożoność wizualna i mechaniczna.WydajnośćNiższe wymagania sprzętowe.Wyższe wymagania sprzętowe (zależne od grafiki 3D).PerspektywaPrzedmioty zawsze widoczne w płaszczyźnie ekranu.Może wymagać kamery do wykrywania przedmiotów.---

Podsumowanie

Tworzenie przedmiotów w 2D i 3D w Godot 4 różni się głównie w używanych węzłach, przestrzeni, efektach wizualnych i skomplikowaniu kolizji. Przedmioty w 2D są prostsze w implementacji, ale mniej realistyczne, podczas gdy przedmioty w 3D oferują większą głębię i estetykę, ale wymagają więcej pracy i zasobów sprzętowych. Wybór odpowiedniego podejścia zależy od rodzaju gry i jej wymagań.

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!