Skip to content

Commit d2ee986

Browse files
authored
Merge pull request #13 from gam0022/timeline-time-control
Shader.SetGlobalFloat するだけの TimelineTimeControl
2 parents 1efa4a8 + a71c8bc commit d2ee986

File tree

9 files changed

+164
-98
lines changed

9 files changed

+164
-98
lines changed

.idea/.idea.unity-demoscene/.idea/contentModel.xml

Lines changed: 3 additions & 11 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

Assets/Demoscene/Projects/2018-07-12-Lava/Lava.playable

Lines changed: 49 additions & 56 deletions
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,9 @@ MonoBehaviour:
1313
m_EditorClassIdentifier:
1414
m_NextId: 0
1515
m_Tracks:
16-
- {fileID: 114095226489604638}
17-
- {fileID: 114108508051644258}
18-
- {fileID: 114251598533192302}
1916
- {fileID: 114560600937763692}
17+
- {fileID: 114251598533192302}
18+
- {fileID: 114117769261169240}
2019
m_FixedDuration: 0
2120
m_EditorSettings:
2221
m_Framerate: 60
@@ -501,48 +500,16 @@ AnimationClip:
501500
m_HasMotionFloatCurves: 0
502501
m_GenerateMotionCurves: 1
503502
m_Events: []
504-
--- !u!114 &114095226489604638
505-
MonoBehaviour:
506-
m_ObjectHideFlags: 1
507-
m_CorrespondingSourceObject: {fileID: 0}
508-
m_PrefabInternal: {fileID: 0}
509-
m_GameObject: {fileID: 0}
510-
m_Enabled: 1
511-
m_EditorHideFlags: 0
512-
m_Script: {fileID: 1467732076, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3}
513-
m_Name: Animation Track
514-
m_EditorClassIdentifier:
515-
m_Locked: 0
516-
m_Muted: 0
517-
m_CustomPlayableFullTypename:
518-
m_AnimClip: {fileID: 0}
519-
m_Parent: {fileID: 11400000}
520-
m_Children: []
521-
m_Clips: []
522-
m_Version: 1
523-
m_OpenClipPreExtrapolation: 0
524-
m_OpenClipPostExtrapolation: 0
525-
m_OpenClipOffsetPosition: {x: 0, y: 0, z: 0}
526-
m_OpenClipOffsetEulerAngles: {x: 0, y: 0, z: 0}
527-
m_OpenClipTimeOffset: 0
528-
m_MatchTargetFields: 63
529-
m_Position: {x: 0, y: 0, z: 0}
530-
m_EulerAngles: {x: 0, y: 0, z: 0}
531-
m_ApplyOffsets: 0
532-
m_AvatarMask: {fileID: 0}
533-
m_ApplyAvatarMask: 1
534-
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
535-
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
536-
--- !u!114 &114108508051644258
503+
--- !u!114 &114117769261169240
537504
MonoBehaviour:
538505
m_ObjectHideFlags: 1
539506
m_CorrespondingSourceObject: {fileID: 0}
540507
m_PrefabInternal: {fileID: 0}
541508
m_GameObject: {fileID: 0}
542509
m_Enabled: 1
543510
m_EditorHideFlags: 0
544-
m_Script: {fileID: 11500000, guid: 91e2f746a277d0947bf948127a0700ad, type: 3}
545-
m_Name: Local Time Track
511+
m_Script: {fileID: -1095772578, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3}
512+
m_Name: Control Track
546513
m_EditorClassIdentifier:
547514
m_Locked: 0
548515
m_Muted: 0
@@ -553,10 +520,10 @@ MonoBehaviour:
553520
m_Clips:
554521
- m_Start: 0
555522
m_ClipIn: 0
556-
m_Asset: {fileID: 114894526773570620}
523+
m_Asset: {fileID: 114499531051087166}
557524
m_Duration: 10
558525
m_TimeScale: 1
559-
m_ParentTrack: {fileID: 114108508051644258}
526+
m_ParentTrack: {fileID: 114117769261169240}
560527
m_EaseInDuration: 0
561528
m_EaseOutDuration: 0
562529
m_BlendInDuration: 0
@@ -618,7 +585,7 @@ MonoBehaviour:
618585
m_PreExtrapolationMode: 0
619586
m_PostExtrapolationTime: 0
620587
m_PreExtrapolationTime: 0
621-
m_DisplayName: LocalTimeClip
588+
m_DisplayName: TimelineTime
622589
m_Version: 1
623590
m_Version: 1
624591
--- !u!114 &114148755703378248
@@ -674,6 +641,47 @@ MonoBehaviour:
674641
m_ApplyAvatarMask: 1
675642
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
676643
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
644+
--- !u!114 &114252730188695332
645+
MonoBehaviour:
646+
m_ObjectHideFlags: 1
647+
m_CorrespondingSourceObject: {fileID: 0}
648+
m_PrefabInternal: {fileID: 0}
649+
m_GameObject: {fileID: 0}
650+
m_Enabled: 1
651+
m_EditorHideFlags: 0
652+
m_Script: {fileID: 11500000, guid: e97b7684a1a63ed42afa5e89e962140f, type: 3}
653+
m_Name: Light Control Track
654+
m_EditorClassIdentifier:
655+
m_Locked: 0
656+
m_Muted: 0
657+
m_CustomPlayableFullTypename:
658+
m_AnimClip: {fileID: 0}
659+
m_Parent: {fileID: 11400000}
660+
m_Children: []
661+
m_Clips: []
662+
m_Version: 1
663+
--- !u!114 &114499531051087166
664+
MonoBehaviour:
665+
m_ObjectHideFlags: 1
666+
m_CorrespondingSourceObject: {fileID: 0}
667+
m_PrefabInternal: {fileID: 0}
668+
m_GameObject: {fileID: 0}
669+
m_Enabled: 1
670+
m_EditorHideFlags: 0
671+
m_Script: {fileID: -1670381969, guid: 6a10b2909283487f913b00d94cd3faf5, type: 3}
672+
m_Name: ControlPlayableAsset
673+
m_EditorClassIdentifier:
674+
sourceGameObject:
675+
exposedName: ad17c660b169eba4f9ae6687752313f4
676+
defaultValue: {fileID: 0}
677+
prefabGameObject: {fileID: 0}
678+
updateParticle: 1
679+
particleRandomSeed: 6206
680+
updateDirector: 1
681+
updateITimeControl: 1
682+
searchHierarchy: 1
683+
active: 1
684+
postPlayback: 2
677685
--- !u!114 &114560600937763692
678686
MonoBehaviour:
679687
m_ObjectHideFlags: 1
@@ -858,18 +866,3 @@ MonoBehaviour:
858866
m_ApplyAvatarMask: 1
859867
m_OpenClipOffsetRotation: {x: 0, y: 0, z: 0, w: 1}
860868
m_Rotation: {x: 0, y: 0, z: 0, w: 1}
861-
--- !u!114 &114894526773570620
862-
MonoBehaviour:
863-
m_ObjectHideFlags: 1
864-
m_CorrespondingSourceObject: {fileID: 0}
865-
m_PrefabInternal: {fileID: 0}
866-
m_GameObject: {fileID: 0}
867-
m_Enabled: 1
868-
m_EditorHideFlags: 0
869-
m_Script: {fileID: 11500000, guid: 14d3049c91ef38844a96b56715753f93, type: 3}
870-
m_Name: LocalTimeClip
871-
m_EditorClassIdentifier:
872-
template:
873-
param1: 0
874-
param2: 0
875-
vec1: {x: 0, y: 0, z: 0}

