Unity入門講座|キーボードで音を鳴らす方法を学ぼう

Unity
うさタブ
うさタブ

今回はUnityのキーボードで音を鳴らすについて勉強するッピ!

うさタブ
うさタブ

何かキーを押すとサウンド再生される仕組みをつくるッピ!

ユウキ
ユウキ

キー入力とサウンド再生

アイカ
アイカ

まだ習ったことないわ!

うさタブ
うさタブ

キーボードの扱いとサウンド再生はUnityの基礎基礎ッピ!
絶対覚えておくと良いッピ!

うさタブ
うさタブ

これからこのキーボードとサウンド再生を一緒に勉強して行くッピよ~

キーボードで音を鳴らす方法を学ぼう

必要なもの

うさタブ
うさタブ

まずは必要なものを用意するッピ!

  • Unity
  • Windows または Mac のパソコン

が必要ッピよ~!

うさタブ
うさタブ

まだ Unity をダウンロードしてない人は

↓ の記事を参考に必要なものをインストールするといいッピ!

Unityを起動する

うさタブ
うさタブ

まずはゲーム作成画面をつくってみるッピ!

Unity-Hubを立ち上げて、

2Dまたは3Dでプロジェクトをつくるッピよ~

ユウキ
ユウキ

できた!

うさタブ
うさタブ

いい感じッピ!

音声ファイルを用意しよう!

うさタブ
うさタブ

それじゃあ、さっそく音声をUnityで再生するっぴ!

うさタブ
うさタブ

・・・その前に、再生する音声が必要だっぴよ~

効果音ラボ様
うさタブ
うさタブ

今回は効果音ラボさまで、好きな音声をお借りするッピ!

ユウキ
ユウキ

オッケー!

音声をAssetsに登録しよう

うさタブ
うさタブ

準備できたッピか?
それなら音声をAssetsに登録するッピ!

うさタブ
うさタブ

使いたい音声を、ドラッグ&ドロップでアセットの部分に登録するッピ!

ユウキ
ユウキ

ドラッグ&ドロップってなんだ??

アイカ
アイカ

たしか、

ファイルをマウスで選択したまま

ファイルを移動する方法をドラッグ&ドロップっていうんじゃなかったかしら?

ユウキ
ユウキ

そうだったそうだった!

別のウィンドウからファイルを引っ張ってもってくれば良いんだな!?

アイカ
アイカ

こんな感じかしら?

うさタブ
うさタブ

いい感じだっぴ!

2人ともよく出来てるッピ♪

オーディオソース(音源物体)をつくる

うさタブ
うさタブ

まずはオーディオソースのオブジェクトをつくるッピ!

うさタブ
うさタブ

やり方は

ヒエラルキー→右クリック→オーディオ→オーディオソース

で作成するッピ!

ユウキ
ユウキ

こんな感じかな!

アイカ
アイカ

すてきねっ!

C#スクリプトを作成する

うさタブ
うさタブ

次からプログラムを組んでいくッピよ~!

うさタブ
うさタブ

まずは画面下のAssetの部分で

右クリック→作成→C#スクリプト

を選択するッピ!

うさタブ
うさタブ

名前を

keyInput

に変更するッピよ~

アイカ
アイカ

できたわ!

プログラムを編集する

うさタブ
うさタブ

できたC#プログラム

ダブルクリックして、スクリプトファイルを開くッピ!

うさタブ
うさタブ

もともと書かれている

1~2行目のプログラムを削除して、新しくプログラムを書いていくッピ~!

ユウキ
ユウキ

消しちゃっていいのか?

うさタブ
うさタブ

大丈夫だッピ~♪

このうさタブに任せるッピ!

using UnityEngine;

public class keyInput : MonoBehaviour
{

    // Start is called before the first frame update
    void Start()
    {

    }

    // Update is called once per frame
    void Update()
    {

    }
}
アイカ
アイカ

こんな感じで良いのかしら?

うさタブ
うさタブ

