[Unity] 分かった気になる! Timeline Signals / Timeline Signals Tutorial

[Unity] 分かった気になる! Timeline Signals / Timeline Signals Tutorial

20190415 Roppongi.unity #2 LT

F724308e1be55f39513e0ad22e9ae20b?s=128

lycoris102

April 15, 2019
Tweet

Transcript

  1. Roppongi.unity #2 LT 分かった気になる! Timeline Signals 青木とと@lycoris102

  2. だれ? 2 @lycoris102 青木とと ねんれい:29 しごと: 株式会社キッズスター かぞく: 妻と2歳半の息子 #Unityアンバサダー

    #Gotanda.unity #UnityDesigner’sCafe #勉強会主催/サポート #ボードゲーム #音ゲー
  3. 3 あーSignalsね、Timelineの、分かる分かるー 名前だけでも覚えていってね! ……くらいになるのが今日のゴール

  4. 4 Timeline そもそも ってなんだっけ?

  5. 5 複数のアニメーション/音声などを 時系列に沿って再生するための 機能およびエディタのこと Unity2017.1.0で正式にリリースされました Timelineのおさらい

  6. 6 Timelineアセットを作成して PlayableDirectorコンポーネントにアタッチ Timelineのおさらい Timelineの再生を再生したり止めたり、中身を置き換えたりする君

  7. 7 ControlTrackはPrefabの生成制御やParcticleSystem/他のPlayableDirectorの再生制御など 「誰が」「どうする」を表す Track Animation Track アニメーションを行う Audio Track 音声を再生する

    Activation Track Activeを切り替え Control Track いろいろできるぞ Timelineのおさらい
  8. 8 「何を」「いつ」「どのくらい」を指定する Clip AnimationTrackであれば再生するAnimationClipを指定する
 AudioTrackであれば再生するAudioClipを指定する Timelineのおさらい

  9. Timelineのおさらい 9 Unity2019からは PackageManagerにて 管理されるようになりました Unity2017〜2018では組み込みで提供されています

  10. 10 Signals Unity2019で Timelineに追加される新機能 Timeline上で 任意のメソッドを呼び出すための仕組み

  11. 11 お題 ジャンプするタイミングで
 TimeScaleを変更してスローにする Signalsの使い方

  12. 12 Signalsの使い方 TimeScale を変更する関数を publicで定義した classを用意する (TimeScaleController)

  13. 13 Signalsの使い方 Signal アセットを作成する

  14. 14 Signalsの使い方 Signalと処理は1:1の関係を持つので、異なる処理を呼び出す場合は複数Signalを作成する 2つのアセットを作成 TimeScaleSlowSignal TimeScaleResetSignal

  15. 15 Signalsの使い方 SignalReceiver をアタッチした GameObjectを用意 先ほど作成した TimeScaleController もアタッチしておく (同一GameObjectでなくてもOK)

  16. 16 Signalsの使い方 Signalと処理を 紐づける

  17. 17 Signalsの使い方 Signal Track Signalを通知する を追加しつつ SignalReceiverを持つ GameObjectを指定する Timelineに

  18. 18 Signalsの使い方 Signalを配置する

  19. 19 完成! Signalsの使い方

  20. 20 今回はSignal 2つで済んだけど TimeScaleの値のレパートリーが増やす時に 逐次Signalを増やしたくない…… TimeScaleだとそんな困らないかもだけど、テキスト差し替えたいケース等で増えがち 早送り? 別のスロー?

  21. 21 Marker/MarkerReceiver 値も合わせて通知できるようにした を使用する Slow Reset Signal Timescale Marker 0.1f

    1f 0.1f 1f SignalReceiver Change() Change() SignalReceiver側で Signal毎に挙動/引数を設定する MarkerReceiver OnNotify() Markerは通知毎に値を設定できる
  22. 22 TimeScaleMarker Markerを継承 INotificationを実装

  23. 23 TimeScaleMarkerをTimelineの Markerエリアに配置して TimeScaleの値を設定する

  24. 24 TimeScaleMarkerReceiver 通知が来た時の挙動を定義 INotification が引数として渡ってくるので TimeScaleMarkerとしてキャストする

  25. 25 https://forum.unity.com/threads/new-in-2019-1-marker-customization.594712/ (A)もしMarkerが任意のTrack上にあるならば Trackの対象として指定したGameObjectに (B)もしMarkerがTimelineのMarkerエリアにあるならば PlayableDirectorをアタッチしたGameObjectに TimeScaleMarkerReceiverをアタッチ

  26. 26 (B)もしMarkerがTimelineのMarkerエリアにあるならば PlayableDirectorをアタッチしたGameObjectに TimeScaleMarkerReceiverをアタッチ

  27. 27 完成! Signalsの使い方

  28. 28 Signals どういう時に 使っていく?

  29. 29 DOTweenやiTweenで作った演出を シーケンシャルに管理したり カットシーンにおける 字幕や吹き出しテキストの切り替えを行ったり タワーディフェンスやシューティングなど
 敵の出現タイミング制御に使ったり 操作のタイミングで一時停止させて チュートリアルみたいな使い方してみたり

  30. 30 あなたは何に使いますか?

  31. この作品はユニティちゃんライセンス条項の元に
 提供されています © UTJ/UCL

  32. 分かった気になる! Timeline Signals 青木とと@lycoris102