アセットの作成と管理【Unityスタートガイド4-5】

目次

この記事で学べること

  • Material(マテリアル)の作成と基本的な設定
  • Script(スクリプト)の作成と、VS Codeで開くまで
  • Prefab(プレハブ)の基本的な作成方法
  • Animation(アニメーション)の作成手順
  • プロジェクトのフォルダ構成ベストプラクティス

前提知識

アセット作成の基本

Unityでは、様々な種類のアセットを作成してゲームを構築していきます。アセットを作成する基本的な方法を学びましょう。

右クリックメニューの活用

Projectウィンドウで右クリックすると、様々なアセットを作成できます。

主な作成オプション:

  • Folder: フォルダの作成
  • Material: マテリアルアセット
  • MonoBehaviour Script: C#スクリプトファイル
  • Animation>Animation Clip: アニメーションクリップ
  • Scene>Scene: 新しいシーン

アセットの命名規則

作成したアセットにはわかりやすい名前をつけましょう。

良い命名例:

  • PlayerController.cs(プレイヤー制御スクリプト)
  • WoodMaterial.mat(木製マテリアル)
  • WalkAnimation.anim(歩行アニメーション)

避けるべき命名:

  • New Material.mat(デフォルト名のまま)
  • script1.cs(意味不明)
  • aaa.anim(適当な名前)
スライム

ファイルの命名は非常に重要になります!困ったらAIを活用して、名前のアイデアを考えてもらうのも良いかも!

Materialの作成

オブジェクトの見た目を定義するマテリアルの作成方法を学びましょう。

Materialの役割

Materialは、オブジェクトの表面の見た目を決定します。

Materialが管理するもの:

  • 色(Color): 基本色
  • テクスチャ(Texture): 表面の模様
  • シェーダー(Shader): 描画方法
  • 反射・透明度: 光の反射特性

Materialの作成手順

手順1: 新しいMaterialを作成

  1. Projectウィンドウで右クリック
  2. Create > Material を選択
  3. 適切な名前をつける(例:RedMaterial。拡張子の.matは自動で付くので入力しない)

手順2: 基本プロパティの設定

主要な設定項目:

  • Base Map: 基本色とテクスチャ
  • Metallic: 金属のような光沢(0-1)
  • Smoothness: 表面の滑らかさ(0-1)
  • Emission: 自ら光る色(ネオンなど)

手順3: オブジェクトへの適用

  1. MaterialをProjectからシーン内のオブジェクトにドラッグ
  2. Mesh RendererのMaterialsスロットに設定される

実践:色付きマテリアルの作成

赤い光沢のあるマテリアルを作成してみましょう。

  1. 新しいMaterialを作成(名前はRedShiny)
  2. Base Mapの色を赤に設定
  3. Metallicを0.8、Smoothnessを0.9に設定

Scriptの作成

ゲームの挙動を制御するスクリプトの作成方法を学びましょう。

スクリプトの役割

スクリプトは、ゲームオブジェクトに「動き」や「振る舞い」を与えます。

スクリプトでできること:

  • 移動・回転: オブジェクトのトランスフォーム制御
  • 入力処理: キーボード・マウス入力の取得
  • 物理演算: 重力や衝突の制御
  • イベント処理: 衝突時の処理

Scriptの作成手順

手順1: 新しいスクリプトを作成

  1. Projectウィンドウで右クリック
  2. Create > MonoBehaviour Script を選択
  3. 適切な名前をつける(例:PlayerMovement。拡張子の.csは自動で付くので入力しない)
    • ここで付けた名前が、そのままクラス名になります

手順2: スクリプトの編集

スクリプトをダブルクリックすると、1-3で設定したVS Codeが開きます。作ったばかりのスクリプトは、次のような中身になっています:

using UnityEngine;

public class PlayerMovement : MonoBehaviour
{
    // Start is called once before the first execution of Update after the MonoBehaviour is created
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

手順3: ゲームオブジェクトへのアタッチ

  1. スクリプトをProjectからシーン内のオブジェクトにドラッグ
  2. Inspectorにコンポーネントとして追加される

実践:回転スクリプトの作成

オブジェクトを回転させる簡単なスクリプトを作成してみましょう。

using UnityEngine;

public class RotateObject : MonoBehaviour
{
    public float speed = 30f; // 回転速度

    void Update()
    {
        // Y軸周りに回転
        transform.Rotate(Vector3.up * speed * Time.deltaTime);
    }
}

Prefabの作成

再利用可能なテンプレート「プレハブ」の基本的な作成方法を学びましょう。

Prefabの概念

プレハブは、設定済みのゲームオブジェクトのテンプレートです。

プレハブの利点:

  • 再利用性: 同じオブジェクトを複数作成
  • 一括管理: 変更が全てのインスタンスに反映
  • 効率化: 複雑なオブジェクトを簡単に複製

Prefabの作成手順

手順1: オブジェクトの準備

まず、プレハブ化したいオブジェクトを作成します。

  1. ゲームオブジェクトを作成
  2. 必要なコンポーネントを追加
  3. 適切な設定を行う

手順2: Prefabの作成

  1. HierarchyからオブジェクトをProjectウィンドウにドラッグ
  2. Prefabsフォルダにドロップ
  3. 青いキューブアイコンに変化

手順3: Prefabの使用

  1. プレハブをシーンにドラッグ&ドロップ
  2. 自動的にインスタンスが作成される

Animationの作成

オブジェクトに動きをつけるアニメーションの作成方法を学びましょう。

Animationの役割

アニメーションは、オブジェクトのプロパティを時間経過で変化させます。

アニメーションで制御できるもの:

