ロープを始めとした物理演算を提供してくれるアセット。
ハタ揚げVRでは、凧の紐という欠かせない要素として活用した。
使用したバージョンは Obi 6.3、公式のドキュメントはこちら。
Obi Rope でロープを扱うときは Obi Rope
と Obi Solver
という2つのオブジェクトが必要となる。Rope は名前の通りロープそのもののオブジェクトであり、Solver はロープを管理する親オブジェクトである。シーンに Rope を追加すると自動的に Solver が追加され、Rope の親に設定される。
Solver では管理しているロープに対して様々な設定をしたり、機能を追加したりできる。公式ドキュメントはこちら。
また、ロープの性質を決めるモノとして Blueprint
や Collision Material
がある。前者はロープの太さや解像度 (Resolution)、形状を定義するファイルで、後者は静止摩擦係数や動摩擦係数などを定義するファイルである。同じファイルを設定したロープは同じような挙動を取る = ロープに設定された項目をいじると他のロープにも影響することがあるので注意。
設定できる項目など詳しくはこちらを読もう。
ヒエラルキービューで 右クリック > 3D Object > Obi Rope
でロープを作成できる。そのとき、自動的に親オブジェクトとして Solver も追加される。
今回の制作でいじったパラメータについての解説。
たとえば、ロープの長さが変わらないようにしたい場合は、
Obi Solver > Constrain settings
から Distance
の Iterations
を10とか20とかにする
今回の制作でいじった部分についての解説。
ロープの端点に他のオブジェクトをくっつけるためのコンポーネント。公式ドキュメントはこちら。
インスペクタービュー > Add Component > ObiParticle
で追加できる。
Target
: アタッチする対象のオブジェクトParticle group
: ロープのどの粒子にアタッチするかType
: Static
または Dynamic
おそらく Solver にデフォルトで追加されている。ロープの滑らかさをいじるコンポーネント。
Decimation
: ロープの曲率に基づいてロープの解像度を減らす。
Smoothing
: 滑らかさの設定Twist
: ねじれの設定。チェーンなど、単位ごとにロープをひねる設定ができる。ロープ同士をくっつけるためのコンポーネント。公式ドキュメントはこちら。
Add component > Obi Stitcher
を追加するfirst actor
と second actor
に先ほど作成したObi Ropeをそれぞれドラッグ&ドロップするEdit
を選択し、白い線と緑色の線が表示させるAdd Stitch
をクリックすると、結合する場所が確定する
ObiRopeExtrudedRenderer
コンポーネントの Thickness Scale
から、見た目の大きさに対する当たり判定のスケールを変えることができる。
値を1より大きくすると、見た目以上に大きい当たり判定を与えることができる。細いロープはオブジェクトとの衝突時に当たり判定がすり抜けることが多いので、状況に応じて適度に判定を大きくしておくとよいかも。