update
This commit is contained in:
@@ -31,6 +31,7 @@ const PIPS := {
|
||||
|
||||
# Körper und Augen stecken in einem gemeinsamen Mesh mit Vertexfarben,
|
||||
# damit ein Würfel nur ein einziges Renderobjekt ist.
|
||||
const Stoffe = preload("res://scripts/stoffe.gd")
|
||||
static var _mesh: ArrayMesh
|
||||
static var _mat: StandardMaterial3D
|
||||
static var _gold: StandardMaterial3D ## fürs Zählen beim Aufdecken
|
||||
@@ -121,14 +122,11 @@ static func _add_pips(st: SurfaceTool, n: Vector3, t: Array, value: int) -> void
|
||||
func _build_visuals() -> void:
|
||||
if _mesh == null:
|
||||
_mesh = _build_mesh()
|
||||
_mat = StandardMaterial3D.new()
|
||||
_mat.vertex_color_use_as_albedo = true
|
||||
# Kamera und Deckenlicht stehen beide senkrecht: bei glatter Oberfläche
|
||||
# liegt der Glanzpunkt genau auf der Fläche und hellt die Augen auf.
|
||||
_mat.roughness = 0.9
|
||||
_mat.metallic_specular = 0.0
|
||||
# Knochen statt Plastik: Vertexfarben bleiben (Körper hell, Augen
|
||||
# dunkel), der Shader legt Maserung und einen warmen Kantenschein darüber.
|
||||
_mat = Stoffe.knochen()
|
||||
if _gold == null:
|
||||
# Vertexfarben bleiben, werden nur gold getönt - die Augen bleiben dunkel.
|
||||
# Fürs Zählen: dieselbe Fläche, gold getönt - die Augen bleiben dunkel.
|
||||
_gold = _mat.duplicate()
|
||||
_gold.albedo_color = Color(1.0, 0.82, 0.35)
|
||||
_gold.emission_enabled = true
|
||||
|
||||
Reference in New Issue
Block a user