BoneList and BoneFilterActionOption in LOD0 of LODSettings are filters by the following code.
void FSkeletalMeshLODSettingsDetails::CustomizeDetails(IDetailLayoutBuilder& LayoutBuilder) { ... static const TArray<FName> HiddenProperties = { GET_MEMBER_NAME_CHECKED(FSkeletalMeshLODGroupSettings, BoneFilterActionOption), GET_MEMBER_NAME_CHECKED(FSkeletalMeshLODGroupSettings, BoneList) }; for (int32 HiddenPropIndex = 0; HiddenPropIndex < HiddenProperties.Num(); ++HiddenPropIndex) { TSharedPtr<IPropertyHandle> ChildHandle = LODChildHandle->GetChildHandle(HiddenProperties[HiddenPropIndex]); LayoutBuilder.HideProperty(ChildHandle); } }
However, it doesn't consider what happens after the item is updated. So the following change will fix this issue.
void FSkeletalMeshLODSettingsDetails::CustomizeDetails(IDetailLayoutBuilder& LayoutBuilder) { ... // add FSimpleDelegate OnSettingsHandleChanged = FSimpleDelegate::CreateSP(this, &FSkeletalMeshLODSettingsDetails::OnSettingsHandleChanged, &LayoutBuilder); SettingsHandle->SetOnPropertyValueChanged(OnSettingsHandleChanged); } // add void FSkeletalMeshLODSettingsDetails::OnSettingsHandleChanged(IDetailLayoutBuilder* DetailLayoutBuilder) { DetailLayoutBuilder->ForceRefreshDetails(); }
result : Bonelist of LODGroups/LOD0 exist
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-191530 in the post.
0 |
Component | UE - Anim - Runtime |
---|---|
Affects Versions | 5.2 |
Target Fix | 5.6 |
Created | Jul 31, 2023 |
---|---|
Updated | Nov 12, 2024 |