lima-city: Webhosting, Domains und Cloud
3 Pluspunkte 0 Minuspunkte

Ich erstelle ein PlaneMesh mit diesem Script

var myMesh = MeshInstance3D.new()
myMesh.mesh = PlaneMesh.new()
myMesh.create_convex_collision(true, true)

Ich habe versucht ein Bild aus dem Projektordner als Textur auf das Mesh zu laden.

var new_texture = ImageTexture3D.new()
new_texture.load("res://img.png")
myMesh.material_override = StandardMaterial3D.new()
myMesh.material_override.albedo_texture = new_texture

Dabei wird der folgende Fehler angezeigt:

Invalid call. Nonexistent function 'load' in base 'ImageTexture3D'.

Wie kann ich ein PNG Bild als Textur auf ein dynamisch erzeugtes Mesh laden?

von  

1 Antwort

3 Pluspunkte 0 Minuspunkte

Zuerst erstellst du ein neues StandardMaterial3D und ladest das Bild als Image. Dann erstellst du mit dem Image eine Textur und überschreibst die Material und Texture Properties des Mesh. Mit diesem Script sollte das klappen.

var myMesh = MeshInstance3D.new()
myMesh.mesh = PlaneMesh.new()
myMesh.create_convex_collision(true, true)


var material = StandardMaterial3D.new()
var image = Image.new()
image.load("img.jpg")
var texture = ImageTexture.create_from_image(image)

myMesh.material_override = material
material.albedo_texture = texture

add_child(myMesh)
von (397 Punkte)  
Diese Community basiert auf dem Prinzip der Selbstregulierung. Beiträge werden von Nutzern erstellt, bewertet und verbessert – ganz ohne zentrale Moderation.

Wer hilfreiche Fragen stellt oder gute Antworten gibt, sammelt Punkte. Mit steigender Punktzahl erhalten Mitglieder automatisch mehr Rechte, zum Beispiel

  • Kommentare verfassen
  • Beiträge bewerten
  • Inhalte bearbeiten
  • Inhalte ausblenden

So entsteht eine Plattform, auf der sich Qualität durchsetzt – getragen von einer engagierten Gemeinschaft. Unser Ziel: Guter Inhalt. Für alle.

2.3k Fragen

2.8k Antworten

260 Kommentare

12 Nutzer