[submission] se_Expressionist  [SUBMITTED]

Moderator: SecondMan

User avatar
SirEdric
Fusionator
Posts: 2054
Joined: Tue Aug 05, 2014 10:04 am
Answers: 4
Real name: Eric Westphal
Been thanked: 161 times
Contact:

[submission] se_Expressionist

#1

Post by SirEdric » Sat Feb 23, 2019 5:22 am

When doing MotionGraphics one often has to animate many (many!) tools,
or connect certain Inputs of those tools to a designated Input of a master tool.
Sometimes one even needs incremental values, so that Tool1 rotates twice as fast as the master tool,
Tool2 rotates three times the speed, Tool3 four times the speed, etc., you get the point...:-)
A lot of copy & paste. And a lot of wasted time.

This script adds Expressions to any Number of Tools and Inputs.
Therefore it first checks the selected Tools for Inputs they have in Common.
Those Inputs are then displayed in the treeview.

To assign Expressions to an Input, first select the desired Input(s) in the treeview.
Then type the actual Expression in the associated field.
se_Exp_Connect.png
In this first example we connect the Y-Rotation of all selected Tools to the Y-Rotation of a tool called "Master".
Hence the Expression reads Master.Transform3DOp.Rotate.Y.

In the second example we get a bit more fancy and assign $current + time * $1 to the Y-Rotation of all selected Tools.
se_Exp_Main.png
$current evaluates the current Value of the Input and adds the rest of the Expression to that.
$1 is an incremental value specified in the Increment 1 field, which is 2 in this example.
Incremental means, that it will be multiplied in the Expression every time it's assigned.
If we assume a current value of 20 for the Y-Rotation on each Tool,
the resulting Expression on the first Tool will read 20 + time * 2,
on the second Tool it will be 20 + time * 4, on the third 20 + time * 6,
on the fourth 20 + time * 8, etc.


When working with incremental values, the order of the tools normally matters.
Since Fusion's toollist is by default an unsorted lua table,
the Sort Tools by dropdown offers an option to define the order the tools are processed in.
se_Exp_Sort.png
And if you really like this little helper, why not buy me a coffee on https://www.paypal.me/siredric.

Atom file contents:

Code: Select all

Atom {
	Name = "se_Expressionist",
	Category = "Scripts/Comp",
	Author = "Eric 'SirEdric' Westphal",
	Version = 0.75,
	Date = {2019, 2, 23},
	Description = [[<h3 align="center"><sup>&#91;se&#93;</sup>Expressionist</h3><p align="center"><strong>Add or modify Expressions on multiple tools simultaneously.</strong>
	<br>When doing MotionGraphics one often has to animate many (many!) tools,<br>
or connect certain Inputs of those tools to a designated Input of a master tool.
Sometimes one even needs incremental values, <br>so that Tool1 rotates twice as fast as the master tool,
Tool2 rotates three times the speed, Tool3 four times the speed, etc., you get the point...:-)<br>
A lot of copy & paste. And a lot of wasted time.<br><br>

This script adds Expressions to any Number of Tools and Inputs.<br>
Therefore it first checks the selected Tools for Inputs they have in Common.<br>
Those Inputs are then displayed in the treeview.<br><br>

To assign Expressions to an Input, first select the desired Input(s) in the treeview.<br>
Then type the actual Expression in the associated field.<br><br>

Thread on WeSuckLess: https://www.steakunderwater.com/wesuckless/viewtopic.php?f=6&t=2592&p=20006</p>
]],
	Donation = {
		URL = [[https://www.paypal.me/SirEdric]],
		Amount = "5,00 €",
	},

	Deploy = {
		"Scripts/Comp/SirEdric/se_Expressionist.lua",
	},
}

You do not have the required permissions to view the files attached to this post.
Last edited by SirEdric on Sat Feb 23, 2019 7:50 am, edited 1 time in total.

User avatar
AndrewHazelden
Fusionator
Posts: 1528
Joined: Fri Apr 03, 2015 3:20 pm
Answers: 8
Location: West Dover, Nova Scotia, Canada
Been thanked: 98 times
Contact:

Re: [submission] se_Expressionist

#2

Post by AndrewHazelden » Sat Feb 23, 2019 7:21 am

Hi. :)

The Atom "Description" element is pure HTML 4. That means you need to close the <p align="center"> tag at the end of the body of text with a matching </p>.

Also, as an HTML formatting comment, it looks like you wanted to have each section of text in the description field as unique paragraphs. Only the lines with <br> on them will have newlines added in the HTML output. Just because you visually added a newline in the text by hand won't change the output when it is rendered as rich text unless you wrap each paragraph in their own individual set of <p></p> tags, or you will need to add a few more <br>'s to each block of text to force that formatting to happen.

User avatar
SirEdric
Fusionator
Posts: 2054
Joined: Tue Aug 05, 2014 10:04 am
Answers: 4
Real name: Eric Westphal
Been thanked: 161 times
Contact:

Re: [submission] se_Expressionist  [SUBMITTED]

#3

Post by SirEdric » Sat Feb 23, 2019 7:50 am

Ahh....bloody HTML....:-/
Updated the original attachments...:-)

User avatar
SecondMan
Site Admin
Posts: 3769
Joined: Thu Jul 31, 2014 5:31 pm
Answers: 7
Location: Vancouver, Canada
Been thanked: 146 times
Contact:

Re: [submission] se_Expressionist

#4

Post by SecondMan » Wed Feb 27, 2019 1:03 pm

And submitted! :cheer:

User avatar
SirEdric
Fusionator
Posts: 2054
Joined: Tue Aug 05, 2014 10:04 am
Answers: 4
Real name: Eric Westphal
Been thanked: 161 times
Contact:

Re: [submission] se_Expressionist

#5

Post by SirEdric » Wed Feb 27, 2019 1:05 pm

Thaaaaanks! (A lot)