アセットワークフロー

ここでは Unity でのアセットの使用方法について解説します。
紹介するのは基本となる方法のおおまかな流れですので、目安としてください。
では、3D メッシュを例にして説明します。

ラフアセットの作成

サポートされている 3D モデリングパッケージを元にアセットのラフバージョンを作ってみましょう。
例では Maya を使用しています。保存したい状態になるまでアセットで作業してみましょう。
Unity がサポートしているアプリケーションの一覧はこちらのページをご覧ください。

インポート

アセットを初めて保存するときには、プロジェクトフォルダーの中のアセットフォルダーに通常どおりに保存してください。
Unity でプロジェクトを開くと追加したアセットが認識されて、プロジェクトにインポートされます。
プロジェクトビューで見ると、保存した場所にアセットが格納されているのが確認できます。
Unity はモデリングパッケージが提供する FBX エクスポーターを使用してモデルを FBX ファイルフォーマットに変換していますので、モデリングパッケージの FBX エクスポーターがあることを確認しておいてください。
もしくは、アプリケーションから直接 FBX としてエクスポートして、それを Unity のプロジェクトフォルダーに保存することも可能です。
Unity がサポートしているアプリケーションの一覧はこちらのページをご覧ください。

インポートの設定

プロジェクトビューにあるアセットをクリックすると、そのアセットのインポート設定がインスペクタービューの中に表示されます。
表示されるオプション項目は、選択したアセットの種類によって変わります。

シーンにアセットを追加する

プロジェクトビューからヒエラルキービューもしくはシーンビューにドラッグするだけで、シーンにアセットを追加することができます。
メッシュをシーンにドラッグした場合、メッシュレンダラコンポーネントを持つゲームオブジェクトが作成されます。
テクスチャーやサウンドファイルについては、すでにシーンやプロジェクトの中に存在するゲームオブジェクトに追加する必要があります。

アセットをまとめる

代表的なアセットの関係は以下のようになっています

  • テクスチャーは Material/マテリアルに追加します
  • マテリアルは (メッシュレンダラコンポーネントと一緒に) ゲームオブジェクトに追加します
  • アニメーションは (アニメーションコンポーネントと一緒に) ゲームオブジェクトに追加します
  • サウンドファイルは (オーディオソースコンポーネントと一緒に) ゲームオブジェクトに追加します

Prefab を作成する

Prefab とは、シーンで利用できるように各種ゲームオブジェクトとその関連コンポーネントをセットにしたものの呼び名です。
ひとつの Prefab から同じオブジェクトを複数作ることを、インスタンス作成と呼びます。たとえば木を例にすると、木の Prefab をひとつ作成し、インスタンスとしてその木と同じものを複数、シーンの中に設置することが可能となります。
それぞれの木は元となったひとつの Prefab に関連付いていますから、Prefab に変更を加えると、それを元としたすべての木に同様の変更が適用されます。メッシュやマテリアルなど全ての要素が、Prefab を 1 度変更するだけで行き渡るわけです。
ひとつのインスタンスに変更を加えたものを、メインメニューの GameObjectApply Changes to Prefab を選択することで、Prefab 本体に適用することも可能です。
これはアセットの設定や更新の時間の節約となるでしょう。

ゲームオブジェクトに複数のコンポーネントが含まれさらに子階層にもゲームオブジェクトがあるような場合、最上位のゲームオブジェクト (ルート) を Prefab にして、そこから以下に含まれるゲームオブジェクトをひとつのまとまりとして使用することができます。

Prefab はゲームオブジェクトの設計図のようなものだと考えてください。その設計図に基づいてまったく同じものが分身として複製されるわけです。
設計図が更新されれば分身も同じように更新されます。
分身の方に加えた変更を設計図に反映することによって Prefab を更新する、という逆の方法もあります。
Prefab の使用と更新の方法については Prefab のページをご覧ください。

すでにシーンにあるゲームオブジェクトを元にして Prefab を作成するには、まずプロジェクトビューで新規に Prefab を作成し、好きな名前をつけます。
そしてシーンの中から Prefab に設定したいゲームオブジェクトをクリック。
そのまま新規作成した Prefab にドラッグし、ゲームオブジェクトの名称が青く変わったら、Prefab の完成です。

アセットを更新する

アセットをインポートして、インスタンス化して、Prefab に関連付けるところまでできました。
元になったアセットを編集したい場合は、プロジェクトビューでダブルクリックすればいいだけです。
対応するアプリケーションが起動しますから、お好みの変更を加えましょう。作業が終わったら、そのまま保存してください。
Unity に戻ると更新が検出され、アセットは自動で再インポートされます。
アセットから Prefab への関連付けもそのまま引き継がれていますので、アセットの更新は Prefab にも適用されます。
アセットの更新について知っておかなくてはいけないことはこれで全部。開いて保存するだけです。

おまけ - アセットにラベルを追加する

アセットをすべてスッキリ整理整頓しておくために、アセットにラベルをつけておくのはいいアイディアだと思いませんか?
プロジェクトビューやオブジェクトセレクターでアセット関連のラベルを検索する際にも役に立ちます。

アセットにラベルを追加する手順は以下のとおりです

  1. プロジェクトビューでラベルを追加するアセットを選択
  2. アセットにラベルがない場合は、インスペクタービューで「Add Label」アイコン () をクリック
  3. すでにラベルがある場合にはそのラベルをクリック
  4. ラベルを記入

ヒント

アセットには複数のラベルを付けることができます。
ラベルを分割して追加で付けたい場合は、スペースキーかエンターキーを押して続けます