@@ -161,6 +161,21 @@ public interface IFullBodyDeformationData
161161 /// </summary>
162162 public string ChestAlignmentWeightFloatProperty { get ; }
163163
164+ /// <summary>
165+ /// The shoulders height adjustment weight float property.
166+ /// </summary>
167+ string ShouldersHeightAdjustmentWeightFloatProperty { get ; }
168+
169+ /// <summary>
170+ /// The shoulders width adjustment weight float property.
171+ /// </summary>
172+ string ShouldersWidthAdjustmentWeightFloatProperty { get ; }
173+
174+ /// <summary>
175+ /// The arms height adjustment weight float property.
176+ /// </summary>
177+ string ArmsHeightAdjustmentWeightFloatProperty { get ; }
178+
164179 /// <summary>
165180 /// The left shoulder weight float property.
166181 /// </summary>
@@ -356,6 +371,18 @@ bool IFullBodyDeformationData.ShouldUpdate
356371 string IFullBodyDeformationData . ChestAlignmentWeightFloatProperty =>
357372 ConstraintsUtils . ConstructConstraintDataPropertyName ( nameof ( _chestAlignmentWeight ) ) ;
358373
374+ /// <inheritdoc />
375+ string IFullBodyDeformationData . ShouldersHeightAdjustmentWeightFloatProperty =>
376+ ConstraintsUtils . ConstructConstraintDataPropertyName ( nameof ( _shouldersHeightAdjustmentWeight ) ) ;
377+
378+ /// <inheritdoc />
379+ string IFullBodyDeformationData . ShouldersWidthAdjustmentWeightFloatProperty =>
380+ ConstraintsUtils . ConstructConstraintDataPropertyName ( nameof ( _shouldersWidthAdjustmentWeight ) ) ;
381+
382+ /// <inheritdoc />
383+ string IFullBodyDeformationData . ArmsHeightAdjustmentWeightFloatProperty =>
384+ ConstraintsUtils . ConstructConstraintDataPropertyName ( nameof ( _armsHeightAdjustmentWeight ) ) ;
385+
359386 /// <inheritdoc />
360387 string IFullBodyDeformationData . LeftShoulderWeightFloatProperty =>
361388 ConstraintsUtils . ConstructConstraintDataPropertyName ( nameof ( _leftShoulderWeight ) ) ;
@@ -441,6 +468,42 @@ public float ChestAlignmentWeight
441468 set => _chestAlignmentWeight = value ;
442469 }
443470
471+ /// <summary>
472+ /// The weight for shoulders height adjustment.
473+ /// </summary>
474+ [ SyncSceneToStream , SerializeField , Range ( 0.0f , 1.0f ) ]
475+ [ Tooltip ( DeformationDataTooltips . ShouldersHeightAdjustmentWeight ) ]
476+ private float _shouldersHeightAdjustmentWeight ;
477+ public float ShouldersHeightAdjustmentWeight
478+ {
479+ get => _shouldersHeightAdjustmentWeight ;
480+ set => _shouldersHeightAdjustmentWeight = value ;
481+ }
482+
483+ /// <summary>
484+ /// The weight for shoulders width adjustment.
485+ /// </summary>
486+ [ SyncSceneToStream , SerializeField , Range ( 0.0f , 1.0f ) ]
487+ [ Tooltip ( DeformationDataTooltips . ShouldersHeightAdjustmentWeight ) ]
488+ private float _shouldersWidthAdjustmentWeight ;
489+ public float ShouldersWidthAdjustmentWeight
490+ {
491+ get => _shouldersWidthAdjustmentWeight ;
492+ set => _shouldersWidthAdjustmentWeight = value ;
493+ }
494+
495+ /// <summary>
496+ /// The weight for arms height adjustment.
497+ /// </summary>
498+ [ SyncSceneToStream , SerializeField , Range ( 0.0f , 1.0f ) ]
499+ [ Tooltip ( DeformationDataTooltips . ArmsHeightAdjustmentWeight ) ]
500+ private float _armsHeightAdjustmentWeight ;
501+ public float ArmsHeightAdjustmentWeight
502+ {
503+ get => _armsHeightAdjustmentWeight ;
504+ set => _armsHeightAdjustmentWeight = value ;
505+ }
506+
444507 /// <summary>
445508 /// The weight for the deformation on the left shoulder.
446509 /// </summary>
@@ -971,16 +1034,16 @@ public void SetUpBonePairs()
9711034 bonePairs [ i ] = bonePair ;
9721035 }
9731036
974- // Calculate proportions for spine .
975- for ( int i = 0 ; i < _hipsToHeadBones . Length - 1 ; i ++ )
1037+ // Calculate proportions for the upper body .
1038+ for ( int i = 0 ; i < _hipsToHeadBones . Length + 1 ; i ++ )
9761039 {
9771040 var bonePair = bonePairs [ i ] ;
9781041 bonePair . HeightProportion = bonePair . Distance / ( _hipsToHeadDistance + _hipsToFootDistance ) ;
9791042 bonePair . LimbProportion = bonePair . Distance / _hipsToHeadDistance ;
9801043 bonePairs [ i ] = bonePair ;
9811044 }
9821045
983- // Calculate proportions for legs .
1046+ // Calculate proportions for the lower body .
9841047 for ( int i = upperLegIndex ; i < bonePairs . Count ; i ++ )
9851048 {
9861049 var bonePair = bonePairs [ i ] ;
0 commit comments