バッチリッピよ~!
アイカちゃん才能あるッピね♪

うさタブ
うさタブ

ちなみにこのプログラムは

using使います UnityEngineユニティエンジンの機能を;

public呼び出し可能 class クラスです keyInput 名前はkeyInput : MonoBehaviourユニティの親クラスです
{

void引数なしプログラム  Start最初に実行します()
{
//ここに新しいプログラムを入力
}
 
void引数なしプログラム Update() 随時更新します
{
//ここに新しいプログラムを入力
}

}

という意味になるッピ!

新たにプログラムを書き込む

うさタブ
うさタブ

まずは、classのすぐ下に
新しくプログラムを書いていくッピ!

 public AudioClip sound1;
 AudioSource SE;

と書き込むッピよ~

うさタブ
うさタブ

これは

public共有プログラム AudioClip オーディオクリップです sound1 名前はsound1;
AudioSource鳴らす音源は SE SEです;

という意味になるッピ!

うさタブ
うさタブ

void Start の中に、新しくプログラムを書いていくッピ!

SE = GetComponent<AudioSource>();

と書き込むッピよ~

うさタブ
うさタブ

ちなみにこれは

SE変数SEは = GetComponent以下のコンポーネントを取得します<AudioSourceオーディオソースに組み込まれたもの>();

という意味になるッピ!

うさタブ
うさタブ

void Update の中に、新しくプログラムを書いていくッピ!

if (Input.GetKey (KeyCode.Return))
  {
    SE.PlayOneShot(sound1);
  }

と書き込むッピよ~

うさタブ
うさタブ

これは

ifもしも (Inputキーボードで.GetKey入力があったら (KeyCode条件は.Returnエンターキーです))
{
SE変数SEの.PlayOneShot音をならして(sound1sound1を);
}

という意味になるッピ!

ユウキ
ユウキ

なるほど、こういう意味だったのか!

using UnityEngine;

public class keyInput : MonoBehaviour
{
 public AudioClip sound1;
 AudioSource SE;

    // Start is called before the first frame update
    void Start()
    {
        SE = GetComponent<AudioSource>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey (KeyCode.Return))
        {
            SE.PlayOneShot(sound1);
        }
    }
}
うさタブ
うさタブ

プログラムができたら、

ファイル→保存(Ctrl+S)

でセーブするッピよ~

オーディオソースにプログラムを組み込む

うさタブ
うさタブ

保存したプログラムを、オーディオソースに組み込んでいくッピ!

うさタブ
うさタブ

[keyInput]C#スクリプトを

Audio Sourceドラッグ&ドロップするッピ~

うさタブ
うさタブ

右のインスペクターに

keyInput(スクリプト)

があることを確認するッピ!

アイカ
アイカ

これかしら?

うさタブ
うさタブ

そうしたら、

音声ファイルをSound1

にドラッグ&ドロップするッピ!

ユウキ
ユウキ

できたぜ!

うさタブ
うさタブ

いい感じッピ!

動作確認

うさタブ
うさタブ

最後は動作確認ッピ~!
ゲームの上にある[▶]ボタンを押してゲームを開始するッピ!

うさタブ
うさタブ

キーボードの

エンターキー(Return↵)

を押して、音が聞こえるか確認するッピ!

ユウキ
ユウキ

できた~!

アイカ
アイカ

やったねユウキくんっ

Unityのキーボード入力について

うさタブ
うさタブ

Unityのキーボード入力には、

Input.GetKeyメッソドを使うッピ!

プログラムメッソド発動条件
Input.GetMouseButtonマウスのボタンが押されていたら発動
Input.GetKeyキーボードのキーが押されたら発動
ユウキ
ユウキ

インプットメッソド~?

って何だ?

うさタブ
うさタブ

インプットメッソドというのは、

マウスキーボードなど、外部から入力があったときに

発動するプログラムをつくるときに使うものッピ!

うさタブ
うさタブ

