本記事はUnreal Engine (UE)のカレンダー | Advent Calendar 2023 - Qiita シリーズ 5の 2日目の記事です
はじめに
ホグワーツレガシーの開発者による講演「Collision Data in UE5: Practical Tips for Managing Collision Settings & Queries(Unreal Engine 5での衝突データ: 衝突設定とクエリの管理に関する実用的なアドバイス)」にて、「Collision Presetを検索可能なコンボボックスに変更するといいぞ」という内容がありましたが、具体的にどうすればいいのかは説明がなかったので…調べて記事にしました!
動いてる様子
アメリカのUnrealFestでホグワーツレガシーの開発者が紹介していた、コリジョン設定のCustom無効化&検索対応ができた!…エンジン改造必須だけど...
— おかず (@pafuhana1213) 2023年12月8日
アドカレのネタは多分これになります#UE5 #UE5Study pic.twitter.com/g52S3gHv3O
なぜ検索可能にすると良いのか?など講演の内容に関しては下記記事でまとめてるのでどうぞ!
(Collision PresetのCustomを禁止するとPresetの数が運用上多くなるので、検索可能にしたほうが便利という理由です)
pafuhana1213.hatenablog.com
CollisonPresetのコンボボックスを検索可能版に
- Engine/Source/Editor/DetailCustomizations/Private/BodyInstanceCustomization.h
class FBodyInstanceCustomization : public IPropertyTypeCustomization { ... // edit SComboBox -> SSearchableComboBox TSharedPtr<class SSearchableComboBox> CollsionProfileComboBox; // ...
- Engine/Source/Editor/DetailCustomizations/Private/BodyInstanceCustomization.cpp
void FBodyInstanceCustomization::AddCollisionCategory(TSharedRef<class IPropertyHandle> StructPropertyHandle, class IDetailChildrenBuilder& StructBuilder, IPropertyTypeCustomizationUtils& StructCustomizationUtils) { ... .ValueContent() [ SNew(SHorizontalBox) .IsEnabled(this, &FBodyInstanceCustomization::IsCollisionEnabled) + SHorizontalBox::Slot() .VAlign(VAlign_Center) [ // edit SComboBox -> SSearchableComboBox SAssignNew(CollsionProfileComboBox, SSearchableComboBox) // .OptionsSource(&CollisionProfileComboList) ...
検索できた方が便利だと思うので、近々プルリクしようかなと思います。
おしまい