-
Notifications
You must be signed in to change notification settings - Fork 393
Home
Scene Name | 内容 |
---|---|
Main | メインのライブステージ |
WaitingRoom | タイトル画面的なもの |
Character Setup | キャラクター設定のためのテストシーン |
何か新しいフィーチャーを実装する際には、Character Setup のような専用のテストシーンを用意して作業することをお勧めします。
Prefab Name | 内容 |
---|---|
CandyRockStar | セットアップ済みユニティちゃんモデル |
CaracterLight | ユニティちゃん専用ライト |
LipSyncController | 口パクコントローラー |
フルコーラス(約4分)のバージョンと、尺の短いバージョン(約1分45分)のバージョンがあります。またそれぞれ、スペクトルアナライザー付きのものと、スペアナを無くして軽量化したものを用意してあります。
Prefab Name | 内容 |
---|---|
MusicPlayer | フル、スペアナ付き |
MusicPlayer (short) | ショート、スペアナ付き |
MusicPlayer (simple) | フル、スペアナ無し |
MusicPlayer (simple, short) | ショート、スペアナ無し |
Prefab Name | 内容 |
---|---|
Main Camera Rig | メインカメラシステム |
Back Screen Camera Rig | 中継スクリーン用カメラシステム |
Prefab Name | 内容 |
---|---|
Confetti | 紙吹雪(多め) |
Confetti (light) | 紙吹雪(軽量版) |
Laser | レーザービームのモデル/アニメーション |
Visualizer | 床面エフェクト(ビジュアライザー) |
Prefab Name | 内容 |
---|---|
Background | 遠景 |
Stage | ステージ上の静止物 |
曲の進行に合わせた演出の制御は Stage Director オブジェクトが行っています。
この Stage Director はアニメーションカーブとアニメーションイベントによって制御されています。
ちょっと分かりにくいのは短縮バージョンの挙動です。FastForward というイベントが発動されることによって無理やり全体の進行をショートカットして実現しています。
このイベントは IgnoreFastForward が true の場合は無視されます。これにより、フルコーラスにするか、ショートバージョンにするか、という切り分けができるわけです。
なお、楽曲についてはプログラム的に縮めようとするとかなりしんどいことになりますので、単純にフルコーラス版とショートバージョンを別々に用意してあります。
口パクは簡単な手付けによって実現されています。
このアニメーションカーブは Max 上で作成されたもので、各ノードのZ座標がブレンド率に対応するよう作られています。これを適当にフィルタリングしつつ blend shape のブレンド率として設定するための処理が LipSyncController.cs に書かれています。
Music Player は少し変な作りになっています。
これら5つの Game Object がそれぞれ1つずつストリームを再生しています。実際に音を出しているのは1つだけで、あとの4つはスペクトル分析を行うためのものです。
アホみたいな実装ですが、これは Unity 5 の Audio Mixer への移行を見越して敢えてモジュラー性の高い設計を選んだがゆえのアホさです。許してください。もっとも、デスクトッププラットフォームであれば負荷的にも問題にならないので、もとよりこんなもんかなと思います。
ただし、モバイルプラットフォームなどでは問題になると思いますので、そういう場合は simple バージョンを使ってください。