Unity Androidでcollider エラー This Mesh Collider is attached to GameObject at path ‘aaa(Clone)’ with Mesh ‘Cube’ in Scene ‘sss’ but doesn’t have Read/Write enabled

Unity

This Mesh Collider is attached to GameObject at path ‘aaa(Clone)’ with Mesh ‘Cube’ in Scene ‘sss’ but doesn’t have Read/Write enabled

ということで

何が原因か?
通常ではエラーは出ず、iOSでも問題なく

しかしとあるプレファブだけ何かおかしい。

結果的に Cooking Options が Noneになっているとこのエラーが出ていました。
Everythingに変えると大丈夫でした。NoneなのにMeshに設定したCube(名前はCubeですが自分で作成したオブジェクトです。)のRead/Write権限を見に行こうとしている?
逆に他のオプションが有効だと、何かが実行されないということでしょうか

Cooking Optionsが何か?と確認すると

Mesh Collider コンポーネントリファレンス - Unity マニュアル
Mesh Collider (メッシュコライダー) は メッシュのアセット からそのメッシュにもとづくコライダーを生成します。複雑なメッシュの場合、プリミティブを使用するよりもより正確に衝突検出できます。Convex (凸状) が有効なっているメッシュコライダーは、他のメッシュコライダーと衝突することができます。
Cook for Faster Simulation物理演算エンジンにメッシュをクックさせ、シミュレーションを高速化します。有効にすると、追加の手順が実行され、作成するメッシュがランタイムのパフォーマンスに最適であることを保証します。これは、物理演算クエリと接触生成のパフォーマンスに影響します。この設定を無効にすると、物理演算エンジンは代わりにより速いクック時間で可能な限り速く結果を生成します。その結果、クックされたメッシュコライダーは最適でない場合があります。
Enable Mesh Cleaning物理エンジンが、メッシュをクリーンにします。有効にすると、メッシュの 縮退三角形 や他の幾何学的アーティファクトを削除しようとします。この結果、衝突判定に適したメッシュが得られ、より正確な衝突位置を得られる傾向があります。
Weld Colocated Vertices物理エンジンがメッシュ内の等しい頂点を削除します。有効にすると、物理エンジンは同じ位置の頂点を 1 つにまとめます。これは、ランタイムに発生する衝突のフィードバックにとって重要です。
Use Fast Midphase物理演算エンジンが、 出力 プラットフォームで使用可能な最速の中間位相加速構造体とアルゴリズムを使用するようにします。このオプションを有効にすると、物理演算エンジンは空間アクセスに R ツリーを必要としないより高速なアルゴリズムを使用します。一部のプラットフォームでランタイムに中間位相の問題が発生した場合でも、このオプションを無効にして、代わりに遅い従来の中間位相のアルゴリズムを使用できます 。

ということで、有効であるととても良いように見えますが、Noneにしたときは全くメリットが無いのか?はわかりません。

シンプルな三角錐なので何もする必要はないのですが。ひとまず有効にしておきます。

お気軽にコメントください!

スパム対応のためコメント認証に数日かかることがありますが、お気軽にコメントいただけると嬉しいです^^

コメント

タイトルとURLをコピーしました