今回はアセットの紹介をしていきます。
紹介するのはPrefab Brush+。
コライダーの表面にオブジェクトを配置するツールアセットです。
お得なバンドル情報
現在アセットストアではお得なバンドルセールが開催中。
今回はなんと2つ用意されています!詳しくは↓のバナー画像からどうぞ!
今回紹介する「Prefab Brush+」はRoaring Mega Bundleの対象アセットです。
どんなアセット?
コライダーの表面にオブジェクトを配置するツールアセットです。
Terrainのブラシと同じ使用感で簡単にオブジェクトを配置できます。
Prefab Brush +は、シーンビューのコライダーサーフェスにプレハブまたはゲームオブジェクトを配置できる使いやすいツールです。葉の詳細、AI、木、岩、または配置したいプレハブをペイントするのに最適です。
特徴:
-ブラシ設定をスクリプト可能なオブジェクトとして保存およびロード
-カスタマイズ可能なブラシサイズ
-回転をサーフェス法線に一致させます
-オブジェクトにランダムな回転とスケールの値を定義します
-ブラシをかけるレイヤーとタグを選択します
-ブラシをかけられたオブジェクトは、さまざまな方法(単一、サーフェス、最も近い、ラウンドロビン)を使用して他のオブジェクトにペアレント化できます。
-一度に複数のプレハブをペイントできます
-スロープフィルター、ペイントする最小角度と最大角度を定義します
-シーンにプレハブやコンポーネントを追加する必要はありません
開発環境
Unity 2020.3.26f1
Prefab Brush+ ver1.3.11
※サポート対象のUnityバージョンは結構高め。最低でもUnity2020.3.26以上が必要です。
インポートの確認
アセットインポート完了時はこんな感じです。
デモシーンの確認
Assets/Prefab Brush/Example Content/Scenes/PB_Exampleがデモ用に用意されているシーンです。
デモシーンというよりも、オブジェクトを配置するテストに最適なシーンといった方が正しいですね。
すぐにテストできるようPrefabもあらかじめ用意されています。
実際に試してみる
実際にPrefab Brush+を使ってオブジェクトを配置してみます。
今回はごく普通のCubeを配置します。
Prefab Brush+ウインドウ
ウインドウの表示
UnityのツールバーからTools/Prefab Brush+を選択
するとこんなウインドウが表示されます。
このウインドウから、ブラシと配置するオブジェクトの設定を行います。
Prefab Brush+のオンオフ
Prefab Brush+ウインドウを表示すると、シーンビューにこのような丸い円が表示されます。
これはブラシの効果範囲を表します。
それと同時に、シーンビューでオブジェクトを選択した時のギズモが表示されなくなります。
これはPrefab Brush+ウインドウからPrefab Brush+を無効化すると再び表示されます。
重要な点として、ウインドウを閉じてもPrefab Brush+は自動で無効化されません。
使い終わったら必ず無効化しましょう。
配置するオブジェクトの設定
配置したいオブジェクトはPrefab化しておき、Prefab Brush+のウインドウ内にD&Dします。
ウインドウ内にPrefabが表示されていれば設定は完了です。
赤い×ボタンから登録削除もできます。
設定後シーンビュー上でマウスをドラッグするとCubeがもりもり配置されます。
配置したオブジェクトの削除
Prefab Brush+ウインドウ上部からPrefab Erase Brushを選択すると、
オブジェクトを削除するブラシが使用できます。
これはPrefab Paint Brushを選択中でもCtrlキーを押せば押している間だけ切り替わります。
使い方は通常のブラシと同じです。
各種設定
Prefab Brush+ウインドウ内のパラメータなどについて大まかに解説します。
※全部は解説しません詳しくはドキュメントから
配置方法の変更
配置方法は「Surface(デフォルト)」と「Physics」と「Single」の3種類があります。
Surfaceは表面に直接ペイントする方法で、
Physicsは少し高い所から落ちたときの物理シミュレートで配置する方法です。(Grabbitほど精密にはできない)
Singleはブラシではなく1回のマウスクリックで1つ配置します。
ブラシの設定
Brush Sizeはブラシの大きさ。
Paint Delta Distanceは再配置されるまでの移動量。(小さいほど密度が濃くなる)
Prefabs Per Strokeは一度に配置される数。
これらはスライダーで簡単に調整できます。
子オブジェクトとして配置する
そのままだと全てルート上に配置されるためヒエラルキーが散らかって汚れます。
Prefab Brush+ウインドウのObjectSettings/BrushedObjectsParentSettingsから、
特定のオブジェクトの子オブジェクトとして配置するように設定できます。
Surfaceを選ぶと、地面オブジェクトの子として配置します。
実践編
せっかくなので同じバンドルに含まれている3Dモデルアセットを使ってオブジェクトを配置してみます。
体育館に椅子を乱雑に配置していきます。
ステージ
用意されているデモシーンをそのまま使います。
最初から置いてある椅子は邪魔なので消しておきます。
また、床にColliderがないためMeshColldierをアタッチしておきます。
Prefab Brush+の設定
配置するPrefabにはAssets/JP_School gymnasium_V2/Prefabs/chair01_B_1を使います。
椅子の角度固定
上の方で紹介していませんでしたが、Object Settingsから位置や角度に補正をかけることができます。
今回は椅子がステージを向くようにしたいのでRotationのY軸を-90にします。
これで設定は完了。
シーンビューからマウスを使って簡単に椅子を配置することができました。
まとめ
Prefab Brush+を使うとTerrain Brushと同じ感覚で簡単にオブジェクトを配置できる。
公式のスクショから読み取るに、屋外の比較的大きなオブジェクトの配置を想定しているような気がします。
屋内で精密な配置をしたい時はGrabbitなど使い分けるのがよさそう。
以上です。
他のアセットの紹介記事はこちら↓
※本記事にはAssetStoreアフィリエイトリンクが含まれています。
他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。