Tweaks for pill-based visuals and collision

This commit is contained in:
karl 2019-11-21 12:45:44 +01:00
parent 51e263e83d
commit 9d82dbe521
5 changed files with 14 additions and 9 deletions

View File

@ -5,6 +5,6 @@ onready var screen_texture = get_node("ScreenTexture") as ColorRect
func _process(delta: float) -> void:
# The factor is 0 when the level is between 0% and 20%; 1 when the level is between 80% and 100%; lerp inbetween
var factor = clamp((Pills.get_level() / Pills.get_max() * 1.4 - 0.2), 0.0, 1.0)
# The factor is 0 when the level is between 0% and 25%; 1 when the level is between 75% and 100%; lerp inbetween
var factor = clamp((Pills.get_level() / Pills.get_max() * 1.5 - 0.25), 0.0, 1.0)
screen_texture.material.set_shader_param("mask_factor", factor)

View File

@ -106,11 +106,10 @@ func process_animations():
func process_collision_layers():
var new_layer: int = 6
if Pills.get_level() >= Pills.LEVELS.LOW:
if Pills.get_level() >= Pills.LEVELS.VERY_LOW:
# If the masked view is almost invisible, collision with masked objects is disabled
new_layer -= 1 # See collision layer names in editor
print(new_layer)
collision_layer = new_layer
collision_mask = new_layer

View File

@ -92,20 +92,26 @@ current = true
[node name="TrueView" type="Viewport" parent="Body/PillCameras"]
size = Vector2( 1024, 600 )
render_target_update_mode = 3
shadow_atlas_size = 4
[node name="TrueCamera" type="Camera" parent="Body/PillCameras/TrueView"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0625, 1.85, 0 )
cull_mask = 2
current = true
fov = 80.0
far = 2000.0
[node name="MaskedView" type="Viewport" parent="Body/PillCameras"]
size = Vector2( 1024, 600 )
render_target_update_mode = 3
shadow_atlas_size = 4
[node name="MaskedCamera" type="Camera" parent="Body/PillCameras/MaskedView"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0.0625, 1.85, 0 )
cull_mask = 1
current = true
fov = 80.0
far = 2000.0
[node name="ScreenTexture" type="ColorRect" parent="Body/PillCameras"]
material = SubResource( 6 )

View File

@ -1,6 +1,6 @@
[gd_scene load_steps=2 format=2]
[sub_resource type="CylinderMesh" id=4]
[sub_resource type="CylinderMesh" id=1]
top_radius = 20.0
bottom_radius = 35.0
height = 100.0
@ -10,15 +10,15 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -185, 0, -191 )
[node name="MeshInstance" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 0, 50, 0 )
mesh = SubResource( 4 )
mesh = SubResource( 1 )
material/0 = null
[node name="MeshInstance2" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 50, 60 )
mesh = SubResource( 4 )
mesh = SubResource( 1 )
material/0 = null
[node name="MeshInstance3" type="MeshInstance" parent="."]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 30, 50, -60 )
mesh = SubResource( 4 )
mesh = SubResource( 1 )
material/0 = null

View File

@ -208,7 +208,7 @@ transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, 73, 0, -88 )
[node name="Ground" type="MeshInstance" parent="NavigationMeshInstance"]
transform = Transform( 1, 0, 0, 0, 1, 0, 0, 0, 1, -83.9196, -0.0216179, -105.861 )
layers = 7
layers = 3
mesh = SubResource( 2 )
material/0 = null