Bone Group · Region
기준: OverAnim
0.1.0 Beta· Unreal Engine5.8
헤더:OverAnimation/Asset/OverAnimBoneGroupDesc.h,OverAnimation/Types/OverAnimRegionTypes.h
FOverAnimBoneGroupDesc는 하나의 Region과 그 Region의 Module Stack을 나타냅니다. Bone Group은 Details에서 저작하는 구조체이며, 런타임 Bone Group instance는 공개 통합 대상이 아닙니다.
FOverAnimBoneGroupDesc
| Details UI 이름 | C++ 속성명 | 기본값 · 범위 | 영향 · 관계 |
|---|---|---|---|
Group Id |
GroupId |
새 Group마다 GUID | Notify의 BoneGroupIds가 이 식별자를 사용합니다. 복제·삭제 이외에 임의 변경하지 않습니다. |
Group Name |
GroupName |
None |
Response Rule의 BoneGroupName route가 이 값을 사용합니다. 에셋 안에서 고유해야 합니다. |
Always Active |
bIsAlwaysEnable |
false |
Response/Activation Window가 없어도 Region을 계속 활성화합니다. response-only Region은 꺼야 합니다. |
Affected Bones |
AffectedBoneGroup |
빈 배열 | 이 bone의 skin weight가 Region mask의 기준입니다. Root/Leaf expansion은 이 배열 뒤에 적용됩니다. |
Expand Toward Root |
ExpandTowardsRoot |
0, 0+ |
각 Affected Bone의 부모를 지정 depth만큼 추가합니다. |
Expand Toward Leaves |
ExpandTowardsLeaf |
0, -1 또는 0+ |
각 Affected Bone의 자손을 추가합니다. -1은 전체 하위 branch를 포함합니다. |
| Region Mask | MaskPolicy |
아래 구조체 기본값 | vertex weight falloff와 0/1 구간을 정의합니다. |
| LOD Policy | LodPolicy |
WarnIfInactive |
Region 영향 bone이 현재 LOD에 없을 때 허용·경고·필수 coverage를 결정합니다. |
Region Camera Readability |
ViewStylization |
enabled, importance 1 |
Region 단위의 Camera Readability 허가와 강도입니다. Component의 master correction과 함께 사용됩니다. |
Action Group |
AutomaticActionGroup |
None |
Analyze Any Active Animation에서는 같은 이름의 Region 중 하나를 선택합니다. Only Selected Animations에서는 하나의 검출 Stage를 일치하는 Region들에 공유합니다. 비어 있으면 독립 Region입니다. |
Analyze Animations |
AutomaticPhaseAnimationRouting |
Analyze Any Active Animation |
Automatic Stage의 Animation routing을 선택합니다. 값별 계약은 아래 enum 표를 참조합니다. |
Allowed Animations |
AutomaticPhaseAnimations |
빈 배열 | Only Selected Animations일 때만 표시됩니다. 각 Animation은 Asset의 AppliedAnimations에도 있어야 합니다. |
Authored Stage Curve |
AuthoredMotionPhaseCurveName |
None |
선택적인 six-stage curve입니다. 정수는 Stage, 소수는 Stage progress입니다. Marker와 automatic analysis보다 우선합니다. |
Authored Curve Blend Weight |
AuthoredMotionPhaseCurveWeightName |
None |
Stage Curve의 animation blend-weight attenuation을 제거할 companion curve입니다. Stage Curve가 없으면 validation error입니다. |
Analysis Method |
AutomaticActionMotionAnalysis |
Primary Chain (Recommended) |
Fixed Analysis Bone이 비어 있을 때 사용할 automatic Region motion 분석 범위입니다. |
Fixed Analysis Bone |
MotionSampleBone |
None |
선택적인 고정 기준 bone입니다. None이면 Analysis Method가 분석 bone 또는 weighted chain을 해석합니다. |
| Module Stack | Modules |
빈 배열 | instanced UOverAnimDeformerModule 배열입니다. Effect Modules을 참조합니다. |
FOverAnimRegionMaskPolicy
| Details UI 이름 | C++ 속성명 | 기본값 · 범위 | 영향 · 관계 |
|---|---|---|---|
| Falloff Mode | FalloffMode |
SmoothStep |
Linear, SmoothStep, Power 중 mask weight curve를 선택합니다. |
| Zero Weight | ZeroWeight |
0, 0..1 |
이 값 이하 skin weight는 Region 효과가 0입니다. |
| Full Weight | FullWeight |
1, 0..1 |
이 값 이상 skin weight는 Region 효과가 완전합니다. ZeroWeight보다 커야 합니다. |
| Falloff Exponent | FalloffExponent |
1, 0.01+ |
Power falloff의 곡률입니다. 다른 Mode에서는 값이 UI에 남아도 결과에 쓰이지 않습니다. |
Region Enum
| Enum | 값 | 의미 · 호환성 |
|---|---|---|
EOverAnimRegionFalloffMode |
Linear |
0과 full 사이를 선형 보간합니다. |
SmoothStep |
양 끝이 부드러운 보간입니다. 기본값입니다. | |
Power |
FalloffExponent로 weight 분포를 바꿉니다. |
|
EOverAnimRegionLodPolicy |
AllowInactive |
해당 LOD에서 Region coverage가 없어도 허용합니다. 효과가 보이지 않을 수 있습니다. |
WarnIfInactive |
coverage 부족을 경고로 보고합니다. | |
RequireCoverage |
coverage가 없으면 계약상 불완전합니다. attachment dependency는 이 정책과 무관하게 coverage가 필요합니다. | |
EOverAnimRegionCompositionPolicy |
AdditiveClamped (Additive Delta) |
겹치는 Region delta를 더한 뒤 안전 범위에서 제한합니다. |
StrongestDelta (Strongest Delta) |
겹치는 위치마다 가장 강한 delta 하나를 선택합니다. |
Automatic Region Motion Enum
| Enum | C++ 값 | Editor UI | 의미 · 호환성 |
|---|---|---|---|
EOverAnimAutomaticActionMotionAnalysis |
PrimaryGuideChain |
Primary Chain (Recommended) |
연결된 명시적 Affected Bone chain을 분석하고 helper branch는 제외합니다. 사용 가능한 chain에는 최소 2개 bone이 필요합니다. |
AllAffectedBones |
All Affected Bones |
여러 branch를 포함한 모든 affected motion을 분석합니다. 특수한 multi-branch 동작용입니다. | |
EOverAnimAutomaticPhaseAnimationRouting |
Automatic |
Analyze Any Active Animation |
활성 Animation을 제한하지 않고 같은 Action Group의 Region들이 경쟁합니다. |
SelectedAppliedAnimations |
Only Selected Animations |
현재 Animation이 Allowed Animations와 일치할 때 검출 Stage를 같은 route의 Region들에 공유합니다. |
|
Disabled |
Do Not Analyze Automatic Stages |
이 Region의 automatic stage analysis를 수행하지 않습니다. Gameplay Signal과 Notify는 별도 계약입니다. |
Stage timing 우선순위는 Authored Stage Curve > OverAnim Motion Stage Marker > Animation routing/automatic analysis입니다. Details customization의 Resolved Analysis와 Phase Timing Priority는 이 해석 결과를 표시하는 Editor 전용 행이며 직렬화 속성이 아닙니다.
FOverAnimRegionViewStylizationSettings
| Details UI 이름 | C++ 속성명 | 기본값 · 범위 | 영향 · 관계 |
|---|---|---|---|
Allow Camera Readability Correction |
bEnabled |
true |
이 Region이 camera correction을 받을 수 있게 합니다. Component의 Enable Camera Readability Correction가 꺼져 있으면 작동하지 않습니다. |
Region Readability Strength |
Importance |
1, 0..1 |
depth action reveal, screen thickness protection의 Region별 배율입니다. 활성 Module response가 없는 상태에서는 deformation을 만들지 않습니다. |
Action Direction Used by Camera |
ActionAxisSource |
Automatic |
카메라가 숨겨진 depth motion을 판정할 action direction의 출처입니다. |
EOverAnimViewActionAxisSource 값은 Automatic, ActiveResponse, SourceMotion, SimulatedGuideMotion, PoseChain입니다. Automatic은 active response, source animation motion, simulated guide motion, current pose chain 순서로 사용 가능한 방향을 선택합니다.
Region 이름과 ID
Response Rule은 GroupName과 ModuleName으로 route하지만, OverAnim Bone Group Control Notify는 FGuid인 GroupId를 사용합니다. 이름 변경은 Notify의 대상 ID를 바꾸지 않지만, Rule route는 새 이름과 다시 일치해야 합니다.