
レッスン 2.1 - プレイヤーの位置操作
Tutorial
Beginner
+0XP
60 mins
(290)
Unity Technologies

概要:
このユニットでは、2 番目のプロトタイプ用の新しいプロジェクトを作成し、基本的なプレイヤーの動きをつかめるようにすることから始めます。まず、どのキャラクターにしたいか、どの種類の動物と交流したいか、どの食べ物を食べさせたいかを選択します。プロトタイプ1で行ったのと同じように、プレイヤーに基本的な横から横への動きを与えますが、その後、if-then文を使ってプレイヤーの動きを制限するようにします。
プロジェクトの成果物:
プレイヤーは、ユーザーの左右のキー操作に基づいて画面上を左右に移動することができますが、どちらの側でもプレイエリアから離れることはできません。
Resources
1. 導入
2. プロトタイプ 2 のプロジェクトを新規作成する
まず、新しいプロジェクトを作成し、Prototype 2のスターターファイルをインポートします。
- Unity Hub を開き、コースディレクトリに「Prototype 2」という名前の新規プロジェクトを作成します。
- リンクをクリックして Prototype 2 のスターターファイルにアクセスし、Unity にインポートします。
- プロトタイプ 2 のシーンを開き、SampleScene を保存せずに削除します。
- Unity Editor の右上で、レイアウトを Default からカスタムレイアウトに変更します。
3. プレイヤー、動物、食べ物を追加する
プレイヤー、動物、食べ物など、すべてのオブジェクトをシーン内に配置しましょう。
- 必要に応じて、Course Library > Materials から別のマテリアルを「グラウンド」オブジェクトにドラッグします。
- 人間 1 体、動物 3 体、食べ物 1 個を Hierarchy ウィンドウにドラッグします。
- キャラクターの名前を「Player」に変更して、動物や食べ物が見えるように配置しなおす
- 上から見てもわかりやすいように食べ物の X、Y、Z のスケールを調整する
4. ユーザーの水平方向の入力を取得する
プレイヤーを左から右に移動させたい場合は、ユーザーの入力を追跡する変数が必要です。
- Assets フォルダー内に「Scripts」フォルダーを作成し、その中に「PlayerController」スクリプトを作成します。
- Player にスクリプトをアタッチして開きます。
- PlayerController.cs の先頭に、新しい public float horizontalInput を宣言します。
- Update() で「horizontalInput = Input.GetAxis("Horizontal")」を設定し、インスペクターで動作することをテストします。
5. プレイヤーを左右に動かす
水平入力を使ってプレイヤーを左右に移動させる必要があります。
- 新しく public float speed = 10.0f を宣言します。
- Update()で、horizontalInput と speed に基づいてプレイヤーを水平方向に移動させます。
6. プレイヤーが枠から飛び出ないようにする
if-then 文を使ってプレイヤーが画面端より向こう側に行かないようにする必要があります。
- Update() で、プレイヤーの左側の X の値が特定の値よりも小さいかどうかをチェックする if ステートメントを記述します。
- if ステートメントで、プレイヤーの位置を現在位置の Y、Z の値、および特定の X の値を使って指定します。
7. コードと変数を整理する
プレイヤーの右側の X 座標についても同様の処理を書き、コードを整理する必要があります。
- 先ほどの処理と同じ処理を画面の右側についても書きます。
- 新しく xRange 変数を宣言し、ハードコードされた値をそれらの値に置き換えます。
- コードにコメントを追加します。
8. レッスンのまとめ
新機能
- プレイヤーは、ユーザーの左右のキー押下に基づいて左右に移動することができます。
- どちらの側からもプレイエリアから離れられないようになります。
新しい概念とスキル
- オブジェクトのスケール調整
- ifステートメント
- 大なり(>)、小なり(<)演算子
次のレッスン
- 動物たちに食べ物を与えるために、食べ物を無限に作り出す方法や投げ方を学びましょう。