Raspberlyのブログ

Raspberlyのブログ

Unityネタをメインとした技術系ブログです。にゃんこ大戦争や日常なども。そろそろブログタイトル決めたい

【アセット紹介】Prefab Brush+でオブジェクトを配置する【Unity】

今回はアセットの紹介をしていきます。
紹介するのはPrefab Brush+。
コライダーの表面にオブジェクトを配置するツールアセットです。

f:id:Raspberly:20220126223900p:plain

 

f:id:Raspberly:20220201031618p:plain

 

お得なバンドル情報

現在アセットストアではお得なバンドルセールが開催中。
今回はなんと2つ用意されています!詳しくは↓のバナー画像からどうぞ!

f:id:Raspberly:20220128012425p:plain   f:id:Raspberly:20220128012441p:plain

今回紹介する「Prefab Brush+」はRoaring Mega Bundleの対象アセットです。

 

 

 

どんなアセット?

コライダーの表面にオブジェクトを配置するツールアセットです。
Terrainのブラシと同じ使用感で簡単にオブジェクトを配置できます。

f:id:Raspberly:20220201023627g:plain

説明

Prefab Brush +は、シーンビューのコライダーサーフェスにプレハブまたはゲームオブジェクトを配置できる使いやすいツールです。葉の詳細、AI、木、岩、または配置したいプレハブをペイントするのに最適です。

 


特徴:


-ブラシ設定をスクリプト可能なオブジェクトとして保存およびロード


-カスタマイズ可能なブラシサイズ


-回転をサーフェス法線に一致させます


-オブジェクトにランダムな回転とスケールの値を定義します


-ブラシをかけるレイヤーとタグを選択します


-ブラシをかけられたオブジェクトは、さまざまな方法(単一、サーフェス、最も近い、ラウンドロビン)を使用して他のオブジェクトにペアレント化できます。


-一度に複数のプレハブをペイントできます


-スロープフィルター、ペイントする最小角度と最大角度を定義します


-シーンにプレハブやコンポーネントを追加する必要はありません

 

ドキュメント

 

 

 

開発環境

Unity 2020.3.26f1

Prefab Brush+ ver1.3.11

※サポート対象のUnityバージョンは結構高め。最低でもUnity2020.3.26以上が必要です。

 

 

インポートの確認

アセットインポート完了時はこんな感じです。

f:id:Raspberly:20220130234105p:plain

デモシーンの確認

Assets/Prefab Brush/Example Content/Scenes/PB_Exampleがデモ用に用意されているシーンです。

f:id:Raspberly:20220201005136p:plain

デモシーンというよりも、オブジェクトを配置するテストに最適なシーンといった方が正しいですね。
すぐにテストできるようPrefabもあらかじめ用意されています。

 

 

実際に試してみる

実際にPrefab Brush+を使ってオブジェクトを配置してみます。
今回はごく普通のCubeを配置します。

 

Prefab Brush+ウインドウ

ウインドウの表示

UnityのツールバーからTools/Prefab Brush+を選択

f:id:Raspberly:20220128012242p:plain

するとこんなウインドウが表示されます。

f:id:Raspberly:20220130004610p:plain

このウインドウから、ブラシと配置するオブジェクトの設定を行います。

 

Prefab Brush+のオンオフ

Prefab Brush+ウインドウを表示すると、シーンビューにこのような丸い円が表示されます。
これはブラシの効果範囲を表します。

f:id:Raspberly:20220130221855p:plain

それと同時に、シーンビューでオブジェクトを選択した時のギズモが表示されなくなります。

f:id:Raspberly:20220130221022p:plain

これはPrefab Brush+ウインドウからPrefab Brush+を無効化すると再び表示されます。

f:id:Raspberly:20220130234320g:plain

重要な点として、ウインドウを閉じてもPrefab Brush+は自動で無効化されません。
使い終わったら必ず無効化しましょう。

 

 

配置するオブジェクトの設定