インプットゲットキーというのは、

キーボードでキーを入力されたあとに発動するプログラムッピ!

アイカ
アイカ

そうなのね!

ユウキ
ユウキ

へ~
だけどさ、うさタブ

using UnityEngine;

public class keyInput : MonoBehaviour
{
 public AudioClip sound1;
 AudioSource SE;

    // Start is called before the first frame update
    void Start()
    {
        SE = GetComponent<AudioSource>();
    }

    // Update is called once per frame
    void Update()
    {
        if (Input.GetKey (KeyCode.Return))
        {
            SE.PlayOneShot(sound1);
        }
    }
}
ユウキ
ユウキ

この、

Input.GetKey (KeyCode.Returnエンターキー)

のやつ
エンターキー以外にもできないのか?

ユウキ
ユウキ

エンターキーだけじゃなく他のキーも使いたいんだけどな・・・

うさタブ
うさタブ

もちろんできるッピね~!

うさタブ
うさタブ

今回使ったエンターキー以外にも、
よく使うキーを紹介するッピ!
これをキーコードというッピ! 覚えておくと良いッピよ~

キーコード対応するキー
Returnエンターキー
Backspaceバックスペースキー
Deleteデリートキー
Tabタブキー
Escapeエスケープキー
Spaceスペースキー
UpArrow
DownArrow
RightArrow
LeftArrow
キーコードと対応キー
数字キーコード対応するキー
Alpha00
Alpha11
Alpha22
Alpha33
Alpha44
Alpha55
Alpha66
Alpha77
Alpha88
Alpha99
キーコードと対応キー
ユウキ
ユウキ

すっげええ!
こんなにあるのか

うさタブ
うさタブ

まだまだあるッピよ~!
詳しくは、Unityのリファレンスをチェックすると良いッピ♪

ユウキ
ユウキ

勉強になったぜ!

アイカ
アイカ

今日もまたひとつ学んだわ!

学習のまとめ
  • 音声素材Assetに登録
  • ヒエラルキー→右クリック→オーディオソースを作成
  • Assets→右クリック→C#スクリプト
  • プログラムを作成
  • C#スクリプトオーディオソースに組み込む
  • 音声素材をインスペクターのコンポーネントに組み込む
  • テストプレイ

うさタブ
うさタブ

上手くできたッピか?

これからも色んなゲーム作りやプログラムの解説をしていくッピ!

次回も楽しみにしているッピよ~~!

うさタブ
うさタブ

UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪

スポンサーリンク
スポンサーリンク
スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うーん・・・

やっぱり、どうしてこーなるか良くワカンナイな~

説明を聞いたすぐはわかったつもりなんだけどさ

アイカ
アイカ

そうね・・・わたしも

すぐに復習できる環境じゃないから

宿題とか困っちゃうわ・・・

ユウキ
ユウキ

他に気軽に教えてくれる先生とかいるといいんだけどな~

うさタブ
うさタブ

フムフム!

そんなときは、プログラミング講座がオススメッピね~

アイカ
アイカ

そんなのあるのか?

ていうかドコいけばいいんだよ

うさタブ
うさタブ

それなら、やっぱり一番安心自宅でできる動画教材がよいッピ!

うさタブ
うさタブ
テレビCMでも話題の有名教材
Udemyとかどうッピか?

 

うさタブ
うさタブ
Udemyは、HTMLからJavaScript
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

買い切り講座だから
いつでも勉強し放題、動画制作や難しいマーケティングなんかも勉強できるッピ~!

ユウキ
ユウキ

へえ~、こんなのがあるのか

うさタブ
うさタブ

ちびっこのみんなは、キュレオプログラミング教室がオススメッピ!

実際の教室で自分以外の同い年と一緒に勉強することで、自分も負けないゾ!と思えておサボりを防ぐことができるッピ!
さらに、クラスのみんなと差をつけてすごいプログラムが作れちゃうッピ

