Unityに関連する記事です

 コンディションの情報をデータベース化し、プレファブ内で設定せずに、データベースから情報を参照して自動的に設定する機能を実装します。




設計


 コンディション用の情報を管理するためにスクリプタブル・オブジェクトを作成し、そちらに各コンディションの情報を設定するようにします。
それが完成したら、応用として、コンディション用のシンボルのコンディションの情報に、このデータベースの情報を参照して自動的に設定する機能の実装に挑戦します。


ConditionData スクリプトを作成する


 MonoBehaviour クラスを継承していないクラスを作成します。
そのため、このクラスはゲームオブジェクトにはアタッチできません
あくまでもデータ用として利用するために作成しておきます。


ConditionData.cs

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




ConditionDataSO スクリプトを作成する


 ConditionData クラスを List にして管理するクラスを作成します。
この ConditionDataSO スクリプトを利用してスクリプタブル・オブジェクトを作成します。


ConditionDataSO.cs

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



ConditionDataSO スクリプト内に ConditionData クラスを一緒に作成する場合


 なお、上記の2つのスクリプトを分けず、1つのスクリプト内に入れ子クラスとして作成することもできます。
これはどちらの方法を利用しても構いません。


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



ConditionDataSO スクリプタブル・オブジェクトを作成する


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


インスペクター画像



 自分で作成してあるコンディションの数だけ、List の Size を設定して、コンディションの情報を設定してください。


設定後のインスペクター画像(参考画像)



DataBaseManager スクリプトを修正する


 ConditionDataSO スクリプタブル・オブジェクトを他のスクリプト内で利用できるように DataBaseManager クラスに変数を追加してアサインします。


DataBaseManager.cs

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



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


 Datas フォルダ内にある ConditionDataSO スクリプタブル・オブジェクトをドラッグアンドドロップしてアサインしてください。
これで利用できる環境になりました。


インスペクター画像


 
 コンディション機能の実装3から来ている場合には、ここで実装3に戻ってください。


<考えよう!> コンディション用のシンボルが生成されたときに、ConditionDataSO スクリプタブル・オブジェクトの情報を参照してコンディションの設定を行う


 こちらの部分は、コンディション機能の実装4が終了してから挑戦してください

 各コンディションごとに、プレファブにデータの値を設定するのは煩わしい作業になるため、
ConditionDataSO スクリプタブル・オブジェクトに設定している ConditionData のデータを使って、自動的に設定する機能を実装してみましょう。
TODO で記述している部分が役立ちます。

 各コンディション用のシンボルのプレファブには ConditionItemSymbol クラスがアタッチされており、
このクラスには ConditionType の情報が設定されていますので、この情報を検索条件にして情報を取得して設定するといいでしょう。


ConditionItemSymbol.cs

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

コメントをかく


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

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

Menu



プログラムの基礎学習

コード練習

技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3D脱出ゲーム(抜粋)

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

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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