配置したいオブジェクトはPrefab化しておき、Prefab Brush+のウインドウ内にD&Dします。
ウインドウ内にPrefabが表示されていれば設定は完了です。
赤い×ボタンから登録削除もできます。

f:id:Raspberly:20220131010638g:plain

 

設定後シーンビュー上でマウスをドラッグするとCubeがもりもり配置されます。

f:id:Raspberly:20220131010653g:plain

 

配置したオブジェクトの削除

Prefab Brush+ウインドウ上部からPrefab Erase Brushを選択すると、
オブジェクトを削除するブラシが使用できます。

f:id:Raspberly:20220201010003p:plain

これはPrefab Paint Brushを選択中でもCtrlキーを押せば押している間だけ切り替わります。
使い方は通常のブラシと同じです。

f:id:Raspberly:20220201031350g:plain

 

 

各種設定

Prefab Brush+ウインドウ内のパラメータなどについて大まかに解説します。

※全部は解説しません詳しくはドキュメントから

配置方法の変更

配置方法は「Surface(デフォルト)」と「Physics」と「Single」の3種類があります。

f:id:Raspberly:20220201001703p:plain

Surfaceは表面に直接ペイントする方法で、
Physicsは少し高い所から落ちたときの物理シミュレートで配置する方法です。(Grabbitほど精密にはできない)
Singleはブラシではなく1回のマウスクリックで1つ配置します。

f:id:Raspberly:20220201001718g:plain

 

ブラシの設定

f:id:Raspberly:20220201003853p:plain

Brush Sizeはブラシの大きさ。
Paint Delta Distanceは再配置されるまでの移動量。(小さいほど密度が濃くなる)
Prefabs Per Strokeは一度に配置される数。

 

これらはスライダーで簡単に調整できます。

 

子オブジェクトとして配置する

そのままだと全てルート上に配置されるためヒエラルキーが散らかって汚れます。

f:id:Raspberly:20220131012802p:plain

 

Prefab Brush+ウインドウのObjectSettings/BrushedObjectsParentSettingsから、
特定のオブジェクトの子オブジェクトとして配置するように設定できます。

f:id:Raspberly:20220131012915p:plain

Surfaceを選ぶと、地面オブジェクトの子として配置します。

 

 

実践編

せっかくなので同じバンドルに含まれている3Dモデルアセットを使ってオブジェクトを配置してみます。
体育館に椅子を乱雑に配置していきます。

f:id:Raspberly:20220201010327p:plain


ステージ

用意されているデモシーンをそのまま使います。

f:id:Raspberly:20220201011037p:plain

最初から置いてある椅子は邪魔なので消しておきます。

f:id:Raspberly:20220201010903p:plain

 

また、床にColliderがないためMeshColldierをアタッチしておきます。

f:id:Raspberly:20220201022722p:plain

 

Prefab Brush+の設定

配置するPrefabにはAssets/JP_School gymnasium_V2/Prefabs/chair01_B_1を使います。

f:id:Raspberly:20220201022625p:plain

 

椅子の角度固定

上の方で紹介していませんでしたが、Object Settingsから位置や角度に補正をかけることができます。
今回は椅子がステージを向くようにしたいのでRotationのY軸を-90にします。

f:id:Raspberly:20220201011508p:plain

 

これで設定は完了。
シーンビューからマウスを使って簡単に椅子を配置することができました。

f:id:Raspberly:20220201023627g:plain

 

 

まとめ

Prefab Brush+を使うとTerrain Brushと同じ感覚で簡単にオブジェクトを配置できる

 

公式のスクショから読み取るに、屋外の比較的大きなオブジェクトの配置を想定しているような気がします。
屋内で精密な配置をしたい時はGrabbitなど使い分けるのがよさそう。

raspberly.hateblo.jp

 

以上です。

 

 

 

他のアセットの紹介記事はこちら↓

raspberly.hateblo.jp

 

 

 

※本記事にはAssetStoreアフィリエイトリンクが含まれています。

他、間違っている箇所、わかりにくい所がありましたらコメントにお願いします。