ドナドナされるプログラマのメモ

Windows用アプリのプログラミングメモ

Unityでのメッシュオブジェクト当たり判定

レールの上に車両を置けるか試すため、手元にあったレールと貨車をおいてみた。当たり判定がちゃんと発生するようになるまで手間取ったけど、無事乗った。

ワム80000の方は、MMD用の.pdxファイルをBlenderにインポート後、テクスチャごとエクスポートするために.fbxで出力しUnityに取り込んだ。その後、モデルに対し2箇所設定変更してSceneへぶちこみ。

f:id:donadonasan:20190728155732p:plain

取り込み設定

Sceneへぶちこんだオブジェクトを見るとMeshがいるので、そこにMesh_Colliderを追加していくつか設定。

f:id:donadonasan:20190728160039p:plain

ワム80000 Mesh_Collider設定

次に、レールをインポート。こちらはSketchUp!から直接取り込み。この場合、最初から適切な設定がされているので特に作業はしなかった。

そして、当たり判定ができていることを確認するため、わざと高さ10cmから落としてみる。

f:id:donadonasan:20190728162814g:plain

当たり判定のテスト

だいたいオッケーぽい?

ただ、貨車側の当たり判定メッシュを確認してみたら、どうも凹みがないように全体が凸となるメッシュとなっていた。これでは、上に凸なレールを走った際に車輪と車輪の間にあるメッシュが引っかかってしまう。当たり判定は車輪に限定したほうがいいのかな。あと、下に凸なレールでも同様の問題が出てしまうけど、どうしよう。ちょっと悩ましい。

f:id:donadonasan:20190728155149p:plain

ワム80000の当たり判定メッシュ

 追記:RigidBodyを持っていない(物理シミュレーションがいらない)やつなら、凸ではないメッシュが使えるぽい。レールは物理シミュレーションが不要なので、問題なさそう。