Unityに関連する記事です

 2つ目の手順です。

 アイテムの情報をデータベースとして登録できるように、アイテム用のスクリプタブル・オブジェクトを作成します。
この機能は4つ目の手順でスクリプトを作成する際に利用します。



設計


 アイテムのゲームオブジェクトにスクリプトをアタッチし、そのスクリプトがアイテムの情報を管理することにより、
アイテムにアイテムとしての振る舞いをさせることが目的です。

 アイテムの情報をデータベースとして管理できるようにしておくことで、情報の編集をまとめて行える環境を作ります。
またアイテム用の画像をデータベースに登録しておくことにより、スクリプトからの参照を簡単に出来ます。


 

ムービー情報を紐づけたアイテムのデータ作成


 2つのスクリプトを作成した後、そのスクリプトを元にしてスクリプタブル・オブジェクトを作成します。
スクリプタブル・オブジェクトの詳細については、VideoDataSO スクリプタブル・オブジェクトを作成する手順内に記述されていますので
こういった機会に復習しておくとよいでしょう。

 たくさん作成することで手順を覚え、機能を覚えることができます。


ItemData スクリプトの作成


 ItemData スクリプトを作成します。

 using の宣言は不要です。
またクラスは継承しませんので、MonoBehaviour クラスは削除してください。

 スクリプタブル・オブジェクトを作成した際、インスペクターから ItemData クラスの情報を設定できるように
[System.Serializable] 属性をクラスの上に付与してください。


ItemData.cs

<= クリックすると開きます。


 スクリプトを作成したらセーブします。

 コンストラクタについても復習しておくとよいでしょう。


ItemDataSO スクリプトの作成


 ItemDataSO スクリプトを作成します。
このスクリプトを利用することで、ItemData を束ねたスクリプタブル・オブジェクトをアセットとして作成することが出来ます。

 [CreateAssetMenu]属性の付与と、ScriptableObject クラスを継承することを忘れないようにしてください。


ItemDataSO.cs

<= クリックすると開きます。


 スクリプトを作成したらセーブします。


ItemDataSO スクリプタブル・オブジェクトの作成


 Project 内に Datas などのフォルダを作成しておくと管理しやすくなります。

 Datas フォルダ内で右クリックをしてメニューを開き、Create → Create ItemDataSO を選択します。
フォルダ内に ItemDataSO スクリプタブル・オブジェクトのアセットが作成されます。名前はそのままで問題ありません。


メニュー




 ItemDataSO スクリプタブル・オブジェクトのアセットを選択し、インスペクターから ItemData にアイテムの情報を登録します。

 まずは ItemNo を 0 から連番で設定し、同じ番号を使わないようにしてください。

 名前や画像は任意のもので設定してください。


インスペクター画像(サンプル。この画像のようにする必要はありません)



DataBaseManager スクリプトの修正


 作成したスクリプタブル・オブジェクトのアセットは、そのままではスクリプトで参照して利用できません。
前回の VideoDataSO スクリプタブル・オブジェクトのアセットと同じように、スクリプタブル・オブジェクトの型の変数を宣言してアセットをアサイン出来るようにします。

 スクリプタブル・オブジェクトにはデータ情報が登録されていますが、どの情報を利用するのかを特定できなければ利用出来ません。
そのため、こちらも前回の VideoDataSO スクリプタブル・オブジェクトと同じように情報を抽出するための機能を持つメソッドを作成し、
引数で指定した番号を利用してスクリプタブル・オブジェクト内の情報を検索して特定のデータを抽出させます。


DataBaseManager.cs

 <= クリックすると開きます。


 スクリプトを修正したらセーブします。


DataBaseManager ゲームオブジェクトの設定


 新しく宣言した ItemDataSO 変数に、Datas フォルダにある ItemDataSO スクリプタブル・オブジェクトのアセットをドラッグアンドドロップしてアサインします。

 これにより、ゲーム内(スクリプト内)で、ItemDataSO スクリプタブル・オブジェクトの情報を利用出来るようになります。


インスペクター画像




 以上でこの手順は終了です。

 => 次は VideoPlayer を利用したイベント処理の実装例 です。

コメントをかく


「http://」を含む投稿は禁止されています。

利用規約をご確認のうえご記入下さい

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

2Dおはじきゲーム(発展編)

2D強制横スクロールアクション(発展編)

3Dダイビングアクション(発展編)

2Dタップシューティング(拡張編)

レースゲーム(抜粋)

2D放置ゲーム(発展編)

3D脱出ゲーム(抜粋)

2Dリアルタイムストラテジー

2Dトップビューアドベンチャー(宴アセット使用)

3Dタップアクション(NavMeshAgent 使用)

2Dトップビューアクション(カエルの為に〜、ボコスカウォーズ風)

3Dトップビューアクション(白猫風)

VideoPlayer イベント連動の実装例

VideoPlayer リスト内からムービー再生の実装例(発展)

AR 画像付きオブジェクト生成の実装例

AR リスト内から生成の実装例(発展)

private



このサイト内の作品はユニティちゃんライセンス条項の元に提供されています。

管理人/副管理人のみ編集できます