Merge pull request #43897 from RandomShaper/fix_refl_probe_vis_3.2
Put misc. 3D tool visible instances on their own layer (3.2)
This commit is contained in:
commit
9df3d06d1f
3 changed files with 14 additions and 6 deletions
|
@ -2964,10 +2964,11 @@ void SpatialEditorViewport::_menu_option(int p_option) {
|
|||
int idx = view_menu->get_popup()->get_item_index(VIEW_GIZMOS);
|
||||
bool current = view_menu->get_popup()->is_item_checked(idx);
|
||||
current = !current;
|
||||
if (current)
|
||||
camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + index)) | (1 << GIZMO_EDIT_LAYER) | (1 << GIZMO_GRID_LAYER));
|
||||
else
|
||||
camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + index)) | (1 << GIZMO_GRID_LAYER));
|
||||
uint32_t layers = ((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + index)) | (1 << GIZMO_GRID_LAYER) | (1 << MISC_TOOL_LAYER);
|
||||
if (current) {
|
||||
layers |= (1 << GIZMO_EDIT_LAYER);
|
||||
}
|
||||
camera->set_cull_mask(layers);
|
||||
view_menu->get_popup()->set_item_checked(idx, current);
|
||||
|
||||
} break;
|
||||
|
@ -3850,7 +3851,7 @@ SpatialEditorViewport::SpatialEditorViewport(SpatialEditor *p_spatial_editor, Ed
|
|||
surface->set_clip_contents(true);
|
||||
camera = memnew(Camera);
|
||||
camera->set_disable_gizmo(true);
|
||||
camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + p_index)) | (1 << GIZMO_EDIT_LAYER) | (1 << GIZMO_GRID_LAYER));
|
||||
camera->set_cull_mask(((1 << 20) - 1) | (1 << (GIZMO_BASE_LAYER + p_index)) | (1 << GIZMO_EDIT_LAYER) | (1 << GIZMO_GRID_LAYER) | (1 << MISC_TOOL_LAYER));
|
||||
viewport->add_child(camera);
|
||||
camera->make_current();
|
||||
surface->set_focus_mode(FOCUS_ALL);
|
||||
|
@ -4462,12 +4463,14 @@ Object *SpatialEditor::_get_editor_data(Object *p_what) {
|
|||
VS::get_singleton()->instance_geometry_set_cast_shadows_setting(
|
||||
si->sbox_instance,
|
||||
VS::SHADOW_CASTING_SETTING_OFF);
|
||||
VS::get_singleton()->instance_set_layer_mask(si->sbox_instance, 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
si->sbox_instance_xray = VisualServer::get_singleton()->instance_create2(
|
||||
selection_box_xray->get_rid(),
|
||||
sp->get_world()->get_scenario());
|
||||
VS::get_singleton()->instance_geometry_set_cast_shadows_setting(
|
||||
si->sbox_instance_xray,
|
||||
VS::SHADOW_CASTING_SETTING_OFF);
|
||||
VS::get_singleton()->instance_set_layer_mask(si->sbox_instance_xray, 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
|
||||
return si;
|
||||
}
|
||||
|
|
|
@ -217,7 +217,8 @@ public:
|
|||
enum {
|
||||
GIZMO_BASE_LAYER = 27,
|
||||
GIZMO_EDIT_LAYER = 26,
|
||||
GIZMO_GRID_LAYER = 25
|
||||
GIZMO_GRID_LAYER = 25,
|
||||
MISC_TOOL_LAYER = 24
|
||||
};
|
||||
|
||||
enum NavigationScheme {
|
||||
|
|
|
@ -1084,11 +1084,15 @@ void GridMapEditor::_notification(int p_what) {
|
|||
|
||||
grid[i] = VS::get_singleton()->mesh_create();
|
||||
grid_instance[i] = VS::get_singleton()->instance_create2(grid[i], get_tree()->get_root()->get_world()->get_scenario());
|
||||
VS::get_singleton()->instance_set_layer_mask(grid_instance[i], 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
selection_level_instance[i] = VisualServer::get_singleton()->instance_create2(selection_level_mesh[i], get_tree()->get_root()->get_world()->get_scenario());
|
||||
VS::get_singleton()->instance_set_layer_mask(selection_level_instance[i], 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
}
|
||||
|
||||
selection_instance = VisualServer::get_singleton()->instance_create2(selection_mesh, get_tree()->get_root()->get_world()->get_scenario());
|
||||
VS::get_singleton()->instance_set_layer_mask(selection_instance, 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
paste_instance = VisualServer::get_singleton()->instance_create2(paste_mesh, get_tree()->get_root()->get_world()->get_scenario());
|
||||
VS::get_singleton()->instance_set_layer_mask(paste_instance, 1 << SpatialEditorViewport::MISC_TOOL_LAYER);
|
||||
|
||||
_update_selection_transform();
|
||||
_update_paste_indicator();
|
||||
|
|
Loading…
Reference in a new issue