unreal.BodyConformSolveSettings¶
- class unreal.BodyConformSolveSettings(pipeline_name: str = '', solve_pose: bool = False, symmetrical_solve: bool = False, iterations: int = 0, icp_geometry_weight: WeightSchedule = Ellipsis, icp_search_tolerance: WeightSchedule = Ellipsis, icp_normal_compatibility: WeightSchedule = Ellipsis, icp_key_point_weight: WeightSchedule = Ellipsis, icp_landmarks_weight: WeightSchedule = Ellipsis, regularization_global_controls: WeightSchedule = Ellipsis, regularization_local_controls: WeightSchedule = Ellipsis, regularization_proportions: WeightSchedule = Ellipsis, regularization_pose: WeightSchedule = Ellipsis, curve_resampling: int = 0, face_iterations: int = 0, face_icp_weight: WeightSchedule = Ellipsis, face_icp_search_tolerance: WeightSchedule = Ellipsis, face_normal_compatibility: WeightSchedule = Ellipsis, face_keypoint_weight: WeightSchedule = Ellipsis, face_landmark2d_weight: WeightSchedule = Ellipsis, model_regularization: WeightSchedule = Ellipsis, patch_smoothness: WeightSchedule = Ellipsis, landmark_damping: float = 0.0, apply_neck_seam_smoothing: bool = False, seam_iterations: int = 0, seam_laplacian: float = 0.0, seam_rings: int = 0)¶
Bases:
StructBaseBody Conform Solve Settings
C++ Source:
Plugin: MetaHumanCoreTech
Module: MetaHumanCoreTechLib
File: MetaHumanConformSolverSettings.h
Editor Properties: (see get_editor_property/set_editor_property)
apply_neck_seam_smoothing(bool): [Read-Write] Apply neck seam smoothing after solvecurve_resampling(int32): [Read-Write] Number of points used to resample curve constraints. Higher = more accurate curve matching.face_icp_search_tolerance(WeightSchedule): [Read-Write] Maximum distance (mm) to consider a scan point as a match for face solve. Ramps down each iteration for progressively tighter matching.face_icp_weight(WeightSchedule): [Read-Write] How strongly the face surface tries to match the scan. Higher = tighter fit to scan geometry.face_iterations(int32): [Read-Write] Number of fitting passes for face solve. More = finer result but slower.face_keypoint_weight(WeightSchedule): [Read-Write] How strongly detected face keypoints (eye corners, nose tip, etc.) pull the rig into pose for face solve.face_landmark2d_weight(WeightSchedule): [Read-Write] How strongly 2D face landmark positions guide the face fit.face_normal_compatibility(WeightSchedule): [Read-Write] Rejects scan points whose surface normal disagrees with the model normal for face solve. Lower = more permissive matching.icp_geometry_weight(WeightSchedule): [Read-Write] How strongly the surface tries to match the scan. Higher = tighter fit to scan geometry.icp_key_point_weight(WeightSchedule): [Read-Write] How strongly detected body keypoints (shoulders, hips, etc.) pull the rig into pose.icp_landmarks_weight(WeightSchedule): [Read-Write] How strongly 2D landmark positions guide the fit.icp_normal_compatibility(WeightSchedule): [Read-Write] Rejects scan points whose surface normal disagrees with the model normal. Lower = more permissive matching.icp_search_tolerance(WeightSchedule): [Read-Write] Maximum distance (mm) to consider a scan point as a match. Ramps down each iteration for progressively tighter matching.iterations(int32): [Read-Write] Number of fitting passes. More = finer result but slower.landmark_damping(float): [Read-Write]model_regularization(WeightSchedule): [Read-Write] Regularization strength for the face patch blend model. Higher = less face deformation.patch_smoothness(WeightSchedule): [Read-Write] Smoothness penalty for face patch deformation. Higher = smoother face patches.pipeline_name(str): [Read-Write] Name of the solver pipeline to use.regularization_global_controls(WeightSchedule): [Read-Write] Resistance to overall shape change. Higher = stays closer to the base model shape.regularization_local_controls(WeightSchedule): [Read-Write] Resistance to local surface deformation. Higher = smoother surface.regularization_pose(WeightSchedule): [Read-Write] Resistance to changing joint angles. Higher = stays closer to detected pose.regularization_proportions(WeightSchedule): [Read-Write] Resistance to changing body proportions. Higher = preserves original proportions.seam_iterations(int32): [Read-Write] Number of fitting passes for the neck seam. More = finer result but slower.seam_laplacian(float): [Read-Write] Laplacian smoothness regularization on vertex offsets for the neck seam.seam_rings(int32): [Read-Write] Number of rings around neck seam to apply smoothing oversolve_pose(bool): [Read-Write] Whether to solve for body pose.symmetrical_solve(bool): [Read-Write] Enforces left - right body symmetry during fitting.
- property apply_neck_seam_smoothing: bool¶
[Read-Write] Apply neck seam smoothing after solve
- Type:
(bool)
- property curve_resampling: int¶
[Read-Write] Number of points used to resample curve constraints. Higher = more accurate curve matching.
- Type:
(int32)
- property face_icp_search_tolerance: WeightSchedule¶
[Read-Write] Maximum distance (mm) to consider a scan point as a match for face solve. Ramps down each iteration for progressively tighter matching.
- Type:
- property face_icp_weight: WeightSchedule¶
[Read-Write] How strongly the face surface tries to match the scan. Higher = tighter fit to scan geometry.
- Type:
- property face_iterations: int¶
[Read-Write] Number of fitting passes for face solve. More = finer result but slower.
- Type:
(int32)
- property face_keypoint_weight: WeightSchedule¶
[Read-Write] How strongly detected face keypoints (eye corners, nose tip, etc.) pull the rig into pose for face solve.
- Type:
- property face_landmark2d_weight: WeightSchedule¶
[Read-Write] How strongly 2D face landmark positions guide the face fit.
- Type:
- property face_normal_compatibility: WeightSchedule¶
[Read-Write] Rejects scan points whose surface normal disagrees with the model normal for face solve. Lower = more permissive matching.
- Type:
- property icp_geometry_weight: WeightSchedule¶
[Read-Write] How strongly the surface tries to match the scan. Higher = tighter fit to scan geometry.
- Type:
- property icp_key_point_weight: WeightSchedule¶
[Read-Write] How strongly detected body keypoints (shoulders, hips, etc.) pull the rig into pose.
- Type:
- property icp_landmarks_weight: WeightSchedule¶
[Read-Write] How strongly 2D landmark positions guide the fit.
- Type:
- property icp_normal_compatibility: WeightSchedule¶
[Read-Write] Rejects scan points whose surface normal disagrees with the model normal. Lower = more permissive matching.
- Type:
- property icp_search_tolerance: WeightSchedule¶
[Read-Write] Maximum distance (mm) to consider a scan point as a match. Ramps down each iteration for progressively tighter matching.
- Type:
- property iterations: int¶
[Read-Write] Number of fitting passes. More = finer result but slower.
- Type:
(int32)
- property model_regularization: WeightSchedule¶
[Read-Write] Regularization strength for the face patch blend model. Higher = less face deformation.
- Type:
- property patch_smoothness: WeightSchedule¶
[Read-Write] Smoothness penalty for face patch deformation. Higher = smoother face patches.
- Type:
- property regularization_global_controls: WeightSchedule¶
[Read-Write] Resistance to overall shape change. Higher = stays closer to the base model shape.
- Type:
- property regularization_local_controls: WeightSchedule¶
[Read-Write] Resistance to local surface deformation. Higher = smoother surface.
- Type:
- property regularization_pose: WeightSchedule¶
[Read-Write] Resistance to changing joint angles. Higher = stays closer to detected pose.
- Type:
- property regularization_proportions: WeightSchedule¶
[Read-Write] Resistance to changing body proportions. Higher = preserves original proportions.
- Type:
- property seam_iterations: int¶
[Read-Write] Number of fitting passes for the neck seam. More = finer result but slower.
- Type:
(int32)
- property seam_laplacian: float¶
[Read-Write] Laplacian smoothness regularization on vertex offsets for the neck seam.
- Type:
(float)