FFの戦闘開始演出っぽいアレを作ってみた
Unity5で画面がバラバラに崩れて次の画面が出てくるアレを作ってみた。
仕組みは
① スクリーン画面のサイズのRenderTextureを作成
② ゲームシーンで描画しているカメラにRenderTextureをセット
③ 演出用のマテリアルにRenderTextureをセット
④ 裏でシーンの読み込みなど進める
⑤ 準備が出来たらメッシュを動かす
だいたいこんな感じ。
Meshは動的に作るとパフォーマンスが悪いので
スキンメッシュアニメーションを作成することに。
今回はblenderで作成してみました!
まずは追加/メッシュ/平面 で板ポリを作成。
ナイフを使ってズタズタに分割します。
command+Eで厚みをつけます。
Alt+Y で分離させるのを忘れずに。
メッシュはこれで準備OK。
続いてアニメーションを作成します。
アーマチュアを追加してボーンを作成します。
ボーンはすべて接続なし、出来上がりはこんな感じです。
あとは崩れ落ちている感じが出るようなアニメーションを作ります。
最後にFBXエクスポートしてblenderの作業は完了です!
Unity側で書いたプログラムはこれだけ。
cameras にゲーム画面で描画しているカメラ全てを指定。
targetCamera には演出用のスキンメッシュを描画しているカメラを指定。
一番時間がかかったのはblenderの作業でした。
Unity側はRenderTextureが便利なおかげでとても簡単にできました。
今回のサンプルプロジェクトはこちら