3Dアクションゲームの作り方5 プレイヤー移動処理とアニメーション処理の開発

Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き

本講座はUnityで3Dアクションゲームの作り方について説明しています。前回はプレイヤーのジャンプ機能、またコライダーの処理について解説してきました。

コライダーの処理は今後も多く出てくるので、前回の記事を見ていない方は読んでおいてくださいね。

前回の記事:

3Dアクションゲームの作り方4 ジャンプ処理とコライダー処理汎用スクリプトを開発しよう
本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーが攻撃できるようにするまで解説してきました。 前回の記事: 第4回目は攻撃処理に加え、キャラクターをジャンプできるようにしていきます。...

第5回目はプレイヤーの移動処理・アニメーション処理の開発方法について解説していきます。

今回のゲームはスマホでの動作を前提としていますので、スマホ入力の解説もしていきますが、先にテスト用にPCでの入力処理を作成します。

では始めていきます。


【Line登録者限定のプレゼントもあるよ!】

移動機能の作成

まずはPCのキーボード入力でプレイヤーを動かしていきます。

「↑↓←→」キーで移動できるようにしていきましょう。

PCキー入力の取得

PCのキー入力を取得する関数に「Input.GetKey()」というものがありますが、今回は方向のみの取得のため「Input.GetAxis()」という関数を使用します。

まずは「PlayerController」に追加していきます。

「Input.GetAxis()」はカッコの中に「”Horizontal”」「”Vertical”」と記載することで、横方向(←→)、縦方向(↑↓)を「float」の値で取得できます。

それを「Update」関数の中で取得して、「horizontalKeyInput」「verticalKeyInput」という変数に保存し続けています。

「Debug.Log」をしてConsoleウインドウに表示していますので再生して数値が取れるかどうか試してみましょう。

確認ができたら「Debug.Log」は消してしまいましょう。

FixedUpdate

次に取得したキー入力を使って、プレイヤーに力を加えて動かすのですが、ここで「FixedUpdate」というものを使用します。

これは「Update」と同じ様に繰り返し処理をし続けるUnityの関数で、違いは繰り返しの間隔にあります。

「Update」というのは1フレーム毎に呼ばれる関数で、「FixedUpdate」というのは一定時間毎に呼ばれる関数です。

1フレームというのは必ずしも一定時間にはならないので、「Update」の中で力を加えると一定でない間隔で力が加わってしまいます。そのため移動処理に使用するとガタガタしたり不安定になってしまいます。

続きを読む

このコンテンツはパスワードで保護されています。 コンテンツを読みたい方はUnity入門の森ショップ(https://unityforest.stores.jp/)で講座閲覧権を取得してね。

次回はこの操作をスマホでできるように変更していきます。

また、スマホ操作の処理を作成する際にUnityRemoteというスマホアプリが有ると便利ですので、この機会にダウンロードしておきましょう。

UnityRemoteについて : 

Unity Remote (スマホアプリ) の使い方 スマホでエディタの再生状態を確認!
「UntiyRemote」というスマホアプリについて解説します。 正確には「Unity Remote 5」という名前でIOS、Androidともに配信されていますので、apple storeやGoogle play storeでそれぞれダ...

次回の記事 : 

3Dアクションゲームの作り方6 スマホタッチによる移動処理を開発しよう!
本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーの移動処理、アニメーションの設定について解説してきました。 前回の記事: 第6回目は前回作成したPCでのキー入力や移動処理を実機のスマ...


Unity入門の森オリジナル本格ゲーム制作講座はこちら
5種類の本格ゲームの全ソースコード公開・画像&動画による解説付き


【Line登録者限定のプレゼントもあるよ!】

コメント

タイトルとURLをコピーしました