目次

Unity, 音楽再生, Queue

Assetの紹介 | Unity

筆者がこれまでに作成したアセットを紹介します.

各アセットの詳しい説明は, 別ページになります.

Arduino
Arduinoでメロディーを鳴らす | Arduino

Arduinoで何か作品を作っているとき, その作品に音を鳴らせたい時があります. 本格的に音楽を鳴らすのではなく, 効果音としてちょこっと入れたいという意味です. 例えば, 簡単な早押しゲームを作るとして, ボタンを押したときの効果音を入れたいという時です. ですが, この効果音を入れたいために別のArduinoを用意するのはコストの点で好ましくありません. -オーディオプレイヤーのように音楽を鳴らしたい時は[Arduino/Arduinoで音楽を鳴らす]を参照してください.-

ここで, このMelodyPlayerがあります. このMelodyPlayerは新たにArduinoを用意する必要はありません. また, 音楽再生処理はバックグラウンドで行っているためメインプログラムに何も影響を与えません. メロディーを流しながら何か他の処理―LED点灯, ボタン入力など―をすることができます. あなたがすでに書いたスケッチのコードに一行"Play(’Melody名’)"と入れるだけでメロディーが再生されます.

MelodyPlayerができるのは以下の通りです.

  • インクルードするだけで簡単にメロディー再生
  • 簡単にメロディーを追加

ただしMelodyPlayerはピン3,9,10,11のPWM出力を妨げます.

Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
音楽
Arduinoで音楽を鳴らす | Arduino

Arduinoで電子工作をしていると音を鳴らしたくなります. その鳴る音は電子音のようなピーピー音ではなく, ゲーム機でなっているような音―むしろ音楽といった方がいいでしょう―にしたいです.

このページではArduinoを用いて音楽を鳴らすことができる’MediaPalyer’を紹介します. 外部シールドを使わないで音楽を鳴らすことができます.

ただし以下の環境が必要です.

対応環境

メインのArduino

下の音楽再生用のArduinoをコントロールするためのものです.

音楽を再生するためのArduino

MediaPlayerは音楽を再生するためのArduinoを必要とします. これはつまり音楽を再生する処理とそのほかのメイン処理を分けるということになります. こうすることで, Arduinoは音楽を再生するための処理に集中することができます.

対応しているArduinoについて

  • 動作周波数: 8MHz, 16MHz

microSD

音楽ファイルを保存するために必要です

音楽ファイル

  • 対応ファイル形式: Wave
  • サンプリング周波数: 32KHz, 16KHz, 8KHz
  • 量子化精度: 8bit
Cpp, ダウンロード, 行列, C++
サイズ固定の待ち行列 | C++ライブラリ

サイズ固定の待ち行列ライブラリを紹介します.

このQueueは, 以下の特徴を持ちます.

  • std::queue が使用できない状況下での待ち行列の使用
  • メモリを贅沢に使用しないサイズ固定待ち行列
  • 例外処理に対応していない環境下での使用
UI表示
Message表示'HUDMessageManager'の紹介 | Componentの紹介

HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。

HUD_MessageManagerを使うと以下のことができます。

  • 画面に文字を表示する
  • 6つの場所に文字を表示できます
  • 表示位置はカスタマイズ可能
  • 表示,非表示時にエフェクトをかけることが可能
  • 表示時間を指定可能

HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)

このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.

HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.

HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.

  • 固定されないUIの表示場所
  • フェードイン, フェードアウトエフェクト
  • 表示時間設定

Unity 2018.2.5f1で動作確認済みです.

C#
Message表示'HUDMessageManager'の紹介 | Componentの紹介

HUD_MessageManagerとは画面に文字を表示するなどの処理をするコンポーネントです。これはUnity上で動作します。ゲームで文字の表示といえばゲーム内でのキャラのセリフ、ゲームシステム側からプレイヤーに向けてのメッセージ―セーブが完了した,新しい称号を獲得したなど―などがあります。HUD_MessageManagerを使うことでこのようなことが簡単に実装できます。

HUD_MessageManagerを使うと以下のことができます。

  • 画面に文字を表示する
  • 6つの場所に文字を表示できます
  • 表示位置はカスタマイズ可能
  • 表示,非表示時にエフェクトをかけることが可能
  • 表示時間を指定可能

HUD_MessageManagerを改良、強化、何でもしてください(;´∀`)

このコンポーネントは古いバージョンです. これをベースとした改良版UIMessageManagerをご利用下さい. 表示場所が6つに固定されている問題, 初期設定のしにくさの問題を修正しています.

言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.

  • 言語パックの管理
  • 各シーンでのアンロードとロード

言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.

LanguagePackManagerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

カメラ制御'CameraController'の紹介 | Componentの紹介

CameraControllerとはCameraを制御するものです。これは次のことができます。

  • 一人称,三人称カメラの切り替え
  • カメラ移動の線形補間,曲線補間
  • コライダーを自動で避けるAutoAvoidCollider機能
  • 任意の場所にカメラ位置を設定可能
  • 任意の方向にカメラを向けることが可能

上の機能が一つのカメラで実現できるためカメラ管理がしやすくなります。

CameraControllerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

HUDMessageManager UI表示のためのコンポーネント | Componentの紹介

Unityでゲーム制作もしくはツール制作においてちょっとしたUIを表示したい時があります. HUDMessageManagerはその時のために製作されたものです.

HUDMessageManagerはちょっとしたUIの表示に最適です. 特徴は以下のとおりです.

  • 固定されないUIの表示場所
  • フェードイン, フェードアウトエフェクト
  • 表示時間設定

Unity 2018.2.5f1で動作確認済みです.

イベント制御'EventController'の紹介 | Componentの紹介
EventControllerEditor画面
EventControllerEditor画面

Gameは必ずイベントを含みます. イベントがないGameはほとんどないでしょう.

イベント製作時によくあるのが, イベント管理のしにくさと, Debugのしにくさです. イベントを作っていくとどのイベントがどのイベントにどうつながるのかが重要ですが, 大量のイベントを作るとどんなイベントがどれほどあるのかが把握しにくくなります. 特にスクリプトでイベントを製作している場合はそうでしょう. Debugのしにくさとして, ある特定のイベントをDebugする際そのイベントに到達するのに時間がかかります. そのイベントの前にn個のイベントがあり, そのイベントに対するフラグがm個あり, またそのイベントに到達するのにt時間かかるとするならば, そのイベントのDebugに要する時間は $n \times m \times t$ となります.(n = 6; m = 3; t = 5分とするとDebug時間は90分になります. 非常に長いです)

上のような問題を解決するために, ’EventController’を紹介します. EventControllerができるのは次の通りです.

  • Eventの遷移, 登録を直感的に行えるEditor
  • Game中現在実行しているEventをお知らせ
  • パラメータのアクセスは外部スクリプトでも可能
  • Game実行中パラメータの値はEditor上でも設定可能

EventControllerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

言語パック
言語パック管理'LanguagePackManager'の紹介 | Componentの紹介

LanguagePackManagerとは言語パックを管理するものです. もちろんですがUnity上で動作します.
これを使うと以下のことができます.

  • 言語パックの管理
  • 各シーンでのアンロードとロード

言語パックといいながらファイル形式はテキスト形式です. 言語関係の編集が簡単になります.
また言語パックを各シーンでアンロードされるのでロードした言語パックが残り続けることがありません. これはすなわち使っていないメモリを開放します.

LanguagePackManagerを改良、強化、何でもしてください(;´∀`)

WARNING

このページで書かれている書かれている内容が実際のスクリプトと異なる可能性があります.

このページの内容は2016年に執筆されています.

「https://contentsviewer.work/Master/:tagmap/ライブラリ,ボット/Unity,音楽再生,Queue?layer=ja」から取得