![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
今回はUnityのキーボードで音を鳴らすについて勉強するッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
何かキーを押すとサウンド再生される仕組みをつくるッピ!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_謎.png)
キー入力とサウンド再生?
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
まだ習ったことないわ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
キーボードの扱いとサウンド再生はUnityの基礎の基礎ッピ!
絶対覚えておくと良いッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
これからこのキーボードとサウンド再生を一緒に勉強して行くッピよ~
キーボードで音を鳴らす方法を学ぼう
必要なもの
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まずは必要なものを用意するッピ!
![](https://janken.asotetu.work/wp-content/uploads/2021/09/unity.png)
- Unity
- Windows または Mac のパソコン
が必要ッピよ~!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まだ Unity をダウンロードしてない人は
↓ の記事を参考に必要なものをインストールするといいッピ!
Unityを起動する
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まずはゲーム作成画面をつくってみるッピ!
Unity-Hubを立ち上げて、
2Dまたは3Dでプロジェクトをつくるッピよ~
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-09_00-1024x522.jpg)
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑強.png)
できた!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
いい感じッピ!
音声ファイルを用意しよう!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
それじゃあ、さっそく音声をUnityで再生するっぴ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
・・・その前に、再生する音声が必要だっぴよ~
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-03_00.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
今回は効果音ラボさまで、好きな音声をお借りするッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-03_02.jpg)
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-09_16.jpg)
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑強.png)
オッケー!
音声をAssetsに登録しよう
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
準備できたッピか?
それなら音声をAssetsに登録するッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_01.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
使いたい音声を、ドラッグ&ドロップでアセットの部分に登録するッピ!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_謎.png)
ドラッグ&ドロップってなんだ??
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
たしか、
ファイルをマウスで選択したまま、
ファイルを移動する方法をドラッグ&ドロップっていうんじゃなかったかしら?
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑.png)
そうだったそうだった!
別のウィンドウからファイルを引っ張ってもってくれば良いんだな!?
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_14.jpg)
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
こんな感じかしら?
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
いい感じだっぴ!
2人ともよく出来てるッピ♪
オーディオソース(音源物体)をつくる
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_02.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まずはオーディオソースのオブジェクトをつくるッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
やり方は
ヒエラルキー→右クリック→オーディオ→オーディオソース
で作成するッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_03.jpg)
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑.png)
こんな感じかな!
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
すてきねっ!
C#スクリプトを作成する
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
次からプログラムを組んでいくッピよ~!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_04_.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まずは画面下のAssetの部分で
右クリック→作成→C#スクリプト
を選択するッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
名前を
keyInput
に変更するッピよ~
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_05.jpg)
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/08/アイカちゃん_笑顔3.png)
できたわ!
プログラムを編集する
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
できたC#プログラムを
ダブルクリックして、スクリプトファイルを開くッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_06.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
もともと書かれている
1~2行目のプログラムを削除して、新しくプログラムを書いていくッピ~!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_無.png)
消しちゃっていいのか?
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
大丈夫だッピ~♪
このうさタブに任せるッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_07.jpg)
using UnityEngine;
public class keyInput : MonoBehaviour
{
// Start is called before the first frame update
void Start()
{
}
// Update is called once per frame
void Update()
{
}
}
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
こんな感じで良いのかしら?
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
バッチリッピよ~!
アイカちゃん才能あるッピね♪
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
ちなみにこのプログラムは
using UnityEngine;
public class keyInput : MonoBehaviour
{
void Start()
{
//ここに新しいプログラムを入力
}
void Update()
{
//ここに新しいプログラムを入力
}
}
という意味になるッピ!
新たにプログラムを書き込む
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_08_1.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まずは、classのすぐ下に
新しくプログラムを書いていくッピ!
public AudioClip sound1;
AudioSource SE;
と書き込むッピよ~
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
これは
public AudioClip sound1;
AudioSource SE;
という意味になるッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_08.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
void Start の中に、新しくプログラムを書いていくッピ!
SE = GetComponent<AudioSource>();
と書き込むッピよ~
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
ちなみにこれは
SE = GetComponent<AudioSource>();
という意味になるッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
void Update の中に、新しくプログラムを書いていくッピ!
if (Input.GetKey (KeyCode.Return))
{
SE.PlayOneShot(sound1);
}
と書き込むッピよ~
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
これは
if (Input.GetKey (KeyCode.Return))
{
SE.PlayOneShot(sound1);
}
という意味になるッピ!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑.png)
なるほど、こういう意味だったのか!
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);
}
}
}
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_09.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
プログラムができたら、
ファイル→保存(Ctrl+S)
でセーブするッピよ~
オーディオソースにプログラムを組み込む
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
保存したプログラムを、オーディオソースに組み込んでいくッピ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_10.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
[keyInput]C#スクリプトを
Audio Sourceにドラッグ&ドロップするッピ~
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
右のインスペクターに
keyInput(スクリプト)
があることを確認するッピ!
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
これかしら?
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_11.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
そうしたら、
音声ファイルをSound1
にドラッグ&ドロップするッピ!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑強.png)
できたぜ!
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_12.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
いい感じッピ!
動作確認
![](https://janken.asotetu.work/wp-content/uploads/2022/08/2022-08-10_14_.jpg)
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
最後は動作確認ッピ~!
ゲームの上にある[▶]ボタンを押してゲームを開始するッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
キーボードの
エンターキー(Return↵)
を押して、音が聞こえるか確認するッピ!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑強.png)
できた~!
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/08/アイカちゃん_笑顔4.png)
やったねユウキくんっ
Unityのキーボード入力について
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
Unityのキーボード入力には、
Input.GetKeyメッソドを使うッピ!
プログラムメッソド | 発動条件 |
---|---|
Input.GetMouseButton | マウスのボタンが押されていたら発動 |
Input.GetKey | キーボードのキーが押されたら発動 |
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_謎.png)
インプットメッソド~?
って何だ?
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
インプットメッソドというのは、
マウスやキーボードなど、外部から入力があったときに
発動するプログラムをつくるときに使うものッピ!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
インプットゲットキーというのは、
キーボードでキーを入力されたあとに発動するプログラムッピ!
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
そうなのね!
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_無.png)
へ~
だけどさ、うさタブ
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);
}
}
}
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_謎.png)
この、
Input.GetKey (KeyCode.Return)
のやつ
エンターキー以外にもできないのか?
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_困.png)
エンターキーだけじゃなく他のキーも使いたいんだけどな・・・
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
もちろんできるッピね~!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
今回使ったエンターキー以外にも、
よく使うキーを紹介するッピ!
これをキーコードというッピ! 覚えておくと良いッピよ~
キーコード | 対応するキー |
---|---|
Return | エンターキー |
Backspace | バックスペースキー |
Delete | デリートキー |
Tab | タブキー |
Escape | エスケープキー |
Space | スペースキー |
UpArrow | ↑ |
DownArrow | ↓ |
RightArrow | → |
LeftArrow | ← |
数字キーコード | 対応するキー |
---|---|
Alpha0 | 0 |
Alpha1 | 1 |
Alpha2 | 2 |
Alpha3 | 3 |
Alpha4 | 4 |
Alpha5 | 5 |
Alpha6 | 6 |
Alpha7 | 7 |
Alpha8 | 8 |
Alpha9 | 9 |
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_驚き_強.png)
すっげええ!
こんなにあるのか
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
まだまだあるッピよ~!
詳しくは、Unityのリファレンスをチェックすると良いッピ♪
![ユウキ](https://janken.asotetu.work/wp-content/uploads/2021/05/ユウキくん_笑強.png)
勉強になったぜ!
![アイカ](https://janken.asotetu.work/wp-content/uploads/2021/05/アイカちゃん_.png)
今日もまたひとつ学んだわ!
- 音声素材をAssetに登録
- ヒエラルキー→右クリック→オーディオソースを作成
- Assets→右クリック→C#スクリプト
- プログラムを作成
- C#スクリプトをオーディオソースに組み込む
- 音声素材をインスペクターのコンポーネントに組み込む
- テストプレイ
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
上手くできたッピか?
これからも色んなゲーム作りやプログラムの解説をしていくッピ!
次回も楽しみにしているッピよ~~!
![うさタブ](https://janken.asotetu.work/wp-content/uploads/2021/05/うさタブ4.png)
UnityはC#を元に作られているッピ!
まだまだ Unity や C#について勉強したい人は↓の記事を参考にするッピ♪