]> git.sesse.net Git - casparcg/blob - deploy/general/server/template/scene/rope.scene
[scene_producer] Fixed serious bug where uninitialized values were used.
[casparcg] / deploy / general / server / template / scene / rope.scene
1 <scene width="1280" height="720">
2   <variables>
3     <variable type="number" id="function_amplification" public="true">200</variable>
4     <variable type="number" id="anchor2_x"              public="true">1000</variable>
5     <variable type="number" id="anchor2_y"              public="true">200</variable>
6     <variable type="number" id="duration"               public="true">150</variable>
7     <variable type="string" id="tween"                  public="true">easeoutback</variable>
8
9     <variable type="number" id="anchor1_x">${mouse_x}</variable>
10     <variable type="number" id="anchor1_y">${mouse_y}</variable>
11     <variable type="number" id="num_nodes">20</variable>
12     <variable type="number" id="width">${animate(anchor2_x - variable.anchor1_x, duration / 10, "linear")}</variable>
13     <variable type="number" id="height">${animate(anchor2_y - variable.anchor1_y, duration / 10, "linear")}</variable>
14
15     <variable type="number" id="PI">3.1415926535897932384626433832795</variable>
16
17     <variable type="number" id="node1_x"> ${animate(variable.anchor1_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
18     <variable type="number" id="node2_x"> ${animate(variable.node1_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
19     <variable type="number" id="node3_x"> ${animate(variable.node2_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
20     <variable type="number" id="node4_x"> ${animate(variable.node3_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
21     <variable type="number" id="node5_x"> ${animate(variable.node4_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
22     <variable type="number" id="node6_x"> ${animate(variable.node5_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
23     <variable type="number" id="node7_x"> ${animate(variable.node6_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
24     <variable type="number" id="node8_x"> ${animate(variable.node7_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
25     <variable type="number" id="node9_x"> ${animate(variable.node8_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
26     <variable type="number" id="node10_x">${animate(variable.node9_x   + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
27     <variable type="number" id="node11_x">${animate(variable.node10_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
28     <variable type="number" id="node12_x">${animate(variable.node11_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
29     <variable type="number" id="node13_x">${animate(variable.node12_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
30     <variable type="number" id="node14_x">${animate(variable.node13_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
31     <variable type="number" id="node15_x">${animate(variable.node14_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
32     <variable type="number" id="node16_x">${animate(variable.node15_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
33     <variable type="number" id="node17_x">${animate(variable.node16_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
34     <variable type="number" id="node18_x">${animate(variable.node17_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
35     <variable type="number" id="node19_x">${animate(variable.node18_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
36     <variable type="number" id="node20_x">${animate(variable.node19_x  + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
37
38     <variable type="number" id="node1_y"> ${animate(variable.anchor1_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
39     <variable type="number" id="node2_y"> ${animate(variable.node1_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
40     <variable type="number" id="node3_y"> ${animate(variable.node2_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
41     <variable type="number" id="node4_y"> ${animate(variable.node3_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
42     <variable type="number" id="node5_y"> ${animate(variable.node4_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
43     <variable type="number" id="node6_y"> ${animate(variable.node5_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
44     <variable type="number" id="node7_y"> ${animate(variable.node6_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
45     <variable type="number" id="node8_y"> ${animate(variable.node7_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
46     <variable type="number" id="node9_y"> ${animate(variable.node8_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
47     <variable type="number" id="node10_y">${animate(variable.node9_y   + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
48     <variable type="number" id="node11_y">${animate(variable.node10_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
49     <variable type="number" id="node12_y">${animate(variable.node11_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
50     <variable type="number" id="node13_y">${animate(variable.node12_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
51     <variable type="number" id="node14_y">${animate(variable.node13_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
52     <variable type="number" id="node15_y">${animate(variable.node14_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
53     <variable type="number" id="node16_y">${animate(variable.node15_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
54     <variable type="number" id="node17_y">${animate(variable.node16_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
55     <variable type="number" id="node18_y">${animate(variable.node17_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
56     <variable type="number" id="node19_y">${animate(variable.node18_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
57     <variable type="number" id="node20_y">${animate(variable.node19_y  + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
58   </variables>
59
60   <layers>
61     <layer id="start"><producer>scene/rope_end</producer>
62       <anchor_x>16</anchor_x>
63       <anchor_y>16</anchor_y>
64       <x>${variable.anchor1_x}</x>
65       <y>${variable.anchor1_y}</y>
66     </layer>
67
68     <layer id="node1"><producer>scene/rope_node</producer><x>${variable.node1_x}</x><y>${variable.node1_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 1)}</y></layer>
69     <layer id="node2"><producer>scene/rope_node</producer><x>${variable.node2_x}</x><y>${variable.node2_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 2)}</y></layer>
70     <layer id="node3"><producer>scene/rope_node</producer><x>${variable.node3_x}</x><y>${variable.node3_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 3)}</y></layer>
71     <layer id="node4"><producer>scene/rope_node</producer><x>${variable.node4_x}</x><y>${variable.node4_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 4)}</y></layer>
72     <layer id="node5"><producer>scene/rope_node</producer><x>${variable.node5_x}</x><y>${variable.node5_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 5)}</y></layer>
73     <layer id="node6"><producer>scene/rope_node</producer><x>${variable.node6_x}</x><y>${variable.node6_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 6)}</y></layer>
74     <layer id="node7"><producer>scene/rope_node</producer><x>${variable.node7_x}</x><y>${variable.node7_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 7)}</y></layer>
75     <layer id="node8"><producer>scene/rope_node</producer><x>${variable.node8_x}</x><y>${variable.node8_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 8)}</y></layer>
76     <layer id="node9"><producer>scene/rope_node</producer><x>${variable.node9_x}</x><y>${variable.node9_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 9)}</y></layer>
77     <layer id="node10"><producer>scene/rope_node</producer><x>${variable.node10_x}</x><y>${variable.node10_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 10)}</y></layer>
78     <layer id="node11"><producer>scene/rope_node</producer><x>${variable.node11_x}</x><y>${variable.node11_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 11)}</y></layer>
79     <layer id="node12"><producer>scene/rope_node</producer><x>${variable.node12_x}</x><y>${variable.node12_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 12)}</y></layer>
80     <layer id="node13"><producer>scene/rope_node</producer><x>${variable.node13_x}</x><y>${variable.node13_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 13)}</y></layer>
81     <layer id="node14"><producer>scene/rope_node</producer><x>${variable.node14_x}</x><y>${variable.node14_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 14)}</y></layer>
82     <layer id="node15"><producer>scene/rope_node</producer><x>${variable.node15_x}</x><y>${variable.node15_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 15)}</y></layer>
83     <layer id="node16"><producer>scene/rope_node</producer><x>${variable.node16_x}</x><y>${variable.node16_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 16)}</y></layer>
84     <layer id="node17"><producer>scene/rope_node</producer><x>${variable.node17_x}</x><y>${variable.node17_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 17)}</y></layer>
85     <layer id="node18"><producer>scene/rope_node</producer><x>${variable.node18_x}</x><y>${variable.node18_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 18)}</y></layer>
86     <layer id="node19"><producer>scene/rope_node</producer><x>${variable.node19_x}</x><y>${variable.node19_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 19)}</y></layer>
87     <layer id="end">
88       <producer>scene/rope_end</producer>
89       <anchor_x>16</anchor_x>
90       <anchor_y>16</anchor_y>
91       <x>${variable.node20_x}</x>
92       <y>${variable.node20_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 20)}</y>
93     </layer>
94   </layers>
95
96   <timelines>
97   </timelines>
98 </scene>