Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
[Unity] 分かった気になる! Timeline Signals / Timeline S...
Search
lycoris102
April 15, 2019
Programming
5
26k
[Unity] 分かった気になる! Timeline Signals / Timeline Signals Tutorial
20190415 Roppongi.unity #2 LT
lycoris102
April 15, 2019
Tweet
Share
More Decks by lycoris102
See All by lycoris102
コンプリボドゲ2024 ジグザグザクザク 遊び方
lycoris102
0
280
イラレの生成AI + Unity (VectorGraphics) で遊びたい! / Illustrator Generative AI and Unity Vector Graphics
lycoris102
0
600
⌨️ a Key is Landmine 💣のデザイン / Design of "a Key is Landmine"
lycoris102
0
170
[Unity] プレビュー版 Cinemachine 3.0 紹介
lycoris102
1
1.6k
Unityとキャリアとコミュニティの話 / Unity, Carrier, Community
lycoris102
1
180
GOOLF!のデザイン⛳️ / Design of GOOLF!
lycoris102
0
640
[Unity] Mobile3D(2D)テンプレートとモバイル向けパッケージ紹介 / Mobile templates and packages for mobile
lycoris102
0
9.4k
期待値と言語化の話 / Verbalize Expectations
lycoris102
1
4.8k
Sweet^2 Honey Hive
lycoris102
2
1.4k
Other Decks in Programming
See All in Programming
15分で学ぶDuckDBの可愛い使い方 DuckDBの最近の更新
notrogue
1
360
Rubyで始める関数型ドメインモデリング
shogo_tksk
0
130
.NET Frameworkでも汎用ホストが使いたい!
tomokusaba
0
190
苦しいTiDBへの移行を乗り越えて快適な運用を目指す
leveragestech
0
920
Introduction to kotlinx.rpc
arawn
0
750
XStateを用いた堅牢なReact Components設計~複雑なClient Stateをシンプルに~ @React Tokyo ミートアップ #2
kfurusho
1
950
Rails アプリ地図考 Flush Cut
makicamel
1
130
ファインディLT_ポケモン対戦の定量的分析
fufufukakaka
0
890
Amazon Q Developer Proで効率化するAPI開発入門
seike460
PRO
0
120
DROBEの生成AI活用事例 with AWS
ippey
0
140
メンテが命: PHPフレームワークのコンテナ化とアップグレード戦略
shunta27
0
290
密集、ドキュメントのコロケーション with AWS Lambda
satoshi256kbyte
1
210
Featured
See All Featured
Understanding Cognitive Biases in Performance Measurement
bluesmoon
27
1.6k
jQuery: Nuts, Bolts and Bling
dougneiner
63
7.7k
Stop Working from a Prison Cell
hatefulcrawdad
267
20k
Intergalactic Javascript Robots from Outer Space
tanoku
270
27k
Bootstrapping a Software Product
garrettdimon
PRO
306
110k
Visualization
eitanlees
146
15k
Music & Morning Musume
bryan
46
6.4k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
507
140k
Speed Design
sergeychernyshev
27
800
How to Ace a Technical Interview
jacobian
276
23k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
29
1k
GitHub's CSS Performance
jonrohan
1030
460k
Transcript
Roppongi.unity #2 LT 分かった気になる! Timeline Signals 青木とと@lycoris102
だれ? 2 @lycoris102 青木とと ねんれい:29 しごと: 株式会社キッズスター かぞく: 妻と2歳半の息子 #Unityアンバサダー
#Gotanda.unity #UnityDesigner’sCafe #勉強会主催/サポート #ボードゲーム #音ゲー
3 あーSignalsね、Timelineの、分かる分かるー 名前だけでも覚えていってね! ……くらいになるのが今日のゴール
4 Timeline そもそも ってなんだっけ?
5 複数のアニメーション/音声などを 時系列に沿って再生するための 機能およびエディタのこと Unity2017.1.0で正式にリリースされました Timelineのおさらい
6 Timelineアセットを作成して PlayableDirectorコンポーネントにアタッチ Timelineのおさらい Timelineの再生を再生したり止めたり、中身を置き換えたりする君
7 ControlTrackはPrefabの生成制御やParcticleSystem/他のPlayableDirectorの再生制御など 「誰が」「どうする」を表す Track Animation Track アニメーションを行う Audio Track 音声を再生する
Activation Track Activeを切り替え Control Track いろいろできるぞ Timelineのおさらい
8 「何を」「いつ」「どのくらい」を指定する Clip AnimationTrackであれば再生するAnimationClipを指定する AudioTrackであれば再生するAudioClipを指定する Timelineのおさらい
Timelineのおさらい 9 Unity2019からは PackageManagerにて 管理されるようになりました Unity2017〜2018では組み込みで提供されています
10 Signals Unity2019で Timelineに追加される新機能 Timeline上で 任意のメソッドを呼び出すための仕組み
11 お題 ジャンプするタイミングで TimeScaleを変更してスローにする Signalsの使い方
12 Signalsの使い方 TimeScale を変更する関数を publicで定義した classを用意する (TimeScaleController)
13 Signalsの使い方 Signal アセットを作成する
14 Signalsの使い方 Signalと処理は1:1の関係を持つので、異なる処理を呼び出す場合は複数Signalを作成する 2つのアセットを作成 TimeScaleSlowSignal TimeScaleResetSignal
15 Signalsの使い方 SignalReceiver をアタッチした GameObjectを用意 先ほど作成した TimeScaleController もアタッチしておく (同一GameObjectでなくてもOK)
16 Signalsの使い方 Signalと処理を 紐づける
17 Signalsの使い方 Signal Track Signalを通知する を追加しつつ SignalReceiverを持つ GameObjectを指定する Timelineに
18 Signalsの使い方 Signalを配置する
19 完成! Signalsの使い方
20 今回はSignal 2つで済んだけど TimeScaleの値のレパートリーが増やす時に 逐次Signalを増やしたくない…… TimeScaleだとそんな困らないかもだけど、テキスト差し替えたいケース等で増えがち 早送り? 別のスロー?
21 Marker/MarkerReceiver 値も合わせて通知できるようにした を使用する Slow Reset Signal Timescale Marker 0.1f
1f 0.1f 1f SignalReceiver Change() Change() SignalReceiver側で Signal毎に挙動/引数を設定する MarkerReceiver OnNotify() Markerは通知毎に値を設定できる
22 TimeScaleMarker Markerを継承 INotificationを実装
23 TimeScaleMarkerをTimelineの Markerエリアに配置して TimeScaleの値を設定する
24 TimeScaleMarkerReceiver 通知が来た時の挙動を定義 INotification が引数として渡ってくるので TimeScaleMarkerとしてキャストする
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 (B)もしMarkerがTimelineのMarkerエリアにあるならば PlayableDirectorをアタッチしたGameObjectに TimeScaleMarkerReceiverをアタッチ
27 完成! Signalsの使い方
28 Signals どういう時に 使っていく?
29 DOTweenやiTweenで作った演出を シーケンシャルに管理したり カットシーンにおける 字幕や吹き出しテキストの切り替えを行ったり タワーディフェンスやシューティングなど 敵の出現タイミング制御に使ったり 操作のタイミングで一時停止させて チュートリアルみたいな使い方してみたり
30 あなたは何に使いますか?
この作品はユニティちゃんライセンス条項の元に 提供されています © UTJ/UCL
分かった気になる! Timeline Signals 青木とと@lycoris102