レッスン 2.1 - プレイヤーの位置操作

Tutorial

Beginner

+0XP

60 mins

(290)

Unity Technologies

レッスン 2.1 - プレイヤーの位置操作

概要:

このユニットでは、2 番目のプロトタイプ用の新しいプロジェクトを作成し、基本的なプレイヤーの動きをつかめるようにすることから始めます。まず、どのキャラクターにしたいか、どの種類の動物と交流したいか、どの食べ物を食べさせたいかを選択します。プロトタイプ1で行ったのと同じように、プレイヤーに基本的な横から横への動きを与えますが、その後、if-then文を使ってプレイヤーの動きを制限するようにします。

プロジェクトの成果物:

プレイヤーは、ユーザーの左右のキー操作に基づいて画面上を左右に移動することができますが、どちらの側でもプレイエリアから離れることはできません。

Resources

1. 導入

2. プロトタイプ 2 のプロジェクトを新規作成する

まず、新しいプロジェクトを作成し、Prototype 2のスターターファイルをインポートします。
  1. Unity Hub を開き、コースディレクトリに「Prototype 2」という名前の新規プロジェクトを作成します。
  2. リンクをクリックして Prototype 2 のスターターファイルにアクセスし、Unity にインポートします。
  3. プロトタイプ 2 のシーンを開き、SampleScene を保存せずに削除します。
  4. Unity Editor の右上で、レイアウトを Default からカスタムレイアウトに変更します。

3. プレイヤー、動物、食べ物を追加する

プレイヤー、動物、食べ物など、すべてのオブジェクトをシーン内に配置しましょう。
  1. 必要に応じて、Course Library > Materials から別のマテリアルを「グラウンド」オブジェクトにドラッグします。
  2. 人間 1 体、動物 3 体、食べ物 1 個を Hierarchy ウィンドウにドラッグします。
  3. キャラクターの名前を「Player」に変更して、動物や食べ物が見えるように配置しなおす
  4. 上から見てもわかりやすいように食べ物の X、Y、Z のスケールを調整する

4. ユーザーの水平方向の入力を取得する

プレイヤーを左から右に移動させたい場合は、ユーザーの入力を追跡する変数が必要です。
  1. Assets フォルダー内に「Scripts」フォルダーを作成し、その中に「PlayerController」スクリプトを作成します。
  2. Player にスクリプトをアタッチして開きます。
  3. PlayerController.cs の先頭に、新しい public float horizontalInput を宣言します。
  4. Update() で「horizontalInput = Input.GetAxis("Horizontal")」を設定し、インスペクターで動作することをテストします。

5. プレイヤーを左右に動かす

水平入力を使ってプレイヤーを左右に移動させる必要があります。
  1. 新しく public float speed = 10.0f を宣言します。
  2. Update()で、horizontalInput と speed に基づいてプレイヤーを水平方向に移動させます。

6. プレイヤーが枠から飛び出ないようにする

if-then 文を使ってプレイヤーが画面端より向こう側に行かないようにする必要があります。
  1. Update() で、プレイヤーの左側の X の値が特定の値よりも小さいかどうかをチェックする if ステートメントを記述します。
  2. if ステートメントで、プレイヤーの位置を現在位置の Y、Z の値、および特定の X の値を使って指定します。

7. コードと変数を整理する

プレイヤーの右側の X 座標についても同様の処理を書き、コードを整理する必要があります。
  1. 先ほどの処理と同じ処理を画面の右側についても書きます。
  2. 新しく xRange 変数を宣言し、ハードコードされた値をそれらの値に置き換えます。
  3. コードにコメントを追加します。

8. レッスンのまとめ

新機能

  • プレイヤーは、ユーザーの左右のキー押下に基づいて左右に移動することができます。
  • どちらの側からもプレイエリアから離れられないようになります。

新しい概念とスキル

  • オブジェクトのスケール調整
  • ifステートメント
  • 大なり(>)、小なり(<)演算子

次のレッスン

  • 動物たちに食べ物を与えるために、食べ物を無限に作り出す方法や投げ方を学びましょう。

Complete this Tutorial