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#について勉強したい人は↓の記事を参考にするッピ♪

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

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

ユウキ
ユウキ

うーん・・・

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

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

アイカ
アイカ

そうね・・・わたしも

先生やうさタブさんにすぐに聞ける環境じゃないから

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

ユウキ
ユウキ

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

うさタブ
うさタブ

フムフム!

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

アイカ
アイカ

そんなのあるのか?

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

うさタブ
うさタブ

それなら、やっぱり一番安心自宅近所の教室がよいッピ!

うさタブ
うさタブ
テレビや雑誌に紹介された超有名教室
QUREOプログラミング教室とかどうッピか?

うさタブ
うさタブ

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

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

うさタブ
うさタブ

全国2500教室もあるから、

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

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

ユウキ
ユウキ

なんだこれ! スゲーなっ

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

アイカ
アイカ

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

うさタブ
うさタブ
キュレオプログラミング教室は、
アメーバブログやアベマTV・バンドリをプロディースしている
サイバーエージェント」のグループ会社で、確かな実績があるッピ!

うさタブ
うさタブ

オンラインで授業を受けるなら

Tech Kids Online Coachingがオススメッピ!

こっちもサイバーエージェントのグループ会社が運営してるッピ!

教室名 対象 学習言語 教室場所 無料体験・カウンセリング
 

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

小学2年生〜中学3年生 Scratch
HTML/CSS
JavaScript
全国各地
教室
無料体験◯
 

Tech Kids Online Coaching

小学1年生〜中学3年生 Scratch
C++
Unity
渋谷
またはオンライン
無料体験◯
 

Udemy

社会人 HTML/CSS
JavaScript
Python
講座購入
ブラウザ
アプリ
サンプル等◯
うさタブ
うさタブ

パパやママ、お兄ちゃんお姉ちゃん
就活や転職で役立つプログラミング知識を身につけたいなら
Udemy】で講座のコースを買ってみるのもオススメッピ!

動画付きの魅力的な教材が格安で、好きな時間に学べるッピ~

うさタブ
うさタブ

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

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

ユウキ
ユウキ

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

アイカ
アイカ

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

スポンサーリンク

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

ユウキ
ユウキ

うーん・・・

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

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

アイカ
アイカ

そうね・・・わたしも

先生やうさタブさんにすぐに聞ける環境じゃないから

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

ユウキ
ユウキ

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

うさタブ
うさタブ

フムフム!

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

アイカ
アイカ

プログラミング教室??

アイカ
アイカ

そんなのあるのか?

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

うさタブ
うさタブ

プログラミング教室は、やっぱり安心の近所の教室ッピ!

うさタブ
うさタブ

テレビや雑誌に紹介された超有名教室

プログラミング教室数国内No.1!「QUREOプログラミング教室」
とかどうッピか?

うさタブ
うさタブ

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

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

うさタブ
うさタブ

全国2500教室もあるから、

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

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

ユウキ
ユウキ

なんだこれ! スゲーなっ

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

アイカ
アイカ

そんなものがあるのね

うさタブ
うさタブ
「QUREOプログラミング教室」は、
アメーバブログやアベマTV・バンドリをプロディースしている
サイバーエージェント」のグループ会社で、実績があるッピ!

うさタブ
うさタブ

オンラインで授業を受けるなら

Tech Kids Online Coachingがオススメッピ!

こっちもサイバーエージェントのグループ会社が運営してるッピ!

教室名 対象 学習言語 無料体験・カウンセリング
 

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

小学2年生〜中学3年生
教室で授業を受けたい方
Scratch
C++
JavaScript
無料体験◯
 

Tech Kids Online Coaching

小学生~中学生
オンライン授業を受けたい方
Unity
C++
Scratch
無料体験◯
Udemy
社会人
講座コースで勉強したい人向け
HTML/CSS
JavaScript
Python
サンプル等◯

うさタブ
うさタブ

パパやママ、お兄ちゃんお姉ちゃん
就活や転職で役立つプログラミング知識を身につけたいなら
Udemy】で講座のコースを買ってみるのもオススメッピ!

動画付きの魅力的な教材が格安で、好きな時間に学べるッピ~

うさタブ
うさタブ

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

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

ユウキ
ユウキ

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

アイカ
アイカ

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

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