MeshInstance3D

MeshInstance3D to węzeł w Godot 4 używany do wyświetlania modeli 3D w scenach. Służy do osadzania siatki 3D (mesh) w grze oraz modyfikowania jej wyglądu, materiałów i pozycji. Możesz używać MeshInstance3D do reprezentowania dowolnych obiektów 3D, takich jak postacie, przedmioty czy budynki.

Główne cechy MeshInstance3D:

  1. Siatka (Mesh): To model 3D przypisany do MeshInstance3D, np. plik .obj, .glb lub wbudowane siatki jak SphereMesh, CubeMesh.
  2. Materiały (Materials): Możesz przypisać materiały, które decydują o wyglądzie powierzchni (kolor, tekstura, efekty oświetleniowe).
  3. Transformacja (Transform): Pozwala kontrolować pozycję, skalę i obrót modelu w przestrzeni 3D.
  4. Animacje: Może współpracować z systemem animacji, jeśli model zawiera kości (rig) i animacje.

Przykładowe zastosowanie:

1. Dodanie MeshInstance3D do sceny:

  • W drzewie sceny (ang. „Scene Tree”) kliknij prawym przyciskiem myszy i wybierz Add Child Node.
  • Wyszukaj MeshInstance3D i dodaj go do sceny.
  • W inspektorze (po prawej stronie) znajdziesz opcję Mesh, gdzie możesz przypisać model 3D (np. wbudowany CubeMesh, SphereMesh lub własny model w formacie .glb lub .obj).

2. Przypisanie siatki (Mesh) w skrypcie:

Jeśli chcesz przypisać model 3D z poziomu skryptu:

extends MeshInstance3D

func _ready():
    var mesh = CubeMesh.new()  # Tworzy sześcian jako siatkę (mesh)
    self.mesh = mesh  # Przypisuje nową siatkę do MeshInstance3D

3. Przypisanie materiału:

Możesz przypisać różne materiały do siatki, aby zmienić jej wygląd:

extends MeshInstance3D

func _ready():
    var material = StandardMaterial3D.new()  # Tworzy nowy materiał
    material.albedo_color = Color(1, 0, 0)  # Ustawia kolor materiału na czerwony
    self.set_surface_override_material(0, material)  # Przypisuje materiał do siatki

4. Modyfikowanie transformacji:

Możesz dynamicznie zmieniać pozycję, obrót lub skalę MeshInstance3D:

func _ready():
    self.translation = Vector3(0, 2, 0)  # Zmienia pozycję modelu
    self.rotation_degrees = Vector3(0, 45, 0)  # Obraca model o 45 stopni
    self.scale = Vector3(1.5, 1.5, 1.5)  # Powiększa model o 1.5x

Podsumowanie:

  • MeshInstance3D służy do wyświetlania obiektów 3D w grze.
  • Możesz przypisać modele 3D, materiały, oraz zmieniać transformację w edytorze lub za pomocą skryptu.
  • Jest to podstawowy element do wyświetlania wszelkich obiektów 3D w Godot.

Komentarze

Jedna odpowiedź do „MeshInstance3D”

  1. […] wizualnie zobaczyć postać, dodaj MeshInstance3D jako dziecko CharacterBody3D, np. CapsuleMesh lub niestandardowy model 3D twojej […]

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *