【Unity】メニューバーの「Assets」について解説(前編)【初心者向け】
Unityを使い始めて、「あれ? メニューめっちゃいっぱいあって混乱するんだけど……」と戸惑うあなたにこの記事を送ります。私も最初の頃はおっかなびっくりメニューをクリックしていました。
Unityで開発を行うときにはよくお世話になるメニューバー。この中身についてそれぞれ機能を確認するシリーズです。
このページでは『Assets』に含まれているメニューの機能を解説しています。『Assets』にはその名の通りプロジェクト内のアセット管理の機能が多く含まれています。
確認の対象となるバージョンはUnity2018.3で、このバージョンをベースにしてメニューバーの中身をチェックしていきます。
『Assets』もメニュー項目がいっぱいなので、いくつかのページに分けて掲載します。
後編はこちら。
環境
macOS 10.14 Mojave
Unity2018.3.14f1
Unity Hub 1.6.2
メニューバーのAssets
このページではメニューバーの『Assets』について中身をチェック。
『Assets』は画面左から4番目、『Edit』と『GameObject』に挟まれています。
アセットファイルへの操作、シーンの追加読み込み、アセットのインポート/エクスポート、アセットのリフレッシュ、アセットの再インポート、Prefabの展開、自動APIアップデーターの起動、UIElementsのスキーマの更新、C#プロジェクトを開く機能、の9領域19メニュー。わぁい盛りだくさん。
このうちアセットファイルへの操作に含まれる「Create」は項目数がとても多いので別記事で紹介します。だってほらこれだもの。
このページではアセットファイルへの操作、シーンの追加読み込み、アセットのインポート/エクスポートについて解説を行います。
その他のメニューについて解説している後編はこちら。
アセットファイルへの操作
一番上の領域はアセットファイルへの操作に関する機能が並んでいます。
Create
Createはアセットを新規作成する機能です。「アセット」とはプロジェクト内にあるファイル全てを指すと思って大丈夫です。フォルダさえもアセットのひとつです。
上の方で載せた画像を見ていただくと分かるように、作成できるアセットファイルにはたくさんの種類があります。ここに載せると地獄のような長さのページになってしまうので、それぞれのアセット種別については別ページを用意してそちらで解説します。
実に4ページ分になりました。てんこ盛り。
Reveal in Finder
Reveal in Finderは選択したアセットをFinderで表示する機能です。Revealは「明らかにする」という意味の言葉。FinderはMacのファイルマネージャで、Windowsの人はエクスプローラを思い浮かべてもらえればいいかも。
例えばProjectウィンドウにいたシーンファイルを選択した後、この「Reveal in Finder」を使うと以下のようにFinderでシーンファイルが表示されます。
Unityの内部で作成したファイルについて使うことは少ないと思います。使うケースというと、自分でインポートした画像ファイルなどを編集する際に、実ファイルがどこにあるか確認したい! なんて時でしょうか。
Open
Openは選択されたアセットファイルを開く機能です。ダブルクリックした時と同じ動きだと思ってOK。
SceneファイルであればHierarchyウィンドウにシーンが表示されますし、スクリプトファイルであればVS Codeでファイルの中身が表示されます。
メニューバーからこの機能を選択するよりも、ダブルクリックすることの方が間違いなく多いです。
Delete
Deleteは選択されたアセットファイルを削除する機能です。シーン内のGameObjectを選択している場合はグレーアウトされて削除できません。
削除する際には以下のように確認ダイアログが表示されます。
『Edit』の中にも「Delete」がありますが、こちらは確認ダイアログ無しで即削除されます。こわい。
『Edit』の解説記事では、Projectウィンドウでコンテキストメニューを開いた時には動きが異なるよ! とお伝えしました。その理由は、コンテキストメニューに表示されている「Delete」は今回紹介している『Assets』の「Delete」だからなんです。以下の画像を見ると、『Assets』の中身と似ていることが分かります。
同じ名前のメニューがあるというのはちょっと混乱しますね。アセットファイルの削除を行いたい場合は、『Assets』の中にある「Delete」を使っていきましょう。
Rename
Renameはアセットファイルの名前を変更します。
スクリプトファイルの名前を変えた場合、クラス名までは変わらないため注意が必要です。
アセットファイルに名前をつける時には一貫性を持った分かりやすいものがおすすめ。
私は昔RPGツクールを使ってゲームを作っていたのですが、その時は素材ファイルの名前に適当なものを付けていたんです。「あれ.png」とか「戦闘の.png」みたいな感じです。こうなるとプレビューするまで中身が分からないので、開発効率が著しく落ちます。
……このページに来る人でこんなことをする人はいないと思うけど、念の為。
Copy Path
Copy Pathは選択したアセットファイルのパスをクリップボードにコピーします。
コピーされるパスは「Assets」からのものになります。
例えばProjectフォルダが以下のようになっている場合、「SampleScene」を選択してパスをコピーすると「Assets/Scenes/SampleScene.unity」がクリップボードにコピーされます。
使う場面というと、スクリプト内でアセットファイルをロードするためパスを指定する時でしょうかね。Resources.Loadなどでパスを指定してファイルを読み込んだりするので、手入力ではなくコピーで貼り付けられるとミスが無くていい感じです。
あ、Resources.Loadを使うなら「Resources/」の部分は切り取っておく必要があるので注意。
シーンの追加読み込み
2番目の領域はシーンの追加読み込みの機能です。
Open Scene Additive
Open Scene Additiveはシーンを追加読み込みする機能です。上の画像ではグレーアウトされちゃってますが、Projectウィンドウでシーンファイルを選択している場合に選べるようになります。
例えば、以下のように「SampleScene」を開いている状態があったとします。
この時、別のシーンファイル(ここでは「NewScene2」)をProjectウィンドウで選択し、[Assets] -> [Open Scene Additive]を選択すると、以下のように2つのシーンが両方読み込まれた状態になります。
2つのシーンを同時に編集したい場合は便利です。
アセットのインポート/エクスポート
3番目の領域はアセットのインポート/エクスポートの機能です。
Import New Asset…
Import New AssetはFinderやエクスプローラでファイルを選択してインポートを行います。
正直に言えば、この機能でインポートするよりもドラッグ&ドロップでインポートしちゃった方が楽ちんです。
Import Package
Import Packageはパッケージとして出力したアセット群をインポートする機能です。
昔はStandard Assetsをインポートするメニューがここにあったのですが、Unity2018.3ではCustom Packageだけが表示されています。
この機能は次の「Export Package」と組み合わせて使います。
Unityでは指定したアセットをひとまとめにしてパッケージファイルとして書き出す機能があります。いい感じのスクリプトが書けたら次のプロジェクトでも使い回す、なんてことが簡単にできるんです。
あとはプロジェクト内を整理したい場合に、削除対象のアセットをパッケージとして書き出しておいて、万一の場合に備えることもできます。間違って消しちゃいけないアセットを消したら、この「Import Package」を使ってバックアップの中からファイルを復旧させると安心です。
Export Package…
Export Packageは指定したアセットをひとまとめにしてパッケージとして出力する機能です。これを選択すると以下のようなウィンドウが表示されます。
画像だとアセットの数が少ないのでちょっと寂しい感じですが、プロジェクト内のアセットを選択してパッケージとして出力できます。
ウィンドウの下にある「Include dependecy」は依存関係のあるアセットを含めるかどうかのチェックボックスです。参照しているアセット(マテリアルなど)があるのにパッケージに含めなかった場合、インポートする側のプロジェクトでエラーが出てくるので、特に理由がなければチェックが入ったままにしておいた方が良いです。
アセットを選択したあとは「Export…」ボタンを押します。保存先を確認するダイアログが表示されるので、出力したい場所、ファイル名を入れて保存します。
拡張子は「.unitypackage」となっているので、一目見て「あ、Unityのパッケージだな」と分かります。
Find References In Scene
Find References In Sceneは現在開いているシーンで、選択されたアセットを参照しているオブジェクトがあるかどうかを検索する機能です。
試しに「RefScript」というスクリプトファイルを作ってみます。このファイルをシーン内に存在するGameObjectにアタッチします。
Projectウィンドウでスクリプトファイルを選択している状態で「Find References In Scene」をクリックします。するとスクリプトをアタッチしたGameObjectが強調されました。
検索ボックスをよーく見ると、「ref:Scenes/RefScript.cs」なんて文字列が。内部的には検索を行なっていたんですね。
Select Dependencies
Select Dependenciesは、選択したアセットが参照しているアセットを選択する機能です。
文字だけだと分かりにくいので以下のような条件でこの機能を使ってみます。
- SphereオブジェクトをPrefab化した
- Sphereオブジェクトはマテリアルの「Green」を参照している
- Sphereオブジェクトはスクリプトの「RefScript」をアタッチしている
- Sphereオブジェクトはシーンファイルを参照していない
この状態でProjectウィンドウの「Sphere」を選択し、「Select Dependencies」を使ってみるとこうなります。
ポイントは、選択したアセット「が」参照している対象を選択する点。選択したアセット「を」参照しているアセットは選択されません。
具体的に言うと、上記の条件であれば、参照される側である「RefScript」を選択した状態で「Select Dependencies」使った場合に以下のようになります。なんと、「Sphere」は選択されないんです。
この機能を使うときは参照「している方」なのか、「されている方」なのかで動きが変わるので注意。
後半へ続く(CVキートン山田)
前編のこの記事ではアセットファイルへの操作、シーンの追加読み込み、アセットのインポート/エクスポートまで。
後編では残りのアセットのリフレッシュ、アセットの再インポート、Prefabの展開、自動APIアップデーターの起動、UIElementsのスキーマの更新、C#プロジェクトを開く機能を確認します。
カテゴリで見ると後半の方が重いように見えますね。でも機能的にはそこまで重くはない……はず。
君はこのまま後編に進んでもいいし、Unityを開いて前編の機能を確認してもいい(世界樹)
ゲーム開発の攻略チャートを作りました!
-
前の記事
【Unity】メニューバーの「Edit」について解説(後編)【初心者向け】 2019.05.13
-
次の記事
【Unity】メニューバーの「Assets」について解説(後編)【初心者向け】 2019.05.14
コメントを書く