Skip to content

Commit

Permalink
Created demo scene (rope.scene and media assets) demonstrating a smal…
Browse files Browse the repository at this point in the history
…l part of what is possible with the scene producer. Use screen consumer for mouse interaction.
  • Loading branch information
Helge Norberg committed Dec 22, 2015
1 parent 2afd95a commit 83e31b8
Show file tree
Hide file tree
Showing 3 changed files with 98 additions and 0 deletions.
Binary file added deploy/general/server/media/scene/rope_end.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added deploy/general/server/media/scene/rope_node.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
98 changes: 98 additions & 0 deletions deploy/general/server/template/scene/rope.scene
@@ -0,0 +1,98 @@
<scene width="1280" height="720">
<variables>
<variable type="number" id="function_amplification" public="true">200</variable>
<variable type="number" id="anchor2_x" public="true">1000</variable>
<variable type="number" id="anchor2_y" public="true">200</variable>
<variable type="number" id="duration" public="true">150</variable>
<variable type="string" id="tween" public="true">easeoutback</variable>

<variable type="number" id="anchor1_x">${mouse_x}</variable>
<variable type="number" id="anchor1_y">${mouse_y}</variable>
<variable type="number" id="num_nodes">20</variable>
<variable type="number" id="width">${animate(anchor2_x - variable.anchor1_x, duration / 10, "linear")}</variable>
<variable type="number" id="height">${animate(anchor2_y - variable.anchor1_y, duration / 10, "linear")}</variable>

<variable type="number" id="PI">3.1415926535897932384626433832795</variable>

<variable type="number" id="node1_x"> ${animate(variable.anchor1_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node2_x"> ${animate(variable.node1_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node3_x"> ${animate(variable.node2_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node4_x"> ${animate(variable.node3_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node5_x"> ${animate(variable.node4_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node6_x"> ${animate(variable.node5_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node7_x"> ${animate(variable.node6_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node8_x"> ${animate(variable.node7_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node9_x"> ${animate(variable.node8_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node10_x">${animate(variable.node9_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node11_x">${animate(variable.node10_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node12_x">${animate(variable.node11_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node13_x">${animate(variable.node12_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node14_x">${animate(variable.node13_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node15_x">${animate(variable.node14_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node16_x">${animate(variable.node15_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node17_x">${animate(variable.node16_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node18_x">${animate(variable.node17_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node19_x">${animate(variable.node18_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node20_x">${animate(variable.node19_x + variable.width / (variable.num_nodes + 1), duration, tween)}</variable>

<variable type="number" id="node1_y"> ${animate(variable.anchor1_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node2_y"> ${animate(variable.node1_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node3_y"> ${animate(variable.node2_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node4_y"> ${animate(variable.node3_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node5_y"> ${animate(variable.node4_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node6_y"> ${animate(variable.node5_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node7_y"> ${animate(variable.node6_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node8_y"> ${animate(variable.node7_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node9_y"> ${animate(variable.node8_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node10_y">${animate(variable.node9_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node11_y">${animate(variable.node10_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node12_y">${animate(variable.node11_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node13_y">${animate(variable.node12_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node14_y">${animate(variable.node13_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node15_y">${animate(variable.node14_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node16_y">${animate(variable.node15_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node17_y">${animate(variable.node16_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node18_y">${animate(variable.node17_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node19_y">${animate(variable.node18_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
<variable type="number" id="node20_y">${animate(variable.node19_y + variable.height / (variable.num_nodes + 1), duration, tween)}</variable>
</variables>

<layers>
<layer id="start"><producer>scene/rope_end</producer>
<anchor_x>16</anchor_x>
<anchor_y>16</anchor_x>
<x>${variable.anchor1_x}</x>
<y>${variable.anchor1_y}</y>
</layer>

<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<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>
<layer id="end">
<producer>scene/rope_end</producer>
<anchor_x>16</anchor_x>
<anchor_y>16</anchor_x>
<x>${variable.node20_x}</x>
<y>${variable.node20_y + function_amplification * sin(variable.PI / (variable.num_nodes + 1) * 20)}</y>
</layer>
</layers>

<timelines>
</timelines>
</scene>

2 comments on commit 83e31b8

@vimlesh1975
Copy link

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Amazing.

@jesperstarkar
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Can we have a complex demo-scene showing the possible features of the Scene producer?

Please sign in to comment.