教室名 対象 学習言語 教室場所 無料体験・カウンセリング
Udemy 学生~社会人 Unity
HTML/CSS
JavaScript
MySQL
Python等
オンライン講座
コース買い切り
講座によってサンプル○
Unityゲーム講座アリ
 

「QUREOプログラミング教室」

小学2年生〜中学3年生 Scratch 全国各地
2500教室
無料体験◯
【LITALICOワンダー】 小学1年生〜高校生 Scratch
Unity C#
HTML / CSS
JavaScript
東京都,神奈川,埼玉県,千葉
オンライン
無料体験◯
3Dプリントなどの講座によっては別途料金

ユウキ
ユウキ

よーし、ちょっと体験だけでもやってみるか!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

スポンサーリンク

どうしてもわからない、そんなときは?

ユウキ
ユウキ

うーん・・・

やっぱり、どうしてこーなるか良くワカンナイな~

説明を聞いたすぐはわかったつもりなんだけどさ

アイカ
アイカ

そうね・・・わたしも

すぐに復習できる環境じゃないから

宿題とか困っちゃうわ・・・

ユウキ
ユウキ

他に気軽に教えてくれる先生とかいるといいんだけどな~

うさタブ
うさタブ

フムフム!

そんなときは、プログラミング講座がオススメッピね~

アイカ
アイカ

そんなのあるのか?

ていうかドコいけばいいんだよ

うさタブ
うさタブ

それなら、やっぱり一番安心自宅でできる動画教材がよいッピ!

うさタブ
うさタブ
テレビCMでも話題の有名教材
Udemyとかどうッピか?

うさタブ
うさタブ
Udemyは、HTMLからJavaScript
人気の機械学習からUnityゲーム講座まで選び放題ッピ!

うさタブ
うさタブ

買い切り講座だから
いつでも勉強し放題、動画制作や難しいマーケティングなんかも勉強できるッピ~!

ユウキ
ユウキ

へえ~、こんなのがあるのか

うさタブ
うさタブ

ちびっこのみんな、キュレオプログラミング教室を受けて
自分以外の同い年と一緒に勉強することで、自分も負けないゾ!と思えて
おサボりを防ぐことができるッピ!
さらに、クラスのみんなと差をつけてすごいプログラムが作れちゃうッピ

先生やパパママにほめられて、学習効率が最高にグングン↑↑ッピよ~~♪

うさタブ
うさタブ

未来都市キュレオを舞台に、魅力的なキャラクターがたくさん登場する・ゲーム感覚で楽しく学べるプログラミング教室ッピ!

困ったことも先生に直接聞けるのが最高ッピ~!

うさタブ
うさタブ

全国2500教室もあるから、

きっとみんなの近くにも教室があるッピ。

公式サイト近くに教室があるかチェックしてみるとよいッピ!

ユウキ
ユウキ

なんだこれ! スゲーなっ

ゲームみたいにやってるうちに、自然と勉強できてるみたいな感じ?

アイカ
アイカ

そんなものがあるのねっ!

うさタブ
うさタブ

ロボットをプログラミングしてみるなら

LITALICOワンダーがオススメッピ!

JavaScriptも勉強できるッピよ~!

教室名 対象 学習言語 無料体験/教室場所
Udemy 学生~社会人 Unity
HTML/CSS
JavaScript
MySQL
Python等
オンライン講座
講座によってサンプル○
「QUREOプログラミング教室」
小学2年生〜中学3年生 Scratch 教室によって無料体験◯
全国各地の教室
【LITALICOワンダー】 小学1年生〜高校生 Scratch
Unity C#
HTML / CSS
JavaScript
無料体験◯
3Dプリントなどの講座によっては別途料金
東京周辺
オンライン

ユウキ
ユウキ

よーし、ちょっと体験だけでもやってみるか!

アイカ
アイカ

わたしもさっそくチェックしてみようかな♪

Unityプログラミング
学んで遊んでジャンケンポン!
タイトルとURLをコピーしました