プレイするゲームがないなら、自分で作ればいいじゃない!
ということで初心者が Unity を使って「ゲームを作る」ゲームをやっていきます!
今回はプレイヤー作成の記事です
プレイヤーの作成
プレイヤーを作るためには「絵(画像)」が必要になります
画像の登録
画像を追加は「プロジェクトビュー」で行います
(初期設定だと左下にあるはず)
整理しやすいようにフォルダーから作成します
「Assets」を右クリック⇒作成⇒フォルダー
作成したフォルダーに画像を登録します
画像を選択して、フォルダーにドラッグ&ドロップするだけで登録できます
プレイヤーを作成
プレイヤーの作成ですが、登録した画像を選択して
「シーンビュー」にドラッグ&ドロップするだけ!
「ヒエラルキービュー」にMain Camera以外の物が追加されていたらOK
「シーン(ゲーム)ビュー」にも画像が表示されているはずです
このようにUnityを使えば、
ほぼマウス操作のみでプレイヤーを作成できてしまいます!
でも、ただ表示されているだけではゲームと言えないですよね…
ということでプレイヤーを操作できるようにしていきます!
プレイヤーの操作
とりあえず「キーボード」で操作できるようにしていきましょう
操作するためには「スクリプト」が必要になります
スクリプトとは「プログラム」の事です
Unityでは「C#」という言語でプログラミングします
スクリプトの作成
スクリプトも画像と同じようにプロジェクトビューに登録します
こちらも整理しやすいようにフォルダーを作成しておくといいでしょう
「フォルダー(画像ではScript)」を右クリック⇒作成⇒C#スクリプト
プレイヤーにスクリプトをアタッチする
プレイヤーに作成したスクリプトの効果を加えます
効果を加えることを「アタッチ」と言います
ヒエラルキービューでアタッチしたいゲームオブジェクトを選択(今回はplayer)
「インスペクタービュー」にスクリプトをドラッグ&ドロップするか
「コンポーネントを追加」からスクリプト名を入力して選択します
これでプレイヤーに操作用のスクリプトが追加されました!
これで操作ができるはず……もなく
スクリプトを編集して操作に対応していきます
スクリプトの編集
プロジェクトビューからスクリプトをダブルクリックするとエディターが起動します
しない場合はテキストを編集できるソフト(メモ帳等)で開きましょう
※Visual Studio 2019の無料版をインストールしておいてもいいかも
エディターでスクリプトを編集していきます
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class PlayerController : MonoBehaviour
{
public float MoveSpeed = 0.01f; // 移動値
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
// 横(Ⅹ)方向の入力
float fHorizontalInput = Input.GetAxisRaw("Horizontal");
// 縦(Y)方向の入力
float fVerticalInput = Input.GetAxis("Vertical");
// 位置を更新
float add_x = fHorizontalInput * MoveSpeed;
float add_y = fVerticalInput * MoveSpeed;
transform.Translate(add_x, add_y, 0);
}
}
移動速度の変数を追加
fMoveSpeedは移動速度です
float は小数を表します
public はあっても無くてもどちらでも構いません
※public を付けるとインスペクタービューで値を変更できるようになります
入力情報を取得
Inputクラスで入力情報が取得できます
Input.GetAxisRow(axisName) :0、1、ー1で値を返す
Input.GetAxis(axisName) :ー1~1の間で値を返す
axisName の値で取得する情報が選択できます
Horizontal :X(横)軸の情報を取得
Vertical :Y(縦)軸の情報を取得
位置を更新
「transform.position」 を変更することで、位置を更新することができます
transform.Translate(x,y,z) にキー情報の結果を入れれば、位置が加算されます!
インスペクタービューの囲まれている部分を変更しているイメージになります
スクリプトを編集して実行すると
「キーボードの上下左右」、「wasd」で移動すると思います
スクリプトの補足
サンプル動画
GetAxisとGetAxisRowで移動の滑らかさが違います
どちらを使用するのかはゲームの仕様によって決めましょう
キー情報の設定
他のキーで移動させたい!
その場合は「編集⇒プロジェクト設定」
「入力マネージャー⇒軸」を開きます
水平を開くと各方向ボタンに「left,right,a,d」が設定されています
ここを割り当てたいキーに変更しましょう
さいごに
これでシンプルな移動はできました!
次回はフレームレートの設定
コメント