material-maker/material_maker/windows/sdf_builder/gizmo.tscn

55 lines
1.8 KiB
Plaintext

[gd_scene load_steps=7 format=2]
[ext_resource path="res://material_maker/windows/sdf_builder/gizmo_arrow.tscn" type="PackedScene" id=1]
[ext_resource path="res://material_maker/windows/sdf_builder/gizmo.gd" type="Script" id=2]
[sub_resource type="Shader" id=3]
code = "shader_type spatial;
render_mode async_visible,blend_mix,depth_draw_opaque,cull_back,unshaded;
uniform vec4 color : hint_color;
varying float center_depth;
void vertex() {
center_depth = (MODELVIEW_MATRIX*vec4(vec3(0.0), 1.0)).z;
}
void fragment() {
vec3 c = color.rgb*(0.05+0.95*smoothstep(-0.05, 0.05, VERTEX.z - center_depth));
ALBEDO = c;
}
"
[sub_resource type="ShaderMaterial" id=4]
shader = SubResource( 3 )
shader_param/color = Color( 1, 0, 0, 1 )
[sub_resource type="ShaderMaterial" id=5]
shader = SubResource( 3 )
shader_param/color = Color( 0, 1, 0, 1 )
[sub_resource type="ShaderMaterial" id=6]
shader = SubResource( 3 )
shader_param/color = Color( 0, 0, 1, 1 )
[node name="Gizmo" type="Spatial"]
script = ExtResource( 2 )
[node name="ArrowX" parent="." instance=ExtResource( 1 )]
material = SubResource( 4 )
[node name="ArrowY" parent="." instance=ExtResource( 1 )]
transform = Transform( -4.37114e-08, -1, 0, 1, -4.37114e-08, 0, 0, 0, 1, 0, 0, 0 )
material = SubResource( 5 )
[node name="ArrowZ" parent="." instance=ExtResource( 1 )]
transform = Transform( -4.37114e-08, 0, -1, 0, 1, 0, 1, 0, -4.37114e-08, 0, 0, 0 )
material = SubResource( 6 )
[connection signal="move" from="ArrowX" to="." method="_on_Arrow_move"]
[connection signal="rotate" from="ArrowX" to="." method="_on_Arrow_rotate"]
[connection signal="move" from="ArrowY" to="." method="_on_Arrow_move"]
[connection signal="rotate" from="ArrowY" to="." method="_on_Arrow_rotate"]
[connection signal="move" from="ArrowZ" to="." method="_on_Arrow_move"]
[connection signal="rotate" from="ArrowZ" to="." method="_on_Arrow_rotate"]