feat: add witnessed knowledge and wind ambience
This commit is contained in:
@@ -6,9 +6,6 @@ enum CanopyVariant {
|
||||
YELLOW_GREEN,
|
||||
}
|
||||
|
||||
@export var canopy_variant: CanopyVariant = CanopyVariant.GREEN
|
||||
@export var canopy_radius: float = 1.35
|
||||
|
||||
const COLORS := {
|
||||
CanopyVariant.GREEN: Color(0.19, 0.38, 0.17),
|
||||
CanopyVariant.DARK_GREEN: Color(0.12, 0.30, 0.12),
|
||||
@@ -16,6 +13,8 @@ const COLORS := {
|
||||
}
|
||||
|
||||
const WIND_SHADER := preload("res://world/jajce/materials/wind.gdshader")
|
||||
const WIND_STRENGTH := 0.07
|
||||
const WIND_SPEED := 0.55
|
||||
|
||||
|
||||
func _ready() -> void:
|
||||
@@ -25,8 +24,9 @@ func _ready() -> void:
|
||||
var hash_seed := hash(global_position)
|
||||
var rng := RandomNumberGenerator.new()
|
||||
rng.seed = hash_seed
|
||||
canopy_variant = rng.randi() % COLORS.size() as CanopyVariant
|
||||
canopy_radius = 1.0 + rng.randf() * 0.8
|
||||
var canopy_variant := rng.randi() % COLORS.size() as CanopyVariant
|
||||
var canopy_radius := 1.0 + rng.randf() * 0.8
|
||||
var wind_phase := rng.randf_range(0.0, TAU)
|
||||
|
||||
var trunk_mesh := CylinderMesh.new()
|
||||
trunk_mesh.top_radius = 0.22
|
||||
@@ -39,6 +39,7 @@ func _ready() -> void:
|
||||
trunk_mesh.material = trunk_mat
|
||||
|
||||
var trunk := MeshInstance3D.new()
|
||||
trunk.name = "Trunk"
|
||||
trunk.mesh = trunk_mesh
|
||||
trunk.position = Vector3(0, 1.4, 0)
|
||||
add_child(trunk)
|
||||
@@ -51,9 +52,13 @@ func _ready() -> void:
|
||||
canopy_mat.shader = WIND_SHADER
|
||||
canopy_mat.set_shader_parameter("albedo", COLORS[canopy_variant])
|
||||
canopy_mat.set_shader_parameter("roughness", 0.9)
|
||||
canopy_mat.set_shader_parameter("wind_strength", WIND_STRENGTH)
|
||||
canopy_mat.set_shader_parameter("wind_speed", WIND_SPEED)
|
||||
canopy_mat.set_shader_parameter("wind_phase", wind_phase)
|
||||
canopy_mesh.material = canopy_mat
|
||||
|
||||
var canopy := MeshInstance3D.new()
|
||||
canopy.name = "Canopy"
|
||||
canopy.mesh = canopy_mesh
|
||||
canopy.position = Vector3(0, 3.2 + (canopy_radius - 1.35) * 0.5, 0)
|
||||
add_child(canopy)
|
||||
|
||||
Reference in New Issue
Block a user