Movatterモバイル変換


[0]ホーム

URL:


3Dアクションゲームの作り方3 プレイヤーの攻撃処理とボタン機能を開発しよう

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


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

本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーに武器を持たせアニメーションをさせるところまで解説してきました。

前回の記事:

3Dアクションゲームの作り方2 プレイヤーキャラクターとアニメーションを作る
本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプロジェクトの作成、アセットのインポート、フィールド、キャラの配置まで解説してきました。前回の記事:第2回目では配置したキャラクターを動かしていきます。今回は、...
feynman.co.jp
2022.01.31

第3回目ではスクリプトを記載してキャラクターを実際にゲームキャラとして使用できるようにしていきます。

また、実際にスマホで操作できる攻撃ボタンも作成していきます。

今回はスクリプトを実際に記載していきますので、予め「Visual Studio」や「Visual Studio Code」などのコードエディタをダウンロードしておきましょう。

では始めていきます。


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

攻撃ボタンの作成

まずはじめにプレイヤーに攻撃機能を持たせていきます。

と、その前に一旦GameViewのカメラにプレイヤーが映るように移動しておきましょう。カメラの設定は後ほど行いますのでここでは画面内で動いているのが見えるようにすればOKです。

今回のゲームでは、画面右側に攻撃用のUIボタンを設置してそれを押すと攻撃できるようにしますので、まずはボタンの設置から始めていきましょう。

GUIボタンの設置

Hierarchyウインドウで右クリックし「UI→Button」をクリックして下さい。

すると、「Canvas」とその子に「Button」、「EventSystem」が自動で生成されます。

「Canvas」は文字通りUIを描写するキャンバスです。「EventSystem」はUIをクリックしたり、ドラックしたりするのに必要なもので、何かしらのUIを作成すると自動的に作成されます。

では、まずボタンの位置と大きさ、見た目を変更していきましょう。

まず、「Button」を選択し、Inspectorの「RectTransform」の左上の四角いマークをクリックします。

すると、「Anchor Preset」というウインドウが開きますので、そこからShiftキーを押しながら画像の右下を選択して下さい。

これは、アンカーといって「Button」が配置されている「Canvas」のどの位置を基準に位置を設定するかで、この設定で「Canvas」の右下を基準に位置を設定することになります。

次に、位置、大きさを変更します。「Button」の「RectTransform」の「PosX」「PosY」「PosZ」「Width」「Height」を設定します。下記の様に設定して下さい。

1
2
3
4
5
PosX:-30
PosY:30
PosZ:0
Width:200
Height:200

AnchorsとPivotの値がずれていないかなども確認してください。

 

次に画像を変更します。

「Button」を選択し、Inspectorの「Image」コンポーネントを見て下さい。

その中の「SourceImage」という項目の右にある丸マークをクリックして、画像選択ウインドウを開きます。

この中から「Knob」という円形の画像を選択しましょう。

最後に、「Button」オブジェクトの子にある「Text」を選択します。

Inspectorの「Text」コンポーネントを見て下さい。

この内の「Text」に表示文字「At」を入力し、「Font Size」に50と入力します。

すると下記画像のようになります。

 

ボタン処理の登録

では、ボタンを押した際の処理をスクリプトで書いていきましょう。

まず、スクリプトを記載するC#ファイルを作成します。

Projectウインドウで、「Assets/AppMain/Script」で右クリック「Create/C# Script」をクリックしファイルを作成、名前を「PlayerController」とします。

そして、Hierarchyのプレイヤーオブジェクトを選択し、Inspectorに「PlayerController」をドラック&ドロップします。

では、「PlayerController」をダブルクリックして開きましょう。

最初の状態では下記のようになっています。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
 
publicclassPlayerController:MonoBehaviour
{
    // Start is called before the first frame update
    voidStart()
    {
        
    }
 
    // Update is called once per frame
    voidUpdate()
    {
        
    }
}

 

ざっくりと説明しておきます。

using「名前空間」と言われるもので、あとに続くものを使用しますよという宣言をしています。
class設計図みたいなもので、「PlayerController」と言う名前の機能設計図ですよ、という意味です。
MonoBehaviour継承という大切な概念ですが、ここでは「MonoBehaviour」というクラスをもとに「PlayerController」というクラスを記載します。というくらいのUnityで使用するスクリプトを記載する際の、お決まりごとと考えておきましょう。
StartUnityの基本関数で、ゲーム開始時の一回実行されます。
UpdateUnityの基本関数で、再生中繰り返し実行され続けます。

(もしここまででよくわからない!という方は一度ビリヤード講座からスタートしてみるといいでしょう。上記機能など含めより初心者向けに解説しています。)

ビリヤードゲームの作り方3 ビリヤードを打つ・穴に入ったら消す処理を作る
前回に引き続きビリヤードゲームを作っていきます。前回はビリヤードボールの当たり判定・移動処理を作りました。前回の記事 : 第3回の今回は「マウスクリックによってボールを打つ、ボールが穴に入ったら消える、リセット」などゲームとして成立させるま...
feynman.co.jp
2024.05.15

関連記事:ビリヤードの作り方講座講座はこちら>>

また、スクリプト中にある「 // 」マークはこの行をコメントとして扱う記号で、処理とは関係ない文字を記載することができます。

それでは、ここにボタンを押したときの処理をまずは試験的に書いていきましょう。下記の通り記載してみて下さい。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
usingSystem.Collections;
usingSystem.Collections.Generic;
usingUnityEngine;
 
publicclassPlayerController:MonoBehaviour
{
    // Start is called before the first frame update
    voidStart()
    {
        
    }
 
    // Update is called once per frame
    voidUpdate()
    {
        
    }
 
    // ---------------------------------------------------------------------
    /// <summary>
    /// 攻撃ボタンクリックコールバック.
    /// </summary>
    // ---------------------------------------------------------------------
    publicvoidOnAttackButtonClicked()
    {
        Debug.Log("攻撃!!");
    }
}

 

public他のスクリプトからこの処理を使える様にする(公開する)という意味で、ボタンの押した際の処理にするにはこの記載が必要です。
Debug.LogUnityのConsoleウインドウに「()」内の文字列を出力します。

 

では、Unityに戻って、Hierarchyの「Canvas/Button」を選択します。

Inspectorの「Button」コンポーネントの「OnClick」の項目右下の「+」マークをクリックし、イベント欄を表示します。

そして、「PlayerController」を付与してある、プレイヤーオブジェクト「MobileMaleFree1 Variant」を「Button」コンポーネントの「None(Object)」となっているところにドラック&ドロップします。

 

次に、「No Function」となっているメニューから「PlayerController」→「OnAttackButtonClicked」を選択します。

これでボタンを押したときの処理の登録が完了しました。

では再生してボタンを押してみましょう。

「攻撃!!」とConsoleウインドウに出力されていれば、OKです。(上のエラーは後ほど解消します。)

アニメーションの設定

次に攻撃ボタンを押した時にプレイヤーが攻撃アニメーションをするようにしていきます。

ここでのアニメーションの操作は、後の移動やジャンプでも出てくるのでしっかりマスターしておきましょう。

ボタンクリックでアニメーション

まずはボタンをクリックしたら、攻撃アニメーションをするようにしていきましょう。

続きを読む

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

次回は、コライダーの処理方法とジャンプ処理を作成していきます。

次回の記事:

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


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

関連記事

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

3Dアクションゲームの作り方補足:完成版プロジェクトファイルとスクリプト全集

この章は追記補足になります。アクションゲーム講座完成時のプロジェクトファイルとスクリプト全集を掲載しておきます(もしかしたら多少数値など異なっているかもしれませんがご了承ください)。3Dアクションゲームの作り方講座へ戻る>>
2023.01.14
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

3Dアクションゲームの作り方6 スマホタッチによる移動処理を開発しよう!

本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプレイヤーの移動処理、アニメーションの設定について解説してきました。前回の記事:第6回目は前回作成したPCでのキー入力や移動処理を実機のスマホで操作できるように...
2022.08.29
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

3Dアクションゲームの作り方2 プレイヤーキャラクターとアニメーションを作る

本講座はUnityで3Dアクションゲームの作り方について説明していきます。前回はプロジェクトの作成、アセットのインポート、フィールド、キャラの配置まで解説してきました。前回の記事:第2回目では配置したキャラクターを動かしていきます。今回は、...
2022.01.31
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

3Dアクションゲームの作り方12 敵の移動AI処理を開発 NavMeshの使い方をマスターしよう

今回は3Dアクションゲームの作り方講座の第12回です。前回はHPバーを作成しました。前回の記事:第12回目まででは、敵は立ち止まって近くに来たプレイヤーを攻撃していますが、今回は敵を移動させていきましょう。移動AIシステムをスマートに作れる...
2022.09.18
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

3Dアクションゲームの作り方1 プロジェクトの作成・アセットの準備・フィールド、キャラ作成

本講座ではUnityを使った3Dアクションゲームの作り方について説明していきます。Unityの新規プロジェクトを作成、アセットのインポートから、一つずつ丁寧に進めていくので、初学者の方でも完成まで辿り着けます。全16回構成を予定しております...
2023.01.14
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

3Dアクションゲームの作り方14 敵の自動生成・ボスの作成・ステージコントロール

今回は3Dアクションゲームの作り方講座の第14回です。いよいよ完成まで近くなってきましたね。前回は敵の遠距離攻撃を作成し、継承の使い方を学びました。前回の記事:第14回目は敵を自動出現させる機能、ボス戦を作り、ゲームステージを構築していきま...
2024.08.25
Unity 3Dアクションゲームの作り方 ゼルダ・原神・モンハン風 (スマホ化対応)

コメント

コメントをどうぞコメントをキャンセル

メールアドレスが公開されることはありません。

CAPTCHA


↓知りたいことを検索してね

Unity入門の森 インディーゲームリリース!

魔女と召喚獣

 

Seeker of Darkness

 

呪術迷宮をリリース

unity入門の森 ゲームの作り方のyoutubeチャンネル

unity入門の森 ゲームの作り方
「unity入門の森 ゲームの作り方」のyoutubeチャンネル。unityを用いたゲームプログラミング、unityスクール、ゲームクリエイターになりたい方向けの情報を中心に発信。インディーゲームクリエイター・プロゲーマー・ゲーム実況者を目...
www.youtube.com

ブログランキング参加中(クリックして応援してくれると嬉しいな)

にほんブログ村 教育ブログ プログラミング教育へ
にほんブログ村

カテゴリー

最近の投稿

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

[8]ページ先頭

©2009-2025 Movatter.jp