Assets/Demoscene/Projects/2018-07-12-Lava/Lava.shader

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ inline float DistanceFunction(float3 pos)
7171
// @endblock
7272

7373
// @block PostEffect
74-
float _LocalTime;
74+
float _TimelineTime;
7575
float4 _LavaEmmisiveLow;
7676
float4 _LavaEmmisiveHigh;
7777
sampler2D _Noise;
@@ -100,17 +100,17 @@ float lavaFlow(in vec2 p)
100100
for (float i= 1.; i < 4.; i++)
101101
{
102102
//primary flow speed
103-
p += _LocalTime * .6 * _FlowSpeed;
103+
p += _TimelineTime * .6 * _FlowSpeed;
104104

105105
//secondary flow speed (speed of the perceived flow)
106-
bp += _LocalTime * 1.9 * _FlowSpeed;
106+
bp += _TimelineTime * 1.9 * _FlowSpeed;
107107

108-
//displacement field (try changing _LocalTime multiplier)
109-
vec2 gr = gradn(i*p*.34 + _LocalTime * 1.);
108+
//displacement field (try changing _TimelineTime multiplier)
109+
vec2 gr = gradn(i*p*.34 + _TimelineTime * 1.);
110110

111111
//rotation of the displacement field
112-
// gr *= rotateMat(_LocalTime * 6.-(0.05 * p.x + 0.03 * p.y) * 40.);
113-
gr = mul(rotateMat(_LocalTime * 6.-(0.05 * p.x + 0.03 * p.y) * 40.), gr);
112+
// gr *= rotateMat(_TimelineTime * 6.-(0.05 * p.x + 0.03 * p.y) * 40.);
113+
gr = mul(rotateMat(_TimelineTime * 6.-(0.05 * p.x + 0.03 * p.y) * 40.), gr);
114114

115115
//displace the system
116116
p += gr*.5;

Assets/Demoscene/Projects/2018-07-12-Lava/Lava.unity

Lines changed: 46 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,46 @@ NavMeshSettings:
113113
debug:
114114
m_Flags: 0
115115
m_NavMeshData: {fileID: 0}
116+
--- !u!1 &293216295
117+
GameObject:
118+
m_ObjectHideFlags: 0
119+
m_CorrespondingSourceObject: {fileID: 0}
120+
m_PrefabInternal: {fileID: 0}
121+
serializedVersion: 6
122+
m_Component:
123+
- component: {fileID: 293216297}
124+
- component: {fileID: 293216296}
125+
m_Layer: 0
126+
m_Name: TimelineTime
127+
m_TagString: Untagged
128+
m_Icon: {fileID: 0}
129+
m_NavMeshLayer: 0
130+
m_StaticEditorFlags: 0
131+
m_IsActive: 1
132+
--- !u!114 &293216296
133+
MonoBehaviour:
134+
m_ObjectHideFlags: 0
135+
m_CorrespondingSourceObject: {fileID: 0}
136+
m_PrefabInternal: {fileID: 0}
137+
m_GameObject: {fileID: 293216295}
138+
m_Enabled: 1
139+
m_EditorHideFlags: 0
140+
m_Script: {fileID: 11500000, guid: b869d8ec361c10e41b4bbf135c235d7c, type: 3}
141+
m_Name:
142+
m_EditorClassIdentifier:
143+
--- !u!4 &293216297
144+
Transform:
145+
m_ObjectHideFlags: 0
146+
m_CorrespondingSourceObject: {fileID: 0}
147+
m_PrefabInternal: {fileID: 0}
148+
m_GameObject: {fileID: 293216295}
149+
m_LocalRotation: {x: 0, y: 0, z: 0, w: 1}
150+
m_LocalPosition: {x: 0, y: 0, z: 0}
151+
m_LocalScale: {x: 1, y: 1, z: 1}
152+
m_Children: []
153+
m_Father: {fileID: 0}
154+
m_RootOrder: 5
155+
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
116156
--- !u!1 &326207133
117157
GameObject:
118158
m_ObjectHideFlags: 1
@@ -327,9 +367,9 @@ PlayableDirector:
327367
m_DirectorUpdateMode: 1
328368
m_InitialTime: 0
329369
m_SceneBindings:
330-
- key: {fileID: 114095226489604638, guid: 1d45eba0017a04d18a33df89d883621b, type: 2}
370+
- key: {fileID: 0}
331371
value: {fileID: 1630964854}
332-
- key: {fileID: 114108508051644258, guid: 1d45eba0017a04d18a33df89d883621b, type: 2}
372+
- key: {fileID: 0}
333373
value: {fileID: 1943384523}
334374
- key: {fileID: 114560600937763692, guid: 1d45eba0017a04d18a33df89d883621b, type: 2}
335375
value: {fileID: 0}
@@ -340,7 +380,10 @@ PlayableDirector:
340380
- key: {fileID: 114251598533192302, guid: 1d45eba0017a04d18a33df89d883621b, type: 2}
341381
value: {fileID: 1896176120}
342382
m_ExposedReferences:
343-
m_References: []
383+
m_References:
384+
- a440923a9b2f2eb4582b870bd88e50e3: {fileID: 1630964853}
385+
- ad17c660b169eba4f9ae6687752313f4: {fileID: 293216295}
386+
- a4dc877255c424e4f8305baaeabec334: {fileID: 1630964853}
344387
--- !u!4 &1630964856
345388
Transform:
346389
m_ObjectHideFlags: 0

Assets/Demoscene/Scripts/Timeline/LocalTime/LocalTimeBehaviour.cs

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,9 +8,10 @@ namespace Demoscene
88
[Serializable]
99
public class LocalTimeBehaviour : PlayableBehaviour
1010
{
11-
public float param1;
12-
public float param2;
13-
public Vector3 vec1;
11+
// NOTE; gam0022 ここでClipのパラメータを定義できる
12+
// public float param1;
13+
// public float param2;
14+
// public Vector3 vec1;
1415

1516
public override void OnPlayableCreate(Playable playable)
1617
{

Assets/Demoscene/Scripts/Timeline/LocalTime/LocalTimeMixerBehaviour.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public override void ProcessFrame(Playable playable, FrameData info, object play
3434
LocalTimeBehaviour input = inputPlayable.GetBehaviour();
3535

3636
// Use the above variables to process each frame of this playable.
37-
// NOTE: hosoda-sho 単純なブレンドが難しい値は最もウェイトが高いクリップを採用
37+
// NOTE: gam0022 単純なブレンドが難しい値は最もウェイトが高いクリップを採用
3838
if (weight > maxWeight)
3939
{
4040
time = (float) inputPlayable.GetTime();
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
using UnityEngine;
2+
using UnityEngine.Timeline;
3+
4+
public class TimelineTimeControl : MonoBehaviour, ITimeControl
5+
{
6+
readonly int timelineTimeId = Shader.PropertyToID("_TimelineTime");
7+
8+
public void SetTime(double time)
9+
{
10+
Shader.SetGlobalFloat(timelineTimeId, (float) time);
11+
}
12+
13+
public void OnControlTimeStart()
14+
{
15+
}
16+
17+
public void OnControlTimeStop()
18+
{
19+
}
20+
}

Assets/Demoscene/Scripts/Timeline/TimelineTimeControl.cs.meta

Lines changed: 11 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)