# Physics Asset内でのbody単位の衝突のフィルタリングについて

**URL:** <https://forums.unrealengine.com/t/physics-asset-body/443848>\
**Category:** World Creation\
**Tags:** physx, physics-asset, unreal-engine, filter, UE4, question\
**Created:** [February 21, 2019, 12:10pm UTC](https://forums.unrealengine.com/t/physics-asset-body/443848 "2019-02-21T12:10:20Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![Answers.Archive](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Answers.Archive](https://forums.unrealengine.com/u/Answers.Archive)\
**Post date:** [February 21, 2019, 12:10pm UTC](https://forums.unrealengine.com/t/physics-asset-body/443848/1 "2019-02-21T12:10:20Z")

</div>

お世話になっております。  
Physics Asset内でのbody衝突についてごお伺いしたい事があります。

Physics Asset内でのbody単位の衝突をフィルタリングさせることは可能でしょうか。

たとえば、Physics Asset【testAsset】の中にA・B・Cの3つのbodyがあったとして、  
body単位での衝突を管理し、  
AとBは衝突判定を取るが、AとCは衝突判定を取らない、といったふるまいをさせたいです。  
この機能を使用して、「スカート同士の自己衝突は取らないが足との衝突は判定する」という目的で使用できる挙動を作りたいと思っています。

UE4のPhysics AssetはPhysX3.3を使用しているとお伺いしましたので、  
[https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/RigidBodyCollision.html](https://docs.nvidia.com/gameworks/content/gameworkslibrary/physx/guide/Manual/RigidBodyCollision.html)  
こちらのドキュメントにあります「Collision Filtering」に相当する機能が  
エディタ側にもあるとはおもうのですが、  
どこの値から設定可能なのかご教授いただけましたら幸いです。

なにとぞよろしくお願いいたします。

■補足  
※似た機能でActorなどに設定するCollision Prisetsがあると思いますが、  
これはActorやMesh単位での設定となるため、body単位での衝突のフィルタではないという認識です。  
※※「Collision Filtering」ですが、mayaのPyhsXプラグインでは「simulation set」ないし「contact layer」と表記されている機能です

---

<div class="post-metadata">

**Author:** ![Answers.Archive](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Answers.Archive](https://forums.unrealengine.com/u/Answers.Archive)\
**Post date:** [February 21, 2019, 12:10pm UTC](https://forums.unrealengine.com/t/physics-asset-body/443848/2 "2019-02-21T12:10:31Z")

</div>

お世話になっております。  
お問い合わせいただきましたCollision FilteringのUE4における実装としましては、  
Collision Presetを実現するために使用しており、Skeletal Mesh単位で設定は可能なのですが、  
PhysicsAssets内におけるBody毎の設定はできない状況となっております。

下記のように修正することで該当機能を実現できることを確認していますが、  
実際に使用する際にはオーバーライド部分のフラグ管理等を考える必要があるかと思われます。

 ![269240-2019-01-04-18h44-22.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/b/b/d/bbdacf3802123d20440a9479aab1c781af204d3f.png)

◆設定の非表示化を抑止  
**\release-4.21\Engine\Source\Editor\DetailCustomizations\Private\BodySetupDetails.cpp**

 ![269239-2019-01-04-18h38-46.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/0/5/2/052bcee3697220a9d424c1c4fbb07270564e5f5f.png)

◆SkeletalMeshに含まれるプリセットからのオーバーライドを削除  
**\release-4.21\Engine\Source\Runtime\Engine\Private\PhysicsEngine\BodyInstance.cpp**

 ![269238-2019-01-04-18h40-28.png](https://d3kjluh73b9h9o.cloudfront.net/original/4X/a/0/c/a0c35fcc2487c81828fd653e75406c09ddb349fb.png)

エンジン改造のため動作保証はできませんが、こちらを参考にしていただけますと幸いです。  
よろしくお願いいたします。

---

<div class="post-metadata">

**Author:** ![Answers.Archive](https://d3kjluh73b9h9o.cloudfront.net/original/4X/2/8/5/28502927f1d97ba1051b3b47ccfe17233bf41ef0.png) [@Answers.Archive](https://forums.unrealengine.com/u/Answers.Archive)\
**Post date:** [February 21, 2019, 12:10pm UTC](https://forums.unrealengine.com/t/physics-asset-body/443848/3 "2019-02-21T12:10:35Z")

</div>

ご返答ありがとうございます。  
フィルタリングの実装にエンジン改造が必要な旨了解いたしました。  
回答を確認いたしましたので、こちらクローズとさせていただきます。  
ありがとうございました。
