物理アセットの各ボーンに対してStaticMesh(UCX形状)をSimpleCollisionとしてアサインできますが(Copy Collision From StaicMesh)、これをPythonコードから行いたいです。
方法はありますか?
<br/>
物理アセットの各ボーンに対してStaticMesh(UCX形状)をSimpleCollisionとしてアサインできますが(Copy Collision From StaicMesh)、これをPythonコードから行いたいです。
方法はありますか?
<br/>
再現手順
お世話になっております。
Python からアクセスできる機能としてエンジンに用意されたものはありませんので、プロジェクトの FunctionLibrary 等に C++ で定義した関数(例えば以下のようなもの)を用いるくらいかと思います。
#include "PhysicsEngine/PhysicsAsset.h"
#include "PhysicsEngine/SkeletalBodySetup.h"
void UMyBlueprintFunctionLibrary::SetBodyCollision(UPhysicsAsset* PA, UStaticMesh* SM, FName BoneName)
{
#if WITH_EDITOR
const int32 BodyIndex = PA->FindBodyIndex(BoneName);
UBodySetup* BaseSetup = PA->SkeletalBodySetups[BodyIndex];
BaseSetup->Modify();
BaseSetup->AddCollisionFrom(SM->GetBodySetup());
BaseSetup->InvalidatePhysicsData();
BaseSetup->CreatePhysicsMeshes();
#endif
}
よろしくお願いいたします。
この方法で試してみます!ありがとうございます!
本件、クローズでお願いします。
ご確認ありがとうございます。
本件はクローズいたします。
また何かありましたらお問い合わせ下さい。