イワシのUnityブログ

Unity3dの技術関連

FFの戦闘開始演出っぽいアレを作ってみた

Unity5で画面がバラバラに崩れて次の画面が出てくるアレを作ってみた。

https://i.gyazo.com/1147c2e88530319f67760ec3d13a08ab.gif

 

 

仕組みは

① スクリーン画面のサイズのRenderTextureを作成

② ゲームシーンで描画しているカメラにRenderTextureをセット

③ 演出用のマテリアルにRenderTextureをセット

④ 裏でシーンの読み込みなど進める

⑤ 準備が出来たらメッシュを動かす

 

だいたいこんな感じ。

 

Meshは動的に作るとパフォーマンスが悪いので

スキンメッシュアニメーションを作成することに。

今回はblenderで作成してみました!

f:id:iwashigame:20151005031658p:plain

まずは追加/メッシュ/平面 で板ポリを作成。

 

f:id:iwashigame:20151005031814p:plain

ナイフを使ってズタズタに分割します。

f:id:iwashigame:20151005031924p:plain

command+Eで厚みをつけます。

 

f:id:iwashigame:20151005032228p:plain

Alt+Y で分離させるのを忘れずに。

メッシュはこれで準備OK。

 

f:id:iwashigame:20151005032329p:plain

続いてアニメーションを作成します。

アーマチュアを追加してボーンを作成します。

 

f:id:iwashigame:20151005032435p:plain

ボーンはすべて接続なし、出来上がりはこんな感じです。

 

あとは崩れ落ちている感じが出るようなアニメーションを作ります。

https://i.gyazo.com/6e01119bac6f44309878916540dd3d38.gif

 

最後にFBXエクスポートしてblenderの作業は完了です!

 

Unity側で書いたプログラムはこれだけ。

cameras にゲーム画面で描画しているカメラ全てを指定。

targetCamera には演出用のスキンメッシュを描画しているカメラを指定。

gist.github.com

 

 

一番時間がかかったのはblenderの作業でした。

Unity側はRenderTextureが便利なおかげでとても簡単にできました。 

 

今回のサンプルプロジェクトはこちら

github.com