summaryrefslogtreecommitdiffstats
path: root/editor
diff options
context:
space:
mode:
authorsmix8 <52464204+smix8@users.noreply.github.com>2023-11-27 19:37:52 +0100
committersmix8 <52464204+smix8@users.noreply.github.com>2024-11-27 01:06:21 +0100
commit612981c1ea7d1beb927b53a2e4056827ed6ca32a (patch)
treea5dbb323ba357ab8a0e322611f7d43f203ba0f08 /editor
parentbbc54692c05ff6a85a6aeefbf5b9c87de91983d8 (diff)
downloadredot-engine-612981c1ea7d1beb927b53a2e4056827ed6ca32a.tar.gz
Add ShadowCastingSetting to MeshLibrary / GridMap items
Adds ShadowCastingSetting to MeshLibrary / GridMap items.
Diffstat (limited to 'editor')
-rw-r--r--editor/plugins/mesh_library_editor_plugin.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/editor/plugins/mesh_library_editor_plugin.cpp b/editor/plugins/mesh_library_editor_plugin.cpp
index 6f79ab0529..39401e2738 100644
--- a/editor/plugins/mesh_library_editor_plugin.cpp
+++ b/editor/plugins/mesh_library_editor_plugin.cpp
@@ -156,6 +156,25 @@ void MeshLibraryEditor::_import_scene_parse_node(Ref<MeshLibrary> p_library, Has
}
p_library->set_item_mesh(item_id, item_mesh);
+ GeometryInstance3D::ShadowCastingSetting gi3d_cast_shadows_setting = mesh_instance_node->get_cast_shadows_setting();
+ switch (gi3d_cast_shadows_setting) {
+ case GeometryInstance3D::ShadowCastingSetting::SHADOW_CASTING_SETTING_OFF: {
+ p_library->set_item_mesh_cast_shadow(item_id, RS::ShadowCastingSetting::SHADOW_CASTING_SETTING_OFF);
+ } break;
+ case GeometryInstance3D::ShadowCastingSetting::SHADOW_CASTING_SETTING_ON: {
+ p_library->set_item_mesh_cast_shadow(item_id, RS::ShadowCastingSetting::SHADOW_CASTING_SETTING_ON);
+ } break;
+ case GeometryInstance3D::ShadowCastingSetting::SHADOW_CASTING_SETTING_DOUBLE_SIDED: {
+ p_library->set_item_mesh_cast_shadow(item_id, RS::ShadowCastingSetting::SHADOW_CASTING_SETTING_DOUBLE_SIDED);
+ } break;
+ case GeometryInstance3D::ShadowCastingSetting::SHADOW_CASTING_SETTING_SHADOWS_ONLY: {
+ p_library->set_item_mesh_cast_shadow(item_id, RS::ShadowCastingSetting::SHADOW_CASTING_SETTING_SHADOWS_ONLY);
+ } break;
+ default: {
+ p_library->set_item_mesh_cast_shadow(item_id, RS::ShadowCastingSetting::SHADOW_CASTING_SETTING_ON);
+ } break;
+ }
+
Transform3D item_mesh_transform;
if (p_apply_xforms) {
item_mesh_transform = mesh_instance_node->get_transform();