3Dアクションゲームの作り方4 ジャンプ処理とコライダー処理汎用スクリプトを開発しよう | Unity入門の森 ゲームの作り方

3Dアクションゲームの作り方4 ジャンプ処理とコライダー処理汎用スクリプトを開発しよう

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


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

本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーが攻撃できるようにするまで解説してきました。

前回の記事:

3Dアクションゲームの作り方3 プレイヤーの攻撃処理とボタン機能を開発しよう
本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーに武器を持たせアニメーションをさせるところまで解説してきました。 前回の記事: 第3回目ではスクリプトを記載してキャラクターを実際にゲームキャラとして...

第4回目は攻撃処理に加え、キャラクターをジャンプできるようにしていきます。

また、本講座だけでなく、あらゆるゲーム開発に役立つ汎用的なコライダーイベントスクリプトの作り方も解説します。とても便利なスクリプトなのでぜひ作り方・使い方をマスターしてくださいね。


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

ジャンプ機能の作成

今回のジャンプ機能は、攻撃と同じようにUIボタンを配置してそれを押したらジャンプできるようにしていきます。

ボタンの設置

では、攻撃と同じようにボタンを設置していきます。

「Anchor」や「Pivot」の設定も攻撃ボタンと同じでコピーして作成し、位置、大きさだけずらしていきますので、ざっくりとした解説になります。

前回の記事を見ていない方は前回の記事を読んでみてください。

前回の記事 : 

3Dアクションゲームの作り方3 プレイヤーの攻撃処理とボタン機能を開発しよう
本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーに武器を持たせアニメーションをさせるところまで解説してきました。 前回の記事: 第3回目ではスクリプトを記載してキャラクターを実際にゲームキャラとして...

まずはHierarchyから「Canvas/Button」を選択し「Ctrl + D(Macはcommand + D)」で複製します。

Buttonの「RectTransform」を下記のように設定しましょう。

そして、ボタンの子に有る「Text」オブジェクトの「Text」コンポーネント「Text」の項目で文字を「J」と変更します。

この段階ではまだ押しても攻撃処理が動きますのでご注意下さい。

RigidBody、Colliderの設定

ここで、3Dゲームを作成する際に重要なコンポーネント「RigidBody」「Collider」を解説していきます。

まず「RigidBody」はゲームオブジェクトを物理特性によって制御できるようするためのコンポーネントです。

重力や空気抵抗といった物理現象を表現するためにはこのコンポーネントが必要になります。

Collider」は「BoxCollider」や「SphereCollider」など種類がありますが、物理的な衝突を表現する、検知するためのコンポーネントです。

ゲームオブジェクト同士が衝突して跳ね返る、一方がもう一方の中に侵入するといったときに使用します。

 

では、ここでプレイヤーがジャンプするために必要なものを考えてみましょう。

まずは、ジャンプの前に地面に立っていないといけませんので、プレイヤーに重力がかかり、地面でと接触してそれを受け止めて「地面に立っている」という状態を作ります。

それには、プレイヤーに「Collider」と重力を受けるための「Rigidbody」、そして地面にプレイヤーを受け止めるための「Collider」が必要になります。それらの設定をしていきます。

 

まずプレイヤーに「Rigidbody」コンポーネントを付与します。

Hierarchyでプレイヤーを選択し、Inspectorの「Add Component」をクリック。

ウィンドウの検索欄に「RigidBody」と入力し、下の欄に出てきた「Rigidbody」をクリックして完了です。

そして、パラメーターの下記の部分を変更しておきましょう。Constraintsをクリックすると「Freeze Position」「Freeze Rotation」が出てきます。

重要な項目についてのみになりますが、簡単に解説しておきます。

Mass 物体の質量 (Kg)
Drag 空気抵抗
Angular Drag 回転に対する空気抵抗
Use Gravity 重力の影響を受けるかのフラグ
Is Kinematic 物理的な影響を受けるかどうかのフラグ
Freeze Position 各軸の位置の移動の停止
Freeze Rotation 各軸の回転の停止

今回は、「Mass」つまり質量の設定と、「Freeze Rotation」で回転を停止する設定を先に行っています。

次に「Collider」の設定です。

続きを読む

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

今回の記事は以上です。

次回は移動処理を作成していきます。

次回の記事 : 

3Dアクションゲームの作り方5 プレイヤー移動処理とアニメーション処理の開発
本講座はUnityで3Dアクションゲームの作り方について説明しています。前回はプレイヤーのジャンプ機能、またコライダーの処理について解説してきました。 コライダーの処理は今後も多く出てくるので、前回の記事を見ていない方は読んでおいてください...



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

コメント

  1. 匿名希望 より:

    地面検出のための設定の説明で肝心のタグを設定する画像がないのでEnvironment以下のどれをタグに設定すれば良いのか分かりません

    • Unity入門の森 より:

      コメントありがとうございます。
      既にどこを選択するか示した状態の画像自体は掲載していますが、
      間に異なる画像と手順解説が入っていたので改めて再掲しておきました。

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