#1 Unityでボタンを押した時にアイテムを拾う処理の作り方

もくじ

このシリーズを完走した時に出来るもの

Fキーを押すと近場のアイテムから拾っていきます。

拾うアイテムにはデバッグ用にGizmo(灰色の球)が表示されています。

この記事で扱うUnityのバージョン・アセット

今回は2021/6/9日にUnityから新しく配信されたアセット

Starter Assets – Third Person Character Controller

を使って実装していきます。

このアセットはUnityの新しい機能を積極的に使用したアセットになっていて、

Unity2020.3.0以降のバージョンにのみインポートすることが出来ます。

まずはアセットのインポートから

Starter Assets – Third Person Character Controllerの紹介ページに飛んでアセットをプロジェクトにインポートして下さい。

もしインポートの仕方が分からない場合はこちらの記事をご覧ください!

インポートしたら
Assets/StarterAssets/ThirdPersonController/Scenes にある

Playground』というシーンを開いてください。

動作確認をしてみましょう!

GameビューにあるMaxmize On Playをクリックして有効にした後、再生ボタンを押してみて下さい。(全画面再生する設定です)

キーバインドはこのようになっています。

アクションキー
移動W, A, S, D
走るShift
ジャンプSpace
カメラの回転マウスのドラッグ

アイテムを作成

まずはプレイヤーが拾うアイテムを作っていきます。

  1. Hierarchyビューのマークをクリック
  2. 出てきたメニューの中から3D Objectをクリック
  3. Cubeをクリック
  4. 生成されたCubeの名前をItemに変更

Transform、BoxColliderのプロパティを編集

  • Transformの値を変更します。
プロパティXYZ
Position000
Rotation000
Scale0.30.30.3
  • BoxColliderのIsTriggerにチェックを入れます

Itemタグを設定

Transformコンポーネントの上部にある「Untagged」をクリックします。

次に、出てきたメニューの中から「Add Tag…」をクリックしてください。

」マークをクリックし「Item」と入力して「Save」ボタンをクリックしてください。

Itemオブジェクトを選択してもう一度「Untagged」をクリックしてください。

出てきたメニューに先ほど追加した「Item」が追加されているのでクリックして選択してください。

アイテムのプログラムを作っていく

まずはプログラムを入れるフォルダーを作成していきます。

ProjectビューのAssetsフォルダを右クリックして Create -> Folder を選択

フォルダ名を「Script」とします。

フォルダーが作成出来たら次にスクリプトを作成していきます。

ProjectビューからScriptフォルダーを右クリックして Create -> C# Script を選択

スクリプト名は「Item」とします。

作成したItem.csをダブルクリックしてテキストエディタを開き、以下を入力してください。

Item.cs
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.Events;

public class Item : MonoBehaviour
{
    [Header("アイテムが拾われた時のイベント")]
    public UnityEvent onPickUp;
    /// <summary>
    /// 拾われた時呼ばれる
    /// </summary>
    public void PickUp()
    {
        print("拾われた!");
        onPickUp.Invoke();
        Destroy(gameObject);
    }
}

作成したItemスクリプト選択し、HierarchyビューのItemオブジェクトにドラッグ&ドロップしてください。

このような操作を「アタッチ」といいます

次に、先ほどと同じ手順でAssetsフォルダー直下に「Prefab」フォルダーを作成してください。

作成したPrefabフォルダーを開いて、HierarchyビューにあるItemオブジェクトをProjectビューにドラッグ&ドロップでPrefab化してください。

Prefab化した後、HierarchyビューにあるItemオブジェクトは一旦削除しましょう。

これでアイテムの作成は終了です!

さいごに

今回はアイテムを作成するところで一区切りつけようと思います。

次回はいよいよプレイヤー側のスクリプトを書いて完成の予定です!

ちなみに今回やったこととしては

といった感じですね~

ではでは、次回の記事もなるべく早く投稿できるよう頑張ります!

2021/6/28 記事投稿しました!

2021/6/26

更新

2021/6/28
  • Itemオブジェクトにタグを設定
  • ItemクラスにonPickUpというフィールドを追加
  • パート2の記事情報を追記

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です