[V-REP] 接触点の数を変更する(ODE)

   2014/07/18

この記事でオブジェクトの接触判定は点で行なっている事がわかりました。物理エンジンがODEの場合には、オブジェクト1つあたりの接触点の最大値を変更することが可能です。

Scene hierarchyのアイコンをダブルクリック -> show dynamic properties -> Materialのプルダウンからusr_を選択しEditを押します。

vrep_change_maximum_contacts1

OED propertiesのMaximum contactsの値を変更します。今回は1にしてみます。

vrep_change_maximum_contacts2

シミュレーションを実行してみましょう。

vrep_change_maximum_contacts3

随分とバラついていますが4点判定があるように見えます。ただし、シミュレーションの1サイクルはとても短いため、本当は1点でしか処理していないのにも関わらず4点で接触しているように見えるだけかもしれません。

そこで十分にシミュレーションをコマ送りになるほど遅くしてみます。
ここでは dt=0.10ms、オブジェクトのchild scriptに

と記述し、実行してみましょう。

確かに1点だけ接触判定があるようです。

vrep_change_maximum_contacts4

裏側から見ても確かに1点です。

vrep_change_maximum_contacts5

また、オブジェクトをグループ化した場合は、グループ元のそれぞれで接触判定を行なっています。
例えば5つの立方体をグループ化し、Maximum contactsを1とした場合では、5つの判定があります。

vrep_change_maximum_contacts6

コメントを残す

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください