S
Unityプロジェクト開発現場のアニメーション実践ノウハウ
Unityエフェクト・UIモーション
Shuriken,Pupet2D,Shader,ポストフィルタ
2016/7/14
邑上貴洋
murakami_takahiro
■自己紹介
名前:邑上 貴洋(ムラカミタカヒロ)
所属:アプリボット
新規プロジェクト開発
業務:Unity(Shuriken)エフェクト、UIモーション、3Dキャラモーション
使用アニメーションソフト:
Unity,AfterEffects,Flash,CocosBuilder,Maya,MotionBuilder
言語:ActionScript1.0~3.0, C#
前職:webディレクター兼Flashデベロッパー
■Unity,3Dはじめて1年くらい
●Maya, Unity講習会
希望した社員向けに、UnityのUI実装、
3Dの扱い、エフェクト、
アニメーションなどの講習会を受講でき
ます。学んだことを次の日の開発で活か
せたりと実践的な授業になってます。
■UnityでのUIモーションの制作工程
仕様書
絵コンテ
Vコンテ
Unity実装
実機プレビュー
プランナーによるフローチャートなどの遷移仕様
アートディレクターの絵コンテ
ビデオコンテを作ってチームで共通理解を図る
Unity上で、Assetなどを実装
Androidなどの実機で確認
※シェーダーなどが正しく動作するか。
■Vコン(ビデオコンテ) 勝利演出
■Unity実装 勝利演出
■実機で確認
・アニメーションが出来たら、自分自身で実機プレビューテスト
・特にAndoridは、Asset,Shader,アルファチャンネルが正しく出ないことがある。
・Assetを組み合わせることによって、正常動作しないこともある。
・メモリ負荷も含めて責任を持つ。
・正常動作確認してからデバックさんに渡す。
■Unity実装のポイント
●特殊Shader系の制御用クラスのカスタマイズ
●Animationタイムラインからのクラス制御
●Puppet2D 2D画像の表現力アップ
●ポストフィルタ(Bloom)の実装
■特殊Shader系の制御クラスのカスタマイズ
Shaderは社内で作成する時もあれば、
AssetStoreのものを使う場合もあります。
インゲームのエフェクトやUIモーションなどで、
キーフレームタイムラインから制御出来ない
Shader用にタイムラインから制御するためのカ
スタムクラスを個別に作成します。
初期化用、再生、停止、等々。
□Sinuous Sci-Fi Signs
https://www.assetstore.unity3d.com/jp/#!/content/26856
■Animationタイムラインからの制御
個別のシェーダーのクラスでdelayのタイミングを使うと実機で
タイムラインと誤差がでる。
タイムライン上から別prefabや別階層のメソッドをコールでき
るクラスを作成。
タイムラインからのタイミングで特殊なShaderの再生停止がで
きるのでAfterEffectsのフィルタ感覚で作業が可能。
using UnityEngine;
using UnityEngine.Events;
using System.Collections;
//Auther Takahiro.Murakami 2015/12/21
public class AnimationEventControllerMethod : MonoBehaviour
{
public UnityEvent[] onPrefabMethod;
void Start()
{
}
public void OtherPrefabCallingMethod (int methodNum) {
methodNum--;
if (methodNum >= 0) {
this.onPrefabMethod[methodNum].Invoke();
}
}
}
■Puppet2D 2D画像の表現力アッ
プ
Puppet2Dとは2D画像をモーフィングさせることができるAsset。
Spineとほぼ同等の機能がある。 AEのパペットツールに近い。
■メリット
2Dの表現力アップ、連番アニメーションに比べて容量削減
45ドルと安い(Spineやspritestudioに比べ安価)
UnityのAinmation上で制御できる
操作が簡単(教育コストが低い)
■デメリット
Unity以外に転用できない。
■ポストフィルタ(Bloom)の実装
ポストフィルタはカメラにかけるフィルタ。Bloomなどは明るい部分を
ボカしながら、広げる効果がある。処理が重くなるので、使用する場面は
要注意。
ポストフィルタ無し ポストフィルタ有り
■まとめ
●AfterEffectsで作りたい表現を作ってしまう。
クォリティの共通目標を作る。
●Unity単体ではできない表現をAssetやカスタマイズしたクラスから
制御し、補完することによって映像表現に近づける。
●実機プレビューはアニメーター自身で行い、実装するShaderや
Asset、メモリの責任を持つ。

Unityプロジェクト開発現場のアニメーション実践ノウハウ

Editor's Notes

  • #3 自分はUnity,3Dをはじめて1年くらいなのですが、 Unityはアニメーション、プログラミングの統合オーサリング環境なので、 前職のFlashデベロッパーの経験がとてもいかせています。
  • #12 今回だと勝利演出の翼の広げる部分にpuppet2dを使用しました。