今日はUnityゲーム制作講座、第六弾です!
今日はキャラクターを追いかけるカメラだっけ?
そのつもりだったんだけど、今のキャラクター操作方法でカメラ追従させると、ちょっと残念なことになっちゃうから、今回はキャラクター操作方法を、バイオハザードとか、FPSとかでよく用いられる、ラジコン操作に変更していくよ!
Unityで3Dキャラクターをラジコン操作で動かす方法
地面とキャラクターのObjectを配置
Unityで3Dキャラクターを動かすにはまず、地面とキャラクターが必要になります。
この記事から読み始めた方は、以前の記事を参考に、設置をしてから続きに進んでください。
ラジコン操作用のプログラムを書く
設置がすんだら、プログラムを書いていきます。
どこに書いたら良いのかわからない方は、以下の記事を参考に、C#Scriptを作成してくださいね。
ラジコン操作は以下のコードで実装できます。
前回の内容とはかなり異なっているので、一度削除してからコピペしてもらってもOKです。
private float speed = 0.05f; // 歩行速度 private float rotateSpeed = 0.5f; // 回転速度 private Animator animator; private float horizontalInput, verticalInput; void Start() { animator = GetComponent<Animator>(); } void Update() { horizontalInput = Input.GetAxisRaw("Horizontal"); verticalInput = Input.GetAxisRaw("Vertical"); if (verticalInput != 0) { transform.position += transform.forward * speed * verticalInput; animator.SetBool("Run", true); } else { animator.SetBool("Run", false); } transform.Rotate(new Vector3(0, rotateSpeed * horizontalInput, 0)); }
Objectにプログラムをアタッチするのを忘れずに
この記事から読み始めた方は、作成したC#ScriptををキャラクターのGameObjectにアタッチするのを忘れないようにしてください。アタッチしないと動きません。
アタッチするには、キャラクターのObjectを選択して、
InspectorのAddComponentの上のあたりに、今回作成したC#Scriptをドラッグ&ドロップすればOKです。
動作確認を行う
作業が完了したらゲームを起動して動作を確認します。
イメージ通りの動作になっていれば成功です。
エラーが出たときは、エラーメッセージをよく読んで、コードに間違いがないかチェックしていきましょう。
動画も作成しているので、細かい解説などはこちらから確認してください。
続きはこちら!
こういう操作方法をラジコン操作っていうんだね~。初めて知ったよ~
知らなかったよね~!おいらもこの記事のために調べて初めて知ったよ!でも言われてみればラジコンカーってこんな感じだったよね。アクセルとブレーキとハンドルがあってさ。
それも知らんがな~