diff options
| author | Rémi Verschelde | 2017-12-10 13:03:53 +0100 |
|---|---|---|
| committer | GitHub | 2017-12-10 13:03:53 +0100 |
| commit | bf45e569c9e02b64e1e0ee65ceed57bf526a3706 (patch) | |
| tree | 73378863d85ee442f46c8fa365937d9fd3a1775e /editor/spatial_editor_gizmos.cpp | |
| parent | d1995b7d8c06766df518c413abb6d0bcb08a71e4 (diff) | |
| parent | 63ec5823d18ca1f93b0a3b76b171ec2d46465da3 (diff) | |
| download | godot-bf45e569c9e02b64e1e0ee65ceed57bf526a3706.tar.gz godot-bf45e569c9e02b64e1e0ee65ceed57bf526a3706.tar.zst godot-bf45e569c9e02b64e1e0ee65ceed57bf526a3706.zip | |
Diffstat (limited to 'editor/spatial_editor_gizmos.cpp')
| -rw-r--r-- | editor/spatial_editor_gizmos.cpp | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/editor/spatial_editor_gizmos.cpp b/editor/spatial_editor_gizmos.cpp index 3ffc61cb4..43010ed98 100644 --- a/editor/spatial_editor_gizmos.cpp +++ b/editor/spatial_editor_gizmos.cpp @@ -1316,6 +1316,34 @@ void SkeletonSpatialGizmo::redraw() { Color gizmo_color = EDITOR_GET("editors/3d_gizmos/gizmo_colors/skeleton"); Ref<Material> material = create_material("skeleton_material", gizmo_color); + SpatialMaterial *sm = Object::cast_to<SpatialMaterial>(material.ptr()); + + { // Reset + Color c(sm->get_albedo()); + c.a = 1; + sm->set_albedo(c); + } + if (sm) { + switch (SpatialEditor::get_singleton()->get_skeleton_visibility_state()) { + case 0: { + // Hidden + Color c(sm->get_albedo()); + c.a = 0; + sm->set_albedo(c); + sm->set_feature(SpatialMaterial::FEATURE_TRANSPARENT, true); + } break; + case 1: + // Visible + sm->set_feature(SpatialMaterial::FEATURE_TRANSPARENT, false); + sm->set_render_priority(SpatialMaterial::RENDER_PRIORITY_MIN); + sm->set_flag(SpatialMaterial::FLAG_DISABLE_DEPTH_TEST, false); + break; + case 2: + // x-ray + sm->set_on_top_of_alpha(); + break; + } + } Ref<SurfaceTool> surface_tool(memnew(SurfaceTool)); |