  • 位置(Position): 移動
  • 回転(Rotation): 回転
  • 大きさ(Scale): 拡大縮小
  • 色(Color): 色変化
  • その他: コンポーネントのプロパティ

Animationの作成手順

手順1: Animationウィンドウを開く

  1. Window > Animation > Animation を選択
  2. アニメーションウィンドウが開く

手順2: 新しいアニメーションの作成

  1. アニメ対象のオブジェクトを選択
  2. Animationウィンドウの「Create」ボタンをクリック
  3. ファイル名をつけて保存

手順3: キーフレームの設定

  1. 「Add Property」からアニメーションさせる項目(Transform>Positionなど)を追加
    • 0秒と1秒の位置にキーフレームが自動で出来ます
  2. タイムライン上で、値を変えたい時間を選択
  3. 赤い録画ボタンを押してから値を変更すると、キーフレームが記録される

手順4: アニメーションの再生

  1. Animationウィンドウの再生ボタンをクリック
  2. プレビューで確認

フォルダ構成のベストプラクティス

プロジェクトが大きくなるにつれて、整理されたフォルダ構成が重要になります。

おすすめフォルダ構成

効率的なプロジェクト管理のためのフォルダ構成です。

基本的なフォルダ構成:

Assets/
├── Scripts/           # C#スクリプトファイル
├── Materials/         # マテリアルアセット
├── Prefabs/           # プレハブアセット
├── Scenes/            # シーンアセット
├── Textures/          # テクスチャ画像
├── Audio/             # 音声ファイル
├── Animations/        # アニメーションクリップ
├── Fonts/             # フォントファイル
└── Editor/            # エディタ拡張スクリプト

フォルダ整理のコツ

1. 機能別フォルダ

同じ機能のアセットをまとめて管理:

Scripts/
├── Player/
│   ├── PlayerController.cs
│   ├── PlayerHealth.cs
│   └── PlayerAnimation.cs
├── Enemy/
│   ├── EnemyAI.cs
│   └── EnemySpawner.cs
└── UI/
    ├── MenuController.cs
    └── ScoreManager.cs

2. アセット名の統一

アセットの種類ごとに名前の付け方を決めて、そろえておきましょう:

  • スクリプトは単語の頭を大文字でつなぐ(PlayerController.cs)
  • 画像は小文字とアンダースコアでつなぐ(wood_texture.png)
  • どの書き方でもいいので、プロジェクトの中で統一するのが大事です

3. 定期的な整理

プロジェクトが大きくなる前に整理する習慣をつける。

注意点やヒント

アセットは早めに整理しよう!

プロジェクトの初期段階からフォルダ構成を決めて整理しておくと、後々の開発がとても楽になります。一度散らかってしまうと修正が大変なので、こまめな整理を心がけましょう。

スクリプトは短く保つ

1つのスクリプトに全ての機能を詰め込まないようにしましょう。PlayerController.csのように、役割ごとにファイルを分けることをおすすめします。

プレハブはバージョン管理に注意

プレハブを変更すると全てのインスタンスに影響します。大きな変更前にはバックアップを取るか、バージョン管理システムを活用しましょう。

よくあるエラーと対処法

エラー1: Materialが適用されない

  • 原因:シェーダーがプロジェクトのレンダーパイプラインと合っていない(URPのプロジェクトで古いStandardシェーダーを使うと、ピンク色になります)
  • 対処法:URPのプロジェクトでは、Universal Render Pipelineの中のシェーダー(Litなど)を選ぶ(3-3の記事で説明しています)

エラー2: スクリプトがアタッチできない

  • 原因:スクリプトにコンパイルエラーがある、またはファイル名とクラス名が違う
  • 対処法:Consoleウィンドウでエラーを確認して修正する。ファイル名と public class ○○ の名前をそろえる

エラー3: アニメーションが再生されない

  • 原因:Animationウィンドウで選んでいたオブジェクトと、動かしたいオブジェクトが違う。またはキーフレームが1つしかなく、値が変化していない
  • 対処法:動かしたいオブジェクトを選んでからAnimationウィンドウを確認する。最初と最後で値が違うキーフレームを打つ(AnimationウィンドウのCreateで作ると、Animatorコンポーネントは自動で追加されます)

エラー4: プレハブの変更が反映されない

  • 原因:シーンに置いたプレハブ(インスタンス)だけを変更していて、元のプレハブに反映していない
  • 対処法:Projectウィンドウのプレハブをダブルクリックして、プレハブ編集モードで変更する。またはインスタンスのInspector上部のOverrides>Apply Allで元のプレハブに反映する(第7章で詳しく説明します)

まとめ

この記事では、Unityのアセット作成と管理について学びました:

  • Material作成: 色・テクスチャ・光沢の設定
  • Script作成: C#スクリプトの作成と、VS Codeで開くまで
  • Prefab作成: 再利用可能なオブジェクトテンプレート
  • Animation作成: キーフレームベースのアニメーション
  • フォルダ構成: プロジェクトの整理整頓

これらのアセット作成スキルをマスターすることで、より本格的なゲーム開発が可能になります。特にフォルダ構成は、プロジェクトの規模が大きくなるほど重要になるので、ぜひ実践してください。

スライム

気づいたらAssetsの直下がファイルだらけに・・・

フェアリー

最初にフォルダを作っておけば大丈夫!作ったらすぐ入れるクセをつけようね

次のステップ

アセットの管理を学んだら、次はUnityでよく使われる専門用語について学びましょう:

スクリプトの書き方は、第6章で詳しく説明します。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメント一覧 (2件)

コメントする

目次