【Unityアセット】直感的にオブジェクト配置できる「Grabbit」の使い方

今回の記事では「Grabbit」という有料アセットを紹介します。
このアセットを使うと、通常Unityではできない「非Playモード時にコライダーを加味してアセットを配置する」ということができるようになります

Grabbitを使った配置例

Grabbitを使った配置例

コライダーを使うことで物理演算に従って配置できるようになります。
そのため、自然なオブジェクトの配置を直感的にできるという特徴があります。

導入〜初回起動まで

Grabbitはこちらからダウンロードできます。

Grabbitをシーンにインポートすると、このような画面が出てきます。

Grabbitのスタート画面

Grabbitのスタート画面

「Set It Up!」から初期設定を行いましょう。
この設定は起動後も Grabbit > Open SetUp Menuから開けます。

最初のステップでは、これから初期設定をする旨を伝えられます。

初期設定(スタート画面)

初期設定(スタート画面)

次のステップでは、凹面のコライダーを生成するかどうかを選択します。
凹面のコライダーを使うと、より正確にオブジェクトの形に合わせた配置ができるようになります。

また、オンにする場合オブジェクトを初めて動かすときに限り、スキャンの時間が少し必要になります。使う場合は左を、使わない場合は右を選択してください。

初期設定(コライダー生成)

初期設定(コライダー生成)

次のステップでは、Grabbit起動時にシーン全体をスキャンするかどうかを選択します。
オブジェクトが多いシーンではPCに負荷がかかってしまうので、シーンの一部のみスキャンするように変更できます。
シーン全体をスキャンする場合は左を、一部のみスキャンする場合は右を選択してください。

初期設定(シーンスキャン)

初期設定(シーンスキャン)

次のステップでは、衝突判定のシミュレーションの精度を選択します。

選択肢はそれぞれ左は精度重視、右はPCのパフォーマンス重視となっています。
まずは左を選び、動作が重ければ右に設定しなおすと良いでしょう。

初期設定(衝突判定)

初期設定(衝突判定)

次のステップでは、環境設定でできるその他のオプションについて書いてあります。

  • レイヤーやタグを使ってオブジェクトを動かす
  • Terrainなど非常に大きなオブジェクトを勝手に動かせないようにする
  • コライダーの精度を変更する

    といった設定項目があります。詳しくは環境設定の項で説明します。
初期設定(オプション)

初期設定(オプション)

最後のステップでショートカットキーを確認できます。

初期設定(ショートカットキー)

初期設定(ショートカットキー)

それぞれ

  • U:Placementモード
  • I:Rotationモード
  • O:Alignmentモード
  • P:Fallモード
  • [:Pointモード
    に対応しています。

ただし、デフォルトの設定だとPキーが他のキーと競合している場合があります。
その場合、設定から他のキーに割り当てましょう

次から、各モードの機能について説明します。

項目解説:Placementモード

Placementモードでは、通常のUnityのMove Toolにコライダーを加味して配置できるようになります。

Placementツールの動き

Placementツールの動き

x,y,z軸の延長上に他のコライダーがある場合、その場所を円で示してくれます。
ただし、移動時の原点はcenterかつworldモード固定になります。Pivot, Localの位置移動はできません。

設定項目がいくつかあるので、そちらの解説をします。

Placementツール

Placementツール

 

  • Constraints
    選んだ軸に対応する座標、あるいは回転が固定されるようになります。

  • Control Rotation
    オンにするとrotationを変更するハンドルが追加され、回転させられるようになります。この回転にもコライダーが適用されます。

  • Readjust Handle On Mouse Up
    オンにすると、常にハンドルがオブジェクトの中心に固定されます。
    オフにするとオブジェクトがコライダーで遮られた際に、ハンドルが移動先に残るようになります。

  • Distance For Instant Teleport
    設定した距離よりオブジェクトがハンドルから離れると、オブジェクトがハンドルの位置までワープします。

  • Display Collision Indicator
    各軸の延長線上のコライダーを表示するかを設定します。

  • Preserve Selection’s Initial Transform
    オンにすると、複数のオブジェクトを選んだ時に位置関係を記憶するようになります。
    (他のものと干渉して位置がずれた後、干渉が無くなった場合に元の位置に戻る)

項目解説:Rotationモード

Rotationモードではオブジェクトの角度をコライダーを加味して調整できます。

Rotateツールの動き

Rotateツールの動き

設定項目はPlacementモードと共通のものです。

Rotateツール

Rotateツール

項目解説:Alignmentモード

Alignmentモードではオブジェクト同士をくっつけたり、反対に引き離したりできます。

Alignmentツールの動き

Alignmentツールの動き

操作したいオブジェクトを複数選び、スケール縮小方向にドラッグするとくっつき、拡大方向にドラッグすると離れていきます。
オブジェクトを整列させる時や、均等にばらつかせたい時に便利です。

Alignmentツール

Alignmentツール

 

  • Alignment Strength
    くっ付ける・引き離す際の力の大きさを設定できます

項目解説:Fallモード

Fallモードでは、重力で落ちていくモデルの動きをシミュレートできます。

Fallツールの動き

Fallツールの動き

操作したいオブジェクトを選択し、スペースキーを押すと重力の働きにそってオブジェクトが移動します。
スペースキーを離して任意の場所で止められます。

Fallツール

Fallツール

 

  • Gravity Strength
    ここで指定した向き・強さでオブジェクトが落下します。

項目解説:Pointモード

Pointモードではオブジェクトをポインターで操作できます。

Pointツールの動き

Pointツールの動き

操作したいオブジェクトを選択し、スペースキーを押すとポインターにオブジェクトが追従するようになります。

Pointツール

Pointツール

 

  • Teleport When Too Far
    オンにするとポインターとオブジェクトが大きく離れた時にポインターにオブジェクトがワープするようになります。
    間にあるオブジェクトは無視されます。

項目解説:環境設定

この項目ではGrabbitの設定ができます。

環境設定

環境設定

 

  • Layers To Ignore
    Grabbit使用時に指定したレイヤーを無視できます。

  • Tags To Ignore
    レイヤーと同様に無視するタグを設定できます。

  • Simulation Speed
    物理シミュレーションの速度を設定できます。デフォルトの速度は1です。
    数値を大きくするとオブジェクトを操作した時の移動速度や反応が早くなります。

  • Use Low Quality Colliders
    オンにするとシミュレートに使うコライダーの質を下げられます。多くのオブジェクトを扱う場合や、PC動作が重い場合はオンにすると動作が改善するかもしれません。

  • Limit Scan Zone
    デフォルトでは Grabbitはシーン全体をスキャンしますが、スキャンするエリアを指定できます。こちらもPC動作が重い場合に使うと良いでしょう。

  • Generate Dynamic Concave Colliders
    凹状のコライダーを生成するかどうか選べます。オフにするとコライダーの精度が落ちる代わりにパフォーマンスが向上します。

終わりに

今回はGrabbitの基本的な操作方法について解説しました。
Grabbitの最大の利点は、やはり通常Playモードにしないと確認できないコライダーや重力のシミュレートをすぐにできる点でしょう。
これによっていちいちPlayモードにしなくても物理挙動に沿った配置ができ、視覚的に違和感なくオブジェクトを配置できます。

次回の記事では、実際にこれらの機能を使ってシーンを制作する予定です。

 

STYLYに関する質問、バグ報告、改善してほしい要望はSTYLY FORUMまで
https://jp.forum.styly.cc/support/discussions