bloodstain improvements. work during pause for player, vastly more efficient
This commit is contained in:
parent
686b57f798
commit
6f6c5d06e1
9 changed files with 59 additions and 18 deletions
17
autoloads/stain_layer.gd
Normal file
17
autoloads/stain_layer.gd
Normal file
|
@ -0,0 +1,17 @@
|
|||
extends Light2D
|
||||
|
||||
|
||||
onready var viewport: Viewport = $Viewport
|
||||
|
||||
|
||||
func _process(delta: float) -> void:
|
||||
var main_viewport = get_viewport()
|
||||
if viewport.canvas_transform != main_viewport.canvas_transform:
|
||||
viewport.canvas_transform = main_viewport.canvas_transform
|
||||
transform = main_viewport.canvas_transform.inverse()
|
||||
viewport.render_target_update_mode = Viewport.UPDATE_ONCE
|
||||
|
||||
|
||||
func add_stain(stain: Node2D) -> void:
|
||||
viewport.add_child(stain)
|
||||
viewport.render_target_update_mode = Viewport.UPDATE_ONCE
|
21
autoloads/stain_layer.tscn
Normal file
21
autoloads/stain_layer.tscn
Normal file
|
@ -0,0 +1,21 @@
|
|||
[gd_scene load_steps=3 format=2]
|
||||
|
||||
[ext_resource path="res://autoloads/stain_layer.gd" type="Script" id=1]
|
||||
|
||||
[sub_resource type="ViewportTexture" id=1]
|
||||
viewport_path = NodePath("Viewport")
|
||||
|
||||
[node name="StainLight" type="Light2D" groups=["viewport_autoload"]]
|
||||
texture = SubResource( 1 )
|
||||
offset = Vector2( 128, 96 )
|
||||
mode = 2
|
||||
range_item_cull_mask = 2
|
||||
script = ExtResource( 1 )
|
||||
|
||||
[node name="Viewport" type="Viewport" parent="."]
|
||||
size = Vector2( 256, 192 )
|
||||
transparent_bg = true
|
||||
disable_3d = true
|
||||
usage = 1
|
||||
render_target_v_flip = true
|
||||
render_target_update_mode = 1
|
Loading…
Add table
Add a link
Reference in a new issue