前回はフィールドマップとダンジョンマップをマップ間移動処理を実現するマスイベントを作成しました。
前回の記事:
今回の記事ではフィールドマップに村人を配置していきます。
UnityでNPC(ノンプレイヤーキャラクター)を作る方法をマスターしていきましょう。
NPCである村人の作成
それでは村人を作っていきましょう!
使用するスプライトは次のものにしています。プレイヤースプライト作成時と同様にプロジェクトに追加し、適切に分割してください。スライスするときのPivotはCenterにしてください。
※今回利用する画像はぴぽや倉庫様(https://pipoya.net/)の素材となります。
村人用のプレハブの作成
「NPCEvent」の実装では配置の手間を減らすため「Prefab」に設定したGameObjectを自動的にマップに追加するようにします。
そのため、まずは村人用のプレハブを新しく作成していきましょう!
この講座のその1で「CharacterPrefab」を先に作成しているので、そのプレハブから派生したプレハブを作成します。(Prefab Variantとして必ず作成してください。)
作成したプレハブの名前は「NPC」にしてください。保存先はどこでもいいですが、この記事ではAssets > Prefabsの中に保存しています。
プレハブを作成したら必ず「Image」に村人の画像を設定してください。
また、プレハブ作成をもしRPGScene内で行っていたらシーンからは削除してください。
NPC村人のUnity C#スクリプトの作成
次に村人関係のスクリプトを作っていきます。
プレイヤーと村人のコンポーネントを共通化する
村人のスクリプトはプレイヤーと似た実装になる部分が多いので、基底クラスを共有するように修正していきます。
まとめ
今回の記事で、NPCである村人をマップに配置できるようになりました。
この記事で作成した村人は単にスプライトを表示するだけの簡単なものでしたが、前回までの記事と同じようにしてアニメーションを追加するのもいいでしょう。
その場合はこの講座の5~7までの記事を参照してください。
今回の記事で行ったことをまとめると以下のようになります。
- NPC村人用のマップチップを作成しマップに配置
- NPC村人用のプレハブとコンポーネントを作成
- プレイヤーと村人の共通のコンポーネントを作成
それでは次の記事に行ってみましょう!
次の記事ではついに村人と会話できるようにメッセージシステムを作成していきます。
コメント