セカンドライフでメッシュに物理形状を設定しよう1

セカンドライフ制作
スポンサーリンク

はじめに

メッシュでアップロードするときに、
「実際の見た目」と「物理形状」を自由に選ぶことができます。
今回は、それらがどのような動きをするのか、
少し調べたのでまとめたいと思います。

表示形状と実像が同一の場合

obj_1
このような単純な物体を用意します。
赤色は「実際の見た目」として利用して、青色が「物理形状」として利用したいと思います。
画像を見るように、まずは、重なった立方体としています。

obj_2_X
アップロードすると、このような感じになります。
「実際の見た目」、「物理形状」が合わさって、同じ物体が1つしか見えないようにみえます。
なお、画像にある物理演算という部分は、アップロード時に表示されたものを書いています。

表示形状と実像が大きさも位置もずれている場合

obj_2
次は、「見た目」と「物理形状」の位置をずらしてみました。
さらに、「物理形状」の大きさも上下左右奥行で違ったものにした場合です。

obj_2_X
アップロードすると、不思議なことがおきます。
これは、先ほどの「見た目」と「物理形状」が同じだった場合と一致しているのです。

どうしてこのようになるのか、次の実験でわかると思います。

実像が回転して位置も大きさもずれている場合

obj_3
「物理形状」を回転させた場合です。

obj_3_X
こちらが、アップロードした場合の「見た目」と「物理形状」です。
これでわかりましたでしょうか、
「物理形状」というのは、勝手に形が変更されてしまうのです。

具体的には「見た目」のバウンディングボックスに最大限おさまるように、
上下左右奥行の各々で正規化されてしまうというわけです。
これは、物理形状を別で作るうえで注意が必要です。

実像の法線が反転している場合

obj_4
次は別のテストをしてみます。
このように、物理形状のみの法線を逆にした場合です。

obj_4_X
アップロード時には、「物理形状」の面が逆になっているように見えます。
しかし、これを実際にプリムとして設置しても、
別に立方体の中へ入れるといったことはございません。

「見た目」の法線は、描写するときに見える方向が決まってしまいますが、
「物理形状」の法線は、あたり判定の方向が決まるというわけではないのです。

つまり、一方通行のような面を作ることはできないのです。

面1枚のような実像の場合

obj_5
ところで、面1枚のような物理判定も作ることができるのでしょうか。
通常のSLに用意されている通常プリムには、面1枚のものはないので気になります。
というわけで、今回はこのようなオブジェクトを用意してみます。

obj_5_X★1

こちらも、問題なく面1枚も物理として設定できます

当たり判定がおかしい

S_obj_5_X_2
しかし注意が必要でして、アップロード後に実際においてみると、
物理形状が変わっており、上の平面の部分に当たることができなくなります。

実像の種類を変えてみる

type

これを防止するためには、設置後に自分で「実像の種類」を
「凸状の外殻構造」(デフォルト)から「プリム」に変更する必要があります。
「凸状の外殻構造」というのは、凹みがない構造のことをいいます。

S_obj_5_X_3
そして、設定するとアップロード時に表示された形状の物理判定となります。

実像の種類について

「凸状の外殻構造」の特徴

S_obj_6_X_2
「実像の種類」というのは重要な設定で、例えば3つの立方体があるモデルでも、
「凸状の外殻構造」にしていると、1つの構造となってしまい、接続されてしまいます。

「プリム」にした場合の問題点

ところで「実像の種類」を「プリム」にしたときに、様々な問題が発生します。

obj_5_X_2_2
★1を「実像の種類」を「プリム」としたときの物理負荷はこのようになるのですが、
これでは、アップロード前確認で表示されたものと一致しません。
これはプリムの大きさをアップロード後に変更したためです。

つまり、大きさによって、物理負荷が変わってくるわけです。
そして、大きければ物理負荷が大きくなるというものでもなくて、
大きさを小さくすると、物理負荷が大きくなる可能性があります。

物理負荷というのが、どのような計算で算出されるのかちょっとわからないですが、
プリムの大きさを小さくすると物理負荷が大きくなることから、
何回、ポリゴンとの衝突判定を行わないといけないかといった計算から
導いているのかもしれませんね。
小さいと、その分どのポリゴンとも衝突する可能性があるわけでして。

これについては、いつかまた調査したいです。

実像同士が離れている場合

obj_6
例えば、3つの立方体が並んだモデルを作ってみました。

obj_6_X
アップロードして……

obj_6_X_2_b_2
「実像の種類」を「プリム」としたときに、1プリムで済んでしまうのです。
やはり、メッシュは強い。

なお、物理演算コストは32を超えるとだめなようです。

コメント

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