はじめに
メッシュでアップロードするときに、
「実際の見た目」と「物理形状」を自由に選ぶことができます。
今回は、それらがどのような動きをするのか、
少し調べたのでまとめたいと思います。
表示形状と実像が同一の場合
このような単純な物体を用意します。
赤色は「実際の見た目」として利用して、青色が「物理形状」として利用したいと思います。
画像を見るように、まずは、重なった立方体としています。
アップロードすると、このような感じになります。
「実際の見た目」、「物理形状」が合わさって、同じ物体が1つしか見えないようにみえます。
なお、画像にある物理演算という部分は、アップロード時に表示されたものを書いています。
表示形状と実像が大きさも位置もずれている場合
次は、「見た目」と「物理形状」の位置をずらしてみました。
さらに、「物理形状」の大きさも上下左右奥行で違ったものにした場合です。
アップロードすると、不思議なことがおきます。
これは、先ほどの「見た目」と「物理形状」が同じだった場合と一致しているのです。
どうしてこのようになるのか、次の実験でわかると思います。
実像が回転して位置も大きさもずれている場合
「物理形状」を回転させた場合です。
こちらが、アップロードした場合の「見た目」と「物理形状」です。
これでわかりましたでしょうか、
「物理形状」というのは、勝手に形が変更されてしまうのです。
具体的には「見た目」のバウンディングボックスに最大限おさまるように、
上下左右奥行の各々で正規化されてしまうというわけです。
これは、物理形状を別で作るうえで注意が必要です。
実像の法線が反転している場合
次は別のテストをしてみます。
このように、物理形状のみの法線を逆にした場合です。
アップロード時には、「物理形状」の面が逆になっているように見えます。
しかし、これを実際にプリムとして設置しても、
別に立方体の中へ入れるといったことはございません。
「見た目」の法線は、描写するときに見える方向が決まってしまいますが、
「物理形状」の法線は、あたり判定の方向が決まるというわけではないのです。
つまり、一方通行のような面を作ることはできないのです。
面1枚のような実像の場合
ところで、面1枚のような物理判定も作ることができるのでしょうか。
通常のSLに用意されている通常プリムには、面1枚のものはないので気になります。
というわけで、今回はこのようなオブジェクトを用意してみます。
★1
こちらも、問題なく面1枚も物理として設定できます
当たり判定がおかしい
しかし注意が必要でして、アップロード後に実際においてみると、
物理形状が変わっており、上の平面の部分に当たることができなくなります。
実像の種類を変えてみる
これを防止するためには、設置後に自分で「実像の種類」を
「凸状の外殻構造」(デフォルト)から「プリム」に変更する必要があります。
「凸状の外殻構造」というのは、凹みがない構造のことをいいます。
そして、設定するとアップロード時に表示された形状の物理判定となります。
実像の種類について
「凸状の外殻構造」の特徴
「実像の種類」というのは重要な設定で、例えば3つの立方体があるモデルでも、
「凸状の外殻構造」にしていると、1つの構造となってしまい、接続されてしまいます。
「プリム」にした場合の問題点
ところで「実像の種類」を「プリム」にしたときに、様々な問題が発生します。
★1を「実像の種類」を「プリム」としたときの物理負荷はこのようになるのですが、
これでは、アップロード前確認で表示されたものと一致しません。
これはプリムの大きさをアップロード後に変更したためです。
つまり、大きさによって、物理負荷が変わってくるわけです。
そして、大きければ物理負荷が大きくなるというものでもなくて、
大きさを小さくすると、物理負荷が大きくなる可能性があります。
物理負荷というのが、どのような計算で算出されるのかちょっとわからないですが、
プリムの大きさを小さくすると物理負荷が大きくなることから、
何回、ポリゴンとの衝突判定を行わないといけないかといった計算から
導いているのかもしれませんね。
小さいと、その分どのポリゴンとも衝突する可能性があるわけでして。
これについては、いつかまた調査したいです。
実像同士が離れている場合
例えば、3つの立方体が並んだモデルを作ってみました。
アップロードして……
「実像の種類」を「プリム」としたときに、1プリムで済んでしまうのです。
やはり、メッシュは強い。
なお、物理演算コストは32を超えるとだめなようです。
コメント