Unityに関連する記事です

設計


 Ray をポインターとして利用し、ゲームオブジェクトがアイテムであるかどうかを判定する機能を実装しました。

 この手順では、アイテムであった場合に、インベントリ(アイテムの管理機能)にアイテムのデータを登録する機能を実装します。
この機能を実装したら、先の手順において、登録したアイテム群をインベントリ情報としてゲーム画面に一覧表示し、それをポインターでクリックして使用できるようにします。

 まずはインベントリの機能を作成し、アイテムのデータベースを利用できる状態にします。
その後、アイテムを取得する処理を追加していく、という順番で実装します。


GameData スクリプトを作成する


 インベントリ機能を実装するため、シングルトンのクラスを作成し、その中に管理させます。
理由としては、いずれのクラスからでも参照しやすい環境を作るためです。


GameData.cs

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



GameData ゲームオブジェクトを作成し、GameData スクリプトをアタッチする


 ヒエラルキーの空いている場所で右クリックをしてメニューを開き、Create Empty をして新しいゲームオブジェクトを作成します。
名前を GameData に変更し、作成した GameData スクリプトをアタッチしてください。


インスペクター画像



 他のシーンでも利用することを念頭におき、プレファブにしておくことで利便性が高まります。
シングルトンクラスであるため、シーン遷移時には不要な GameData ゲームオブジェクト(重複する)が破棄されます。
必要であれば、各シーンに配置しておくといいでしょう。


DataBaseManager スクリプトを作成する


 前回の手順で作成したアイテムのデータベースである ItemDataSO スクリプタブル・オブジェクトをゲーム内で利用できるようにします。
他にもデータベースの機能を有する情報を管理する場合には、こちらのクラスで管理を行います。
 
 このクラスのシングルトンクラスとして作成します。
利用方法などは GameData クラスと同じです。


DataBaseManager.cs

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



DataBaseManager ゲームオブジェクトを作成し、DataBaseManager スクリプトをアタッチして設定を行う


 ヒエラルキーの空いている場所で右クリックをしてメニューを開き、Create Empty をして新しいゲームオブジェクトを作成します。
名前を DataBaseManager に変更し、作成した DataBaseManager スクリプトをアタッチしてください。


インスペクター画像


 使い方は GameData ゲームオブジェクトと同じになりますので、複数のシーンで利用が見込まれる場合には
プレファブにしておくといいでしょう。


ItemEvent スクリプトを修正する


 作成済の ItemEvent スクリプトを修正し、TODO 部分を実装します。


ItemEvent.cs

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



PlayerController スクリプトを作成する


 いずれかのボタンを操作した際に、アイテムを取得できるようにします。
こちらの例では X ボタンを指定していますが、別のボタンでも問題ありません。


PlayerController.cs

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


 スクリプトを作成したらセーブし、OVRPlayerController ゲームオブジェクトにアタッチします。


ゲームを実行して動作を確認する


 ItemEvent スクリプトがアタッチされているゲームオブジェクトにプレイヤーを侵入させます。
その状態でスクリプトで指定したボタンを押してください。GameData クラスのインベントリにアイテムのデータが登録されれば制御成功です。


GameData ゲームオブジェクトのインスペクター画像




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

コメントをかく


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

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

Menu



技術/知識(実装例)

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

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

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

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

レースゲーム(抜粋)

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

3Dレールガンシューティング(応用編)

3D脱出ゲーム(抜粋)

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

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

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

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

VideoPlayer イベント連動の実装例

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

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

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

private



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

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