今回比較検証するアセットリスト
88.00$ 2.1MB 680Files ※Octave3D-Level Designという名前でしたがGSpawn – Level Designerに名前が変更されていました。中身もアップデートで変わっている可能性がありそうです。
2.4MB 124Files
10.2MB 116Files
1.2MB 85Files
297.2 KB 18Files
3.3MB 239Files
結論
- Octave3D-Level Design 高機能、モジューラ−アセットの配置がメイン?
- Prefab World Builder 個人的に一番オススメ、高機能、UIが見やすい。
- Grabbit – Editor Physics Transforms 現実のような自然な配置をしたい人向け
- Prefab Painter 2 ピンツール、配置ツール、ブラシツールと基本が一式欲しい人向け
- Prefab Brush+ ブラシツールしかいらない人向け
- Grid Placement System プログラムに詳しい玄人向け?
もっと詳しく機能の比較表や、使い勝手の違いの比較、エディターの画面を付け加えながら、読者さんに取ってどの配置ツールを選択すればよいか分かるような結論を書きたかったですが、思いの外、基本的な使い方を調べるだけでも、10時間程度かかり、力尽きてこの様な結論と記事の内容に至りました。
特にこだわりが無いならPrefab World Builderを、現実味のある自然な配置を求めるなら、Grabbit – Editor Physics Transformsを購入すれば、大きく目的にハズレたお買い物にならないと思います。
イントロ
Unityでゲームオブジェクト・プレハブを配置する時に効率化できる配置ツールアセットを6個、インストールから簡単に使用するところまでの手順などをまとめました。実際に使ってみての比較も軽くしてみましたが、本当に軽く触った程度なので本格的に超詳しく知りたい人は、自分の目で確かめてもらえると幸いです。また時間があればUnityの標準機能でも割と使える配置のTipsがあるのでこのページのどこかに記載しておきたいです。
各画像にコピーライトを入れるべきでしたが、忘れていたのでここに記載しておきます。
Copyright © 2021 Unity Technologies 非公式
A 6つのアセット、インストールから使うまで
① Octave3D-Level Design
- パッケージマネージャーからインスコ
- 空のゲームオブジェクトを作成 → AddCompornent → 「Octave3DWorldBuilder」をアタッチ
- インスペクタ上のObjectPlacementアイコン(キューブ球体円錐のアイコン)をクリック → Object Placement Setting → Prefabs…ボタンを押す → PrefabManagementウインドウが開く
- PrefabManagementウインドウに配置したいプレハブをドラッグアンド・ドロップ(フォルダごとドロップしても複数入力できる)フォルダごと入れた場合は配置するプレハブのセットとしてActivateCategoryで表示を切り替えることができるっぽい。(パレットの切り替えに相当)
- PrefabManagementウインドウのプレハブを選択してSceneビューにマウスカーソルを持っていくと選択したプレハブオブジェクトが出現。
- ピンツール、マウス移動で配置したい場所にオブジェクトを移動させ、マウス左クリックで配置を確定。
- 特に設定していなければ配置したオブジェクトはヒエラルキーのルート(一番上の階層)に配置される。
- キーボードXキーで配置しようとしているオブジェクトをグローバル軸のX軸に90度回転させられる。同様にZ、YでZ軸、Y軸に90度回転させられる。
- LShift+Xを押しながらマウスの水平移動で微妙な回転を調整できる。(配置する基本グリッドのXY、XZなどの平面が切り替わる時にたまに動かないことがある?)
- グリッド操作、まずポインタの位置で配置するグリッドがXZ平面になったりZY平面に変わったりして戸惑う。切り替わる原因や設定方法は今すぐにわからないので今は諦める。
- T+マウスクリックでグリッドの高さを、マウスでクリックした地点のオブジェクトの高さにセットできる。Alfa5キーでグリッドの高さを下げる、Alfa6キーでグリッドの高さを上げることができる。
ブラシツール
- ObjectPlacementアイコンをOnの状態で、DecorPaintアイコン(木にロケットみたいなのが刺さってる絵)をクリック → Decor paint modeをBrushに変更
- Decor Paint Brushes設定をできるプルダウンが表示される
- Creat Brush → ブラシに設定したいプレハブをドラッグ・アンド・ドロップ(複数可能)
- Distance Between Objectsでプレハブ配置の粗密を変更できる。
- Radiusでブラシの大きさを変更できる。
- さらに下の方に、Rotation Randomization SettingsとScale Randomization Settingsがありスケールと回転をランダムに連続配置することができる。
- Create Brushを複数回行うと、Active Brushから作成したブラシセットを切り替えることができる。
② Prefab World Builder使い方
- パッケージマネージャーからインスコ
- 配置に必要なウインドウツールを開く
- 自分に快適なウィンドウレイアウトを探す
- プロジェクトからパレットに配置したいプレハブを登録
- 配置するオブジェクトをパレットから選択
- 何ツールで配置するかを決定
- 実際のシーンに配置していく
- ピンツール、パレットから配置したいプレハブを選択(ドラッグ・アンド・ドロップで登録) → ピンツールアイコンを選択。 → Sceneビューにマウスカーソルを移動させると配置する場所を選択できる。
●X軸回転=Ctrl+Shit+マウスホイールボタン→マウス垂直移動で回転
●Y軸回転=Ctrl+右クリックHold→マウス水平移動で回転
●Z軸回転=Ctrl+マウスホイールボタン→マウス垂直移動で回転
●スケール=Ctrl+マウスホイール
●地面との高さ調整=Ctrl+Shift+、マウス右ボタン→マウス垂直移動で表面からの高さを変更
ブラシツール
- パレットに配置したいプレハブをドラッグ・アンド・ドロップ
- 1つのブラシで複数のプレハブを塗りたい場合はパレットから複数の登録したプレハブを選択 → New MultiBrush From Selection → 複数設定されたプレハブがパレットに出現(1つのアイコンスペースに4分割されたもの)
- 手順2以外にもマルチブラシを作成する方法があるようだが今回は割愛。
- パレットから複数プレハブを選択 → ブラシツールを選択(ペンキを塗るようなアイコン) → Sceneビューにブラシカーソルが出現 → 左クリックで塗れる。
- 傾きやスケールのランダム化はBrush Proptiesに設定する場所がある。
- ランダマイズ、ブラシサイズ、粗密などはTool Propertiesの項目に事細かく設定する項目がある。
実際に動かした感想(230101)
●ウインドウがデフォルトで配置済みなのかと思いきや
1個1個ウインドウを表示させてカスタマイズするのに
意外と時間がかかりました。
●またパネルの意味が直感的にすぐに分かると思いきや
意外と解説や説明、実際に使いながらでないと理解できずに
使いこなすには4-5時間くらい慣れるまでかかりそう。
パブリッシャーさん公式YouTubeチャンネルも忘れずチェック
③ Grabbit – Editor Physics Transforms
- パッケージマネージャーからインスコ(Assetフォルダ直下にインストールされないことに注意位)
- スクリプトのアップデートの注意ダイアログがでる。一番右を選択。
- ウェルカムウインドウが開く
- Set It Up!をクリック
- Let’s Do This!をクリック
- Grabbit最大の特徴の重力を使用した実際にものを置く機能を使えるようにするためのスキャンをするかどうか?を問われる。
- 左ボタン Use Concave Collidersをクリック
- Use The Limittion Zoneを選択
- Use Use High Precision Collisionsを選択
- Got it
- Let’s Start To Grab!
- Sceneビューでオブジェクトを選択して「Uキー」を押す
- Grabbitのモード選択ができるウインドウが出現
- オブジェクトのスキャンが始まる
- スキャンが終わった後にオブジェクトを動かすと、周囲のものに実際にぶつかったかのような動きをしながら動いて、配置することができるようになる
特徴・重力を使用して現実に物を置いていく様にオブジェクト配置ができる。
(ただし初手スキャンが入るのでプロジェクト途中から入れる際は注意)
④ Prefab Painter 2
- Window → nTools → PrefabPainter
- PrefabPainterウインドウを自分の使いやすい場所へドッキング
- ピンツール1、PrefabPainterウインドウ → ピンアイコン → 配置したいオブジェクトをパレットから選択 → Sceneビューにマウスカーソル → Piマークが表示される → 配置する場所をマウスで指定 → 左クリックしながらマウスを動かすと垂直方向でスケール、水平方向でY軸回転ができる → 左クリックを離すとプレハブが確定して配置される。
- ヒエラルキー上の配置される場所は指定することもできるが、デフォルトではPlaceSettingsのBrush Name+Groupの名前の階層化のオブジェクトとしてヒエラルキーに表示される。
- ピンツール1ではZ回転、X回転はできない?模様(調べると方法あるかも?)
- ピンツール2、四角いボックスアイコンでは、ピンツール1同様 PrefabPainterウインドウ → ピンアイコン → 配置したいオブジェクトをパレットから選択 → Sceneビューにマウスカーソル → 四角いボックスとともに配置したいプレハブが表示 → WSでスケール、ADでY軸回転 QEでZ軸回転させることができる。 → 左クリックで配置確定。
ブラシツール
- パレットに配置したいプレハブを登録
- BrushToolアイコン(筆みたいな絵)をクリック
- Sceneビューにマウスカーソルを持っていくと、ブラシの円が表示される
- 左クリックで設定に応じてプレハブを塗るようにして配置できる
- 複数種類のプレハブを塗りたい場合は、右クリック → MultiBrush → ブラシ設定に複数のプレハブを登録できるパレットが出現する。
- 塗り方は単品のときと同じで円ブラシからの左クリック。
- ブラシ設定で、回転のランダム、スケールのランダム、ブラシサイズ、塗の粗密、などが調整できる。
特徴・シンプルで基本的なブラシ機能が搭載
⑤ Prefab Brush+
- パッケージマネージャーからインスコ
- Tools → Prefab Brush+ → Prefab Brush+ウインドウが開く
- 配置したいプレハブをドラッグ・アンド・ドロップ
- Sceneビューにカーソルを持っていくと円形のここに配置するよ表示が出る。(まさかのどんな風に配置されるかのプレビューが表示されない)
- 複数プレハブを設定すると、ランダムで指定したプレハブから配置される。
- どうやらピンツールや他の機能はなく、シンプルにブラシ+消しゴムしかない、初見の印象。
特徴・とにかく価格が安い
Grid Placement System
- パッケージマネージャーからインスコ
- (QuickStart動画が限定公開にされているのでYouTubeからではなくUnityのアセットストアに貼り付けられている動画を探す必要がある。)
- プロジェクトビューから Create → Grid → GridSettings
- Grid Settingsアセットが指定したフォルダに生成される
- プロジェクトビューのGridSettings内の GridCellDisplay → Cell Imageを変更 解説動画では Cell Imageに「gridCellHollow」 Occupied Cell Imageに「gridCell」
- Object Placeable Materialに緑のマテリアルを設定(GridObjectPlacable)
- Object Un Placeable Materialに赤のマテリアルを設定(GridObjectUnPlacable)
- Grid Positionの Y を0.001に変更。
- Visualze Gridをクリック
- ヒエラルキーでGameManagerスクリプト(4つある)を空のゲームオブジェクトにアタッチして、GridSettingsとGridObjectPrefabの2つのアタッチがあるスクリプトを探す
- 手順3で作成したGridSettingsをアタッチ
- 配置したいプレハブをアタッチ。
- 新しくキャンバスを作成してボタンを2つ作る
- それぞれのボタンにOnClickからのコールで、StartPaintMode()、EndPaintMode()を呼び出せるように設定する
- デバッグプレイモードを再生
- StartPaintMode()を割り当てたボタンをクリック
- するとグリッドが表示されGameManagerスクリプトに割り当てたプレハブが生成されてグリッドに沿って複数配置することができる。
- EndPaintMode()を割り当てたボタンをクリックすると編集が終了する。
- プレイモードを解除しても配置したオブジェクトはそのまま残る。と思ったら、残らなかった。もう嫌になったので使い方の検証を終了する。
エディターで普通に使えるのかと思いきや、グリッドに添わせた配置をするまでにスクリプトで配置したいプレハブを割り当てる必要があり、マウスポチポチでやりたいことができることに慣れてしまったユーザーには、正直、なぜこんなめんどくさいことを購入したユーザーにやらせるのか?と使いたい意欲が激減。しかもまさかのプレイモードでの編集を要求される。これには正直、使い勝手の癖が強すぎて、慣れるまでにかなりの時間を要すると思われるが、スクリプトでゴリゴリ動かしたいプログラムに強強民には良いかもしれない。
意外とUnity標準の配置が強い
プロジェクトビューからドラッグアンドドロップでシーン内にプレハブを配置できるUnityの標準機能。プロジェクトビューからスイーッとだして、イメージする配置(W)、大きさ(R)、傾き(E)を、W、E、R、のショートカットで微調整すると意外とツールを使用するよりも早く出来上がる場合がある。特に各軸個別に選べるので、アセットのピンツールではスケールのZだけを操作できないなど意外とUnity標準の配置が強い場合がある。
更に細かいTipsとして
- Vを押しっぱなしにするとどこの角から動かすかギズモが自動的にマウス位置に追従してくれる → 周囲にあるオブジェクトの角っこにピッタリ配置することができる。
- 複数オブジェクトを選択した状態で、トランスフォームの各XYZのどれかに、L(5,0)と入力すると、指定した長さの間に等間隔にオブジェクトを配置してくれたりできる。
- また指定した長さの間にランダムな配置ができる。トランスフォームの各XYZのどれかに、R(5,0)と入力
B 各アセットの特徴を比較
ピンツール
- Octave3D-Level Design XYZ軸すべての回転を調整できる。
→ LShift+XZYのどれかを押す→マウス移動、と回転軸の切り替えも割と楽。 - Prefab World Builder XYZ軸すべての回転を調整できる。
→ Ctrl+右クリックかホイールボタンのワンタッチで向き調整ができる、かつホイールでのスケール変更と手数が短い。 - Grabbit – Editor Physics Transforms 重力や実際の衝突をさせながら配置するツールゆえにピンツールは存在しない。
- Prefab Painter 2 YZ回転しかできない。
→ 調整が指定したSnapの値ごとにしか変化させられない?(方法あればまた追記)1度づつにすれば細かく調整できるが、0.1刻みの微妙な調整をしたい神経質な人にはやや使いにくいかも。 - Prefab Brush+ ピンツール自体が存在せず、プレハブを1個指定すればピンツールのように使用できるが、回転の微調整を細かくするには、Offset Rotation Of PrefabのXYZに毎回値を入力する必要がある。本当にシンプルなプレハブを塗るように配置するブラシ機能のみがある印象。スケールはランダマイズのような機能が、Customize Scale機能にある。
- Grid Placement System ピンツール自体が存在せずに、グリッドに沿ったオブジェクト配置ができる。
グリッドツール 調査中
- Octave3D-Level Design
- Prefab World Builder
- Grabbit – Editor Physics Transforms
- Prefab Painter 2
- Prefab Brush+
- Grid Placement System
ブラシツール
- Octave3D-Level Design ブラシツールあり。
- Prefab World Builder ブラシツールあり。
- Grabbit – Editor Physics Transforms 重力や実際の衝突をさせながら配置するツールゆえにブラシツールは存在しない。ただ複数オブジェクトをきれいに整列させたり配置する機能はある。
- Prefab Painter 2 ブラシツールあり。
- Prefab Brush+ ブラシツールしかない。
- Grid Placement System ブラシツールは存在しない
ブラシツールがあるアセットに関しては、回転、スケール、ブラシサイズの変更、粗密の調整などがすべて揃っていました。(調査もれがあったらスマン)、基本的なブラシの機能はほぼ同じような感じで、それぞれの項目を設定する場所やUIの見た目が違うくらいですが、UIの位置のわかりやすさで作業効率が結構変わるので、自分にとって見やすくてすぐに見つけられてストレスなく設定項目を変更できるアセットを選びたいですね。
ヒエラルキー上の配置
- Octave3D-Level Design ヒエラルキー直下に配置(デフォルト設定)
- Prefab World Builder Prefab World Builderが構造化させた、ツールごとに配置した階層にオブジェクトが配置される。(デフォルト設定)
- Grabbit – Editor Physics Transforms ツールで配置するわけではないので自分で好きな階層に手動で配置 → 配置したオブジェクトを重力衝突判定ベースで位置を調整。
- Prefab Painter 2 Brush Name+Groupの名前の階層化のオブジェクトとしてヒエラルキーの一番上の階層に配置される。(デフォルト設定) → 親にしたいオブジェクトをセッティングで指定することが可能。
- Prefab Brush+ ヒエラルキー直下に配置(デフォルト設定)
- Grid Placement System 検証を断念したのでわからない。
使用感・特徴
- Octave3D-Level Design 個人的に少し画面のデザインがやや古い印象を受けつつも、使い勝手は悪くなく、やりたいことができる印象。グリッドをベースにしたモジューラ−アセットを使用してダンジョンなどを作るのに特化している印象。(今回はそこまで検証できませんでした。)できる機能としてはPrefab World Builderと遜色ない印象で、配置ツールとしては機能がたくさんある部類だと思います。
- Prefab World Builder ウインドウのレイアウトを確定させるまでやや苦労するが、特にこだわらないのであれば公式YouTubeのデモ動画と同じ配置にすると使いやすい。設定項目やUIがシンプルで見た目がスッキリしているのが印象的。また配置した時のヒエラルキーの構造化ができているのが個人的にどこに配置したのか分かりやすくてお気に入り。機能も豊富で個人的に一番オススメできるアセット。
- Grabbit – Editor Physics Transforms ピンツール、ブラシツールがないものの、そもそものコンセプトが現実空間にものを配置するように衝突したり重力の影響で転がったりさせながら配置させるアセットなので単純に他とは比較できない。インストールするまでの6個質問がやや難解だが、現実的な自然な配置を目指したい人にはオススメ。
- Prefab Painter 2 ピンツール、ブラシツール、配置ツールと基本的な配置に便利な機能が揃っているスタンダードな配置アセットの印象。そこまで高機能でなくても良い人向けで価格もお求めやすい。
- Prefab Brush+ 単純に機能が少ない分価格が安くて、最小限のブラシツールだけあればOKという人にうってつけ。ごちゃごちゃ高機能なものが無いほうが使いやすい人にピッタリ。
- Grid Placement System スクリプトベースでカチャカチャ操作できる人向け。マウスポチポチインストールしたらすぐに使えないの?というお手軽派にはややとっつきにくさが正直ある。プログラムに精通している玄人向けのアセットの印象。
もっと使い込んだレビュー(別記事にします)
今回はインストールから簡単に使うまでを比較記事としましたが、もっと使い込む機会があれば以下の点でもう一度別の記事としてレビューしたいと思いますが、数年単位で時間がかかるので、もしかすると記事をそもそも書かない(書けない)かもしれませんが、一応、以下の点、それぞれ比較したいと気にはなっています。
- 機能の種類・有無(比較表)
- ツール切り替えの手数(手間)
- 設定できるオプション
- 全体的な作業スピード
- 自分との相性
- UIの好み
バグ報告
久しぶりにプロジェクト開いたら・・・
配置ツールの比較を行ったプロジェクトを久しぶりに開いたら、GameCreatorのTriggerEnterPlayerがことごとく動かなくなっていました。色々2時間くらい苦戦してもトリガーを動かすことはできませんでした。
可能性としてインストールした6つのアセットのどれかと干渉してGameCreatorのTriggerが動かなくなったのでは?と思っています。ツールの比較をする前の状態にバックアップから戻すと原因が特定できますが、そこまで検証するなら、今のプロジェクトは諦めて、新しくプロジェクトを作り直すことにしました。
どの配置アセットが原因かは不明ですが、GameCreatorと上記の配置ツールを使用する際にトリガーが動かなくならないか注意しておいてください。
1つはセーフ
Prefab World Builderは初手インストールしており、配置ツールの検証をする前までは正常にGameCreatorのTriggerが動いていたので原因ではないです。
コメント