vrp-years-apart/addons/godot-xr-tools/objects/AgePaper.gd

31 lines
994 B
GDScript

extends Node3D
# Referenz zum Mesh, damit wir das Material ändern können
@export var mesh_instance : MeshInstance3D
# Platzhalter für die zwei Texturen (Bilder)
@export var texture_baby : Texture2D # Gekritzel
@export var texture_teen : Texture2D # Klartext
func _ready():
# Wir stellen sicher, dass das Material einzigartig ist,
# damit wir nicht versehentlich alle Papiere in der Welt ändern.
if mesh_instance.material_override:
mesh_instance.material_override = mesh_instance.material_override.duplicate()
elif mesh_instance.mesh and mesh_instance.mesh.material:
mesh_instance.mesh.material = mesh_instance.mesh.material.duplicate()
func update_texture(is_teen: bool):
# Wir holen uns das aktuelle Material
var mat = null
if mesh_instance.material_override:
mat = mesh_instance.material_override
else:
mat = mesh_instance.mesh.material
if mat is StandardMaterial3D:
if is_teen:
mat.albedo_texture = texture_teen
else:
mat.albedo_texture = texture_baby