LoginSignup
13
5

More than 5 years have passed since last update.

【Unity】Prefabの階層を全て表示してHierarchyと同じように編集できるエディタ拡張

Posted at

はじめに

Unityを使う上でPrefabの存在は欠かせないものですが、実際に使うと使いずらい部分が何点かあります。
特に自分は、

  • Pojectビューでは2階層までしか表示されない
  • Scene上に配置しないとPrefab内部を編集できない(Deleteなど)
  • ネスト化ができない

この3つが使いずらい部分に感じています。
ネスト化に関しては @kyubuns さんが以下のサイトにてネスト化ツールを公開しているためそちらを参照するとして、今回はそれ以外を対処していきます。
https://qiita.com/kyubuns/items/5741e5281f4bb8de656c

環境

Unity 2017 4.1f1

作ったもの

いろいろと解説をする前に、早速作ったものを紹介します。

mo68j-62ce3.gif

名は『Prefab Editor』
これを使うことで、いままでScene上に配置しなければあまり編集できなかったPrefabが編集できるようになります。

このエディタ拡張では、Projectビューで選択したPrefabがPrefab EditorのWindowに表示されるようになっています。
Window上の見た目はHierarchyをそのまんま参考にしています。そして、できることも、

  • Prefabの3階層以下を表示し、選択するとInspector上にも表示される
  • GameObjectの親子関係を編集できる
  • 別のPrefabやScene上に配置されているGameObjectを中につっこめる
  • 二回クリックするとリネームできる
  • 右クリックでGameObjectを作成したり削除したりできる
  • etc...

このように、ProjectビューからScene上に配置しなくても、Hierarchy上とほとんど同じことができるようになっています。

使い方

以下のリンクからダウンロードできるpackageをダブルクリックしてUnityにインポートしてください。
https://github.com/yukiringo/PrefabEditor/raw/master/prefab_editor.unitypackage

menu.png

Window -> Prefab Editor
を選択します。

select.PNG

そして、Projectビューにある編集したいPrefabを選択してください。
Prefab EditorのWindow上に、選択したPrefabがHierarchyへ配置したように表示されていると思います。

あとは、Hierarchyでやるのと同じように編集してもらえばOKです。

簡単に解説

このまま終わるのもあれなので、使った機能について紹介します。

今回はHierarchyのような見た目にするため、Unity 5.6にて追加されたTreeViewを用いています。このTreeViewはHierarchyにも使用されているらしいです。
なので、この機能を使えばある程度楽にHierarchyを再現することができます。

詳細: https://docs.unity3d.com/Manual/TreeViewAPI.html

ですが実は自分、最初この機能の存在を知りませんでした…
なので、この機能を知るまではFoldoutなどを使って地道にやっていました(めちゃくちゃ面倒だった)

TreeViewは高機能なので、もし似たようなエディタ拡張をする際はぜひ使ってみてください。

まとめ

これでPrefabをいちいちScene上に配置せずとも編集できるようになりました。
これによって劇的に楽になるわけではないですが、少しでも作業効率が上がればいいなと思います。

こちらはgithubにて公開しています。
https://github.com/yukiringo/PrefabEditor

バグ報告や感想、意見などお待ちしております。
https://twitter.com/_ykringo

13
5
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
5