LogPhysics:Warning: PHYSX: …..\PhysXExtensions\src\ExtRigidBodyExt.cpp (234) 4 : computeMassAndInertia: Dynamic actor with illegal collision shapes
LogPhysics:Warning: PHYSX: …..\PhysXExtensions\src\ExtRigidBodyExt.cpp (283) 4 : PxRigidBodyExt::updateMassAndInertia: Mass and inertia computation failed, setting mass to 1 and inertia to (1,1,1
以上のエラー警告文が大量に出ます。
BP(ブループリント)でモデルをアニメーションさせて動かすには問題がないのですが、
上の警告を消すためにはどのようにすればよろしいでしょうか?
回答をお願いします。
alwei
(alwei)
May 23, 2015, 3:14am
2
警告通りだとすると不正なコリジョン形状を作っている可能性があります。コリジョンをBlender上で作成しているのでしょうか?
上記だけでは情報が足りません。
Blender上でどのような事をやったのか、あとは実際に使用しているモデルのメッシュをアップしてもらうかしないと、これ以上のアドバイスは厳しいと思います。
コリジョンはBlender上で作成していません。
コリジョンはUEで生成されたものを使用していました。
また別のレベルで同様のBPを使用しモデルを表示させたところ、警告は表示されませんでした。
サンプルのBP&モデルを使用しても同様の警告が出るので、原因はモデルではないと思われます。
Blenderでは作成したモデルにボーンを入れてアニメーションをさせました。
確認をお願いします。
alwei
(alwei)
May 23, 2015, 6:57am
4
まだ少し状況がわかりません。
どういう時にどういう事を行なうと警告が出るのでしょう?また別のレベルでは表示されないという事ですが、表示されるレベルとされないレベルの違いなんなのでしょうか?
サンプルのBP&モデルでも警告がでるというのは具体的にどのサンプルの事でしょうか?
もう少し詳細な情報が欲しいところです。
モデルをインポートした後、BPを追加したタイミングで、プレイする度に警告が表示されるようになりました。但しデフォルト状態の新規レベルに移動すると警告は出ません。
警告の出るレベルはゲームとしてステージを作りこんでいるレベルで、出ないレベルはレベルを追加した時のデフォルトの状態のものです。 表示されるレベルには建物、地面、海など必要なアセットが配置されています。
スケルタルメッシュ&BPを導入するまでは一切の警告が出ていませんでした。
サンプルはブルーマンのサードパーソンを使用しています。
他に必要な情報はありますか?
alwei
(alwei)
May 23, 2015, 8:04am
6
はい。状況を理解する事ができました。
ただ、そのブループリントとスケルタルメッシュを導入するまで警告がでていないという事はその中に問題があると思われます。スケルタルメッシュでは物理アセットを使ったコリジョンを生成しているのでしょうか?
考えられる原因があるとすれば物理アセットツールの中で不正なコリジョンを生成している可能性があります。
当たり判定自体はBPのカプセルコリジョンでやってます。
ただご指摘を受けてインポーとしたモデルの物理アセットを開いたところ Screenshot - f83ccfad124992d34b5d72b3dc576e63 - Gyazo
このようになってました
alwei
(alwei)
May 23, 2015, 1:34pm
8
やはり物理アセット内でのコリジョンが破綻しています。原因はそれです。
物理アセットのコリジョンは物理挙動で動く際に実際に使用されるので、ブループリントのコリジョンがあっても発生します。一度物理アセットツール内でコリジョンを削除するなりしてください。
おそらくですが、メッシュの作り方の問題で自動的に作られる物理アセットの方に問題が発生しています。その場合にはまずインポート時に物理アセットを生成するかのオプションがありますので、これを一度切るかして物理アセットを生成しないようにしておきます。
問題がなければこれで解決すると思います。
ありがとうございます! 解決しました!
やはり物理アセット周りが関係していたようで、かかわっているものを削除したら警告文は消えました。