diff --git a/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc b/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc index a9991a49ad7..60b5f0383ca 100644 --- a/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc +++ b/source/blender/nodes/geometry/nodes/node_geo_deform_curves_on_surface.cc @@ -229,7 +229,7 @@ static void node_geo_exec(GeoNodeExecParams params) } if (surface_ob_eval == nullptr || surface_ob_eval->type != OB_MESH) { pass_through_input(); - params.error_message_add(NodeWarningType::Error, "The curves are not attached to a surface."); + params.error_message_add(NodeWarningType::Error, "Curves not attached to a surface."); return; } Object *surface_ob_orig = DEG_get_original_object(surface_ob_eval); @@ -246,7 +246,7 @@ static void node_geo_exec(GeoNodeExecParams params) false); if (surface_mesh_eval == nullptr) { pass_through_input(); - params.error_message_add(NodeWarningType::Error, "The surface has no mesh."); + params.error_message_add(NodeWarningType::Error, "Surface has no mesh."); return; } @@ -260,9 +260,15 @@ static void node_geo_exec(GeoNodeExecParams params) Curves &curves_id = *curves_geometry.get_curves_for_write(); CurvesGeometry &curves = CurvesGeometry::wrap(curves_id.geometry); + if (uv_map_name.is_empty()) { + pass_through_input(); + const char *message = TIP_("Surface UV map not defined."); + params.error_message_add(NodeWarningType::Error, message); + return; + } if (!mesh_eval.attribute_exists(uv_map_name)) { pass_through_input(); - char *message = BLI_sprintfN(TIP_("The evaluated surface does not have a uv map called '%s'."), + char *message = BLI_sprintfN(TIP_("Evaluated surface missing UV map: %s."), uv_map_name.c_str()); params.error_message_add(NodeWarningType::Error, message); MEM_freeN(message); @@ -270,7 +276,7 @@ static void node_geo_exec(GeoNodeExecParams params) } if (!mesh_orig.attribute_exists(uv_map_name)) { pass_through_input(); - char *message = BLI_sprintfN(TIP_("The original surface does not have a uv map called '%s'."), + char *message = BLI_sprintfN(TIP_("Original surface missing UV map: %s."), uv_map_name.c_str()); params.error_message_add(NodeWarningType::Error, message); MEM_freeN(message); @@ -278,15 +284,14 @@ static void node_geo_exec(GeoNodeExecParams params) } if (!mesh_eval.attribute_exists(rest_position_name)) { pass_through_input(); - params.error_message_add( - NodeWarningType::Error, - TIP_("The evaluated surface does not have the 'rest_position' attribute.")); + params.error_message_add(NodeWarningType::Error, + TIP_("Evaluated surface missing attribute: rest_position.")); return; } if (curves.surface_uv_coords().is_empty()) { pass_through_input(); params.error_message_add(NodeWarningType::Error, - TIP_("The curves do not are not attached to any uv map.")); + TIP_("Curves are not attached to any UV map.")); return; } const VArraySpan uv_map_orig = mesh_orig.attribute_get_for_read( @@ -334,7 +339,7 @@ static void node_geo_exec(GeoNodeExecParams params) curves.tag_positions_changed(); if (invalid_uv_count) { - char *message = BLI_sprintfN(TIP_("Invalid surface attachment UVs on %d curves."), + char *message = BLI_sprintfN(TIP_("Invalid surface UVs on %d curves."), invalid_uv_count.load()); params.error_message_add(NodeWarningType::Warning, message); MEM_freeN(message);