0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【VR開発】形状が複雑なオブジェクトの当たり判定の調整

Posted at

今回の内容

VR開発では、形状が複雑な形のオブジェクトを操作する場合、当たり判定が思うように設定できない事があります。
CTのDICOMデータを3Dオブジェクトに変換した場合も、同様の現象が起きる事が多いです。
拡大縮小の挙動が上手くいかないのは、オブジェクトの原点が理想的な場所に存在しない事が原因だと思われます。

モデルについて

今回のモデルは、VR医学研究会のメンバーが独自に製作したものであり、CTなどのDICOMデータから出力したものではありません。
製作者:BKNZさん、小林さん

解決策

Blenderでオブジェクトの原点(ピボット)を変更する方法も良いですが、ソフトを開いて出力する手間がかかります。
自分は今回の方法が早くて簡単だと思っています。応用すれば、掴みたい範囲や掴みたくない範囲を指定できるので凄く便利です。

PrehabをUnpackし、Meshと同じ層にCubeを配置。
*この時、間違ってCubeの配下にオブジェクトを持って行くと、形が崩れるので注意が必要です。
Cubeの大きさをオブジェクトを掴みたい範囲に大きさ調整し、重ね合わせます。

1 2 3
image.png image.png image.png

そして、CubeのMaterialを透明にします。

1 2 3
image.png image.png image.png

調整が終わったら、再度PackしてPrehabにしておきます。
*例えば、AssetsフォルダにドラッグアンドドロップでPackできます。

当たり判定を調整します。
CubeのみにColliderを設定し、それ以外のすべてのColliderを除去します。
これにより、Cubeのみに当たり判定が発生します。
image.png
PrehabにVrg Grabbableを追加し、RigidbodyにはIs Kinematicを設定します。
image.png

実行

1.gif

補足

Mesh Colliderを使ってしまうと、余白の多い解剖モデルの当たり判定はシビアになり、扱いにくい事が多いです。加えて拡大縮小の際の処理が重たくなるので、出来るだけBox Colliderやこの手法の利用が理想的だと思います。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?