IVRC2024_Hataage

Obi Rope

ロープを始めとした物理演算を提供してくれるアセット。

ハタ揚げVRでは、凧の紐という欠かせない要素として活用した。

使用したバージョンは Obi 6.3、公式のドキュメントはこちら

基本的なつかいかた

Obi Rope でロープを扱うときは Obi RopeObi Solver という2つのオブジェクトが必要となる。Rope は名前の通りロープそのもののオブジェクトであり、Solver はロープを管理する親オブジェクトである。シーンに Rope を追加すると自動的に Solver が追加され、Rope の親に設定される。

Solver では管理しているロープに対して様々な設定をしたり、機能を追加したりできる。公式ドキュメントはこちら

また、ロープの性質を決めるモノとして BlueprintCollision Material がある。前者はロープの太さや解像度 (Resolution)、形状を定義するファイルで、後者は静止摩擦係数や動摩擦係数などを定義するファイルである。同じファイルを設定したロープは同じような挙動を取る = ロープに設定された項目をいじると他のロープにも影響することがあるので注意。

設定できる項目など詳しくはこちらを読もう。

ロープの生成

ヒエラルキービューで 右クリック > 3D Object > Obi Rope でロープを作成できる。そのとき、自動的に親オブジェクトとして Solver も追加される。

Obi Rope の設定でできること (一部)

今回の制作でいじったパラメータについての解説。

たとえば、ロープの長さが変わらないようにしたい場合は、

Obi Solver の設定でできること (一部)

今回の制作でいじった部分についての解説。

アタッチメント(Obi Particle Attachment)

ロープの端点に他のオブジェクトをくっつけるためのコンポーネント。公式ドキュメントはこちら

インスペクタービュー > Add Component > ObiParticle で追加できる。

ロープの滑らかさ (ObiPathSmoother)

おそらく Solver にデフォルトで追加されている。ロープの滑らかさをいじるコンポーネント。

ロープの縫い付け (Obi Stitcher)

ロープ同士をくっつけるためのコンポーネント。公式ドキュメントはこちら

  1. GameObject > Obi > Obi Ropeを2つ作る
    • 同じ Solver の下に2つつくるようにする
  2. Obi Solver のインスペクタービューで Add component > Obi Stitcherを追加する
  3. first actor と second actor に先ほど作成したObi Ropeをそれぞれドラッグ&ドロップする
  4. 下の Edit を選択し、白い線と緑色の線が表示させる
  5. くっつけたいロープの端同士を白い線で結んだあと、Add Stitch をクリックすると、結合する場所が確定する
    • 緑色の先は白い線の端が一番近いジョイントにつながるようになっている?

ロープの実際の判定を見た目と分ける

ObiRopeExtrudedRenderer コンポーネントの Thickness Scale から、見た目の大きさに対する当たり判定のスケールを変えることができる。

値を1より大きくすると、見た目以上に大きい当たり判定を与えることができる。細いロープはオブジェクトとの衝突時に当たり判定がすり抜けることが多いので、状況に応じて適度に判定を大きくしておくとよいかも。