原カバンは鞄のお店ではありません。

Unityを使ったゲーム制作のあれこれを綴っていきます。

Koreographerを使って出来る事

よー、分からん

GoogleAdwordsへ広告を出稿しているとコンバージョン数(=インストール数)が逐一チェックできるのですが、そのコンバージョン数とGoogleConsoleで確認できるインストールユーザ数に300以上の開きがあって、インストールユーザ数は未だ500に達していないのですが、その一方、GooglePlayで「Cutie Circuit」を確認してみると「500回以上のダウンロード」と書かれていたりして、何が正しのかもうサッパリ。

 

まぁ、DL数が500前後で一喜一憂しているようでは開発者としてダメダメなんでしょうが・・・

 

そんなこんなでKoreographer

定期的にブログを更新していても特にコメントとかリアクションとかを頂いたことがないので、需要があるのかないのか分からないのですが、今回も「Koreographer」のお話。

 

「Koreographer」とは音楽に同期してイベントを発行してくれるアセットのことで、音ゲーとか音楽に合わせてオブジェクトを動かしたい場合などには有用なアセットです。

が、まぁまぁなお値段がします。(Lite版で$36.0、Professional版だと$116.0(どちらも税抜額))

 

私は夏の猛暑に頭をやられたのか金欠なのにProfessional版を購入してしまったので、今回はProfessional版だけで出来ることを自慢半分に書いていきたいと思います。

 

RMS解析とFFT解析が使えるよ

Professional版では楽曲の波形に対してRMS解析とFFT解析を行うことができます。
それぞれの説明は面倒くさいので省くとして、この解析を使って何ができるのかというと、楽曲データの音の強弱等を線形データ化することができます

 

実際に楽曲データをRMS解析した結果がこちら

f:id:Karvan:20180904222106p:plain

 

 中央の緑のウネウネした線がRMS解析で作成したデータになります。

 

で、これを使うと例えばステレオのグラフィックイコライザーみたいに楽曲の強弱に沿って表示が変化するものが作れます。

 

今回は前回使用したCUBEに対してグラディエントカラーが変化するものを作ります。

まずはグラディエントカラーを用意して

f:id:Karvan:20180904222212p:plain

 

KoregrapherからSpanイベントを毎フレーム発行してもらい、線形データの値を取得するようにします。
(Spanイベントとは何か?は前回の記事を参照してください)

後はその値から色を決定して、マテリアルのcolorへ設定

 

ソースコードはこんな感じ

f:id:Karvan:20180904222318p:plain

 

動かしてみよう

youtu.be

データに併せて色を変化させるだけだと余りに地味だったので、ブレイクの箇所で色が順次変更される処理を実行しています。

 

ちなみに楽曲はglitchさん作曲のDance With Powderを使用しています。

dova-s.jp
今回は色の変更だけでしたが、解析データを利用してオブジェクトの大きさを変えたり、AddForce等で動かしたりすると、音に併せたオブジェクトの動作を実現することができます。まぁ、アイデア次第ですね。

 

前回と今回で「Koreographer」の基本的な動作は学習できたので、次回はちょっと応用したものを作ってみたいと思います(たぶん)。

 

◇プライバシーポリシー

●個人情報の利用目的

当ブログでは、メールでのお問い合わせ、メールマガジンへの登録などの際に、名前(ハンドルネーム)、メールアドレス等の個人情報をご登録いただく場合がございます。

これらの個人情報は質問に対する回答や必要な情報を電子メールなどをでご連絡する場合に利用させていただくものであり、個人情報をご提供いただく際の目的以外では利用いたしません。

●個人情報の第三者への開示

当サイトでは、個人情報は適切に管理し、以下に該当する場合を除いて第三者に開示することはありません。

・本人のご了解がある場合
・法令等への協力のため、開示が必要となる場合

個人情報の開示、訂正、追加、削除、利用停止
ご本人からの個人データの開示、訂正、追加、削除、利用停止のご希望の場合には、ご本人であることを確認させていただいた上、速やかに対応させていただきます。

アクセス解析ツールについて

当サイトでは、Googleによるアクセス解析ツール「Googleアナリティクス」を利用しています。

このGoogleアナリティクスはトラフィックデータの収集のためにCookieを使用しています。このトラフィックデータは匿名で収集されており、個人を特定するものではありません。
この機能はCookieを無効にすることで収集を拒否することが出来ますので、お使いのブラウザの設定をご確認ください。

●免責事項

当サイトからリンクやバナーなどによって他のサイトに移動された場合、移動先サイトで提供される情報、サービス等について一切の責任を負いません。

当サイトのコンテンツ・情報につきまして、可能な限り正確な情報を掲載するよう努めておりますが、誤情報が入り込んだり、情報が古くなっていることもございます。

当サイトに掲載された内容によって生じた損害等の一切の責任を負いかねますのでご了承ください。

●プライバシーポリシーの変更について

当サイトは、個人情報に関して適用される日本の法令を遵守するとともに、本ポリシーの内容を適宜見直しその改善に努めます。

修正された最新のプライバシーポリシーは常に本ページにて開示されます。