💣

#cluster クリックしたらアイテム生成するアイテムを作る [個数制限付き]

2022/02/25に公開

https://youtu.be/I5C02dLbsvk

この記事の応用でこんなのが作れます。 10個まで生成できるようになっていますが、
数値を変更することで 数の制限を変更する事ができます。

使うコンポーネント

  • Item
    ワールド上に配置できるインタラクティブなオブジェクトの総称

  • On Create Item Trigger
    アイテムが生成された時に通知するトリガー

  • Interact Item Trigger
    掴めないアイテムに「使う」機能を追加し、使われたことを通知するトリガー

  • Create Item Gimmick
    アイテムを生成するギミック

  • Item Logic
    メッセージを読み取り、計算した結果をアイテムへメッセージとして通知するオペレーション

作り方

生成するアイテムを作る

はじめに生成するアイテムとして シンプルなキューブ を用意します。

  1. Hierarchyで右クリック CreateEmpty して GameObject をつくる
  2. 名前を CubeContainer にする
  3. CubeContainer 以下に Cube を追加する
  4. Cube の Scale を 0.2,0.2,0.2 にする
  5. CubeContainer を Hierarchyで選択する。
  6. Inspector で Add Component で Rigidbody を追加する
  7. Inspector で Add Component で Item を追加する
  8. CubeContainer を Project 欄に ドラッグ&ドロップして Prefab にしておく。

この操作で CubeContainer が 青色アイコンで Prefab として Hierarchyに表示されている筈。

ボタンの見た目を作る

次はタップするボタンになる アイテムを用意します。

  1. Hierarchyで右クリック CreateEmpty して GameObject をつくる
  2. 名前を ButtonContainer にする
  3. ButtonContainer 以下に Sphere を追加する
  4. Sphere の Scale を 0.2,0.2,0.2 にする
  5. ButtonContainer の Transform Y を 1.0 にする。

ボタンを押すとアイテムが生成されるようにする

まずは 個数制限ナシで アイテムが生成できるようにしてみます。
ButtonContainer に Creator Kit コンポーネントを追加して設定します。

  1. Hierarchy で ButtonContainer を選択する。
  2. Inspector で Add Component で Interact Item Trigger を追加する
  3. Triggersの+ボタンを押す
  4. Target This Click Signal を設定する
  5. Inspector で Add Component で Create Item Gimmick を追加する
  6. Target This Click Item Template
  7. Item Template 欄に Projectの CubeContainer Prefabを ドラッグ&ドロップして設定する

ここまでの設定で個数制限ナシで アイテムが生成できるようになった筈です。

https://youtu.be/dUN9gVBbbbM

個数制限を追加してみる。

アイテム生成ができるようになったので ButtonContainer に Creator Kit オペレーションコンポーネント を追加して個数制限をつけてみます。

  1. Hierarchy で ButtonContainer を選択する。
  2. アイテム生成時に生成する個数とカウントの為の数値を設定する
    Inspector で Add Component で On Create Item Trigger を追加する
  3. Triggersの+ボタンを押す
  4. Target This MAX_COUNT Integer 10 を設定する
  5. Triggersの+ボタンを押す
  6. Target This count Integer 0 を設定する
  7. Inspector で Add Component で Item Logic を追加する
  8. This Click を設定する
  9. +ボタンを押す
  10. count を加算する設定を追加する。
    Target This count Integer
    RoomState Integer This count
    Constant Integer 1
  11. +ボタンを押す
  12. count <= MAX_COUNT の場合だけアイテムが生成されるようにする
    Target This Create Signal
    LessThanOrEqual
    RoomState Integer This count
    RoomState Integer This MAX_COUNT
  13. Create Item Gimmick に設定している Key を Click から Create に変更する

https://youtu.be/H_RdUFnxeyY

生成する個数を変更してみる

値を変更することで 20個 まで生成できるようにしてみます。

  1. Hierarchy で ButtonContainer を選択する。
  2. Inspector で On Create Item Trigger を選択
  3. MAX_COUNT の数字を 20 に設定する

これで 20個 生成できるようになる筈です。

リセット

20個まで生成した状態をリセット(countを 0 にする)ボタンを作ってみます。

  1. Hierarchyで右クリック CreateEmpty して GameObject をつくる
  2. 名前を ResetContainer にする
  3. ResetContainer 以下に Sphere を追加する
  4. Sphere の Scale を 0.2,0.2,0.2 にする
  5. Inspector で Add Component で Interact Item Trigger を追加する
  6. Triggersの+ボタンを押す
  7. Target SpecifiedItem count を設定
    ※ SpecifiedItem にすると this の値を書き換える事ができる。
  8. Item 欄に Hierarchyの ButtonContainer をドラッグ&ドロップして設定
  9. Value Integer 0 を設定

Discussion