Blenderからの複雑なUCXコリジョンが正しくインポートされない

ver5.2


Blenderで作成したメッシュと共にUCXコリジョンをUEにインポートしたところ、下の画像のように雑なコリジョンが生成されてしまいます。

英語版のForumを見たところUEのコンベックスコリジョンは一つのメッシュにつき1つのコリジョン処理しか行えない、という記述を見かけました。そのうえでメッシュをそれぞれ独立してインポートする必要があるとも述べられていたのですが、もし私がこの迷路(制作途中ですが)をUEにコリジョンを含めてインポートするには全てのパーツを直方体に分解してインポートするほかに手立てはないのでしょうか。
何か有効な手段をご存じの方がいらっしゃればご教示願います。

Blender側のCollision(UCX_Base1)の形状がよく見えないのですが、どういう形状になっていますか?

ConvexCollisionは名前通り「凸型(Convex)」形状である必要があります
提示されているMesh形状に沿ったConvexを作るのであれば、UCXオブジェクトは複数個必要になるはずです

ようやく理解できました。ありがとうございます。UCX_Base1はBase1のメッシュをコピーアンドペーストしていただけでした。
つまりこの元の複雑な形のメッシュに沿ってなるべく手間を省いてコリジョンを実装するには単純コリジョンを使うことは難しく、Use Complex Collision As Simpleを利用するのが望ましい、ということになるのでしょうか?重ねての質問となってしまい申し訳ありません。

Collisionの抜けを気にするのであれば、 Use Complex As Simple は推奨しません
ComplexCollisionは表面にしか判定が無いため、何らかの要因で内側にはみ出した場合、そのまま貫通する可能性があります
品質を求めるなら、手間を惜しまないほうが良いでしょう

先に上げたドキュメントにも書いてありますが
Convex(凸型)Collisionとは、凹みや開口部のないCollisionです
簡単にイメージするのであれば、Meshをラップで包んだ形を想像してください

なぜこの形が必要なのかと言うと、内と外を区別するためです
凸型の形状は、内側が閉空間であることが数学的に保証されます
内側が判別できれば、他のCollsionをきちんと外側に押し出すことが出来るようになり、貫通しないCollisionが形成できます

凸型でない場合は、Collisionの内側と外側が数学的に区別できません
なので、Collsionが重なった場合に、外側に押し出すことができません
そうなると、少しでも食い込んだ瞬間に、そのままの勢いですり抜けてしまう、ということが起こり得ます

1 Like

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.