## Forum Replies Created

Viewing 1 - 10 of 27 posts
• ### Levi Borland

January 13, 2022 at 12:23 am

Looks much cleaner

• ### Levi Borland

January 12, 2022 at 10:30 pm

Delete the quotes around shape layer 1 and shape layer 1. Re type the quotes and then Shape Layer 1 inside the new quotes. Perhaps they are two opening quotes, or closing quotes instead of one of each.

• ### Levi Borland

January 12, 2022 at 10:15 pm

Nevermind, I put it into AE and it doesn’t give any meaningful help.

• ### Levi Borland

January 12, 2022 at 9:59 pm

Click on the orange or yellow triangle with the exclamation point to the left of the red arrow. It should give you more info. Can you screenshot that?

• ### Levi Borland

January 12, 2022 at 9:33 pm

Remove .value

• ### Levi Borland

January 12, 2022 at 3:28 pm

Can you screenshot the syntax error. It probably is because I didn’t put punctuation in the right place or something.

• ### Levi Borland

January 4, 2022 at 1:56 am

This for has a algorithmic efficiency of 2^n. In other words it completes two tasks each iteration (n standing for the total number of repeated iterations)Those two tasks are checking the current value of the next index, and then comparing it to the current max value. It then needs to repeat this process for the entire list of values. As you mentioned, this would not scale well at all. This becomes further complicated as positional data is usually stored as a 2 value (X and Y) or 3 value array (3D Z Position, X, and Y). This requires the additional use of the variable a in your code. But there is an easy way to reference to a specific dimension value, and that is by it’s index.

transform.Position.value[0] = X Value

transform.Position.value[1] = Y Value

transform.Position.value[2] = Z Value (If you are working with 3D Layers)

_______________________________________

try this….might work and might not….I am typing it out here and not in an IDE or AE Expression Field.

———————————————>

max = thisComp.layer(“Shape Layer 1”).transform.Position.value[0];

for (i = 1; i<=thisComp.layer(“Shape Layer 1”).transform.Position.numkeys; i++) {

max = Math.max(max, max.key(i).value);

}

max

The example above might not be perfect but it removes at least one step of assigning an A variable each iteration. As well as eliminates the need to have the algorithm manually assign a temp value to Max by extracting the X Position Data. This instead just assigns the value of the Shape Layers X Position Value by referring to it by it’s array index.

As mentioned this code may not work as I am typing it out here. I would also suggest assigning a different variable name for max such as maxXPosVal so it doesn’t get confused with the Math.max method you are calling. It will also make future code review easier when you have spent some time apart.

I hope this all made sense, and I also hope I didn’t just make a fool of myself with the code. I just started JavaScript recently but have tons of experience with Java. Pretty similar, just slightly different syntax.

Let me know if this solves your query, or at least help you along in the right direction.

• ### Levi Borland

January 4, 2022 at 12:58 am

I’ll be happy to lend some help, but whatever is wrong with your colors, I have no idea where to start….as you didn’t upload a file for me or anyone else to see.

• ### Levi Borland

December 23, 2021 at 7:31 am

Hey Martin. Pseudo Effect Maker doesn’t require you to provide an AE FFX file to the end user, or require the use of Pseudo Effect maker plugin by the user in order to make use of the template. You take the time to build out the Pseudo Effect, and can export and save the FFX file, which can be installed in the AE Presets Install folder where After Effects is installed. But this isn’t necessary. With the old version there would be a missing effect warning in the Effect Panel but this isn’t an issue anymore.

I recently used this product to package together a 3D Stock Footage product called STOCK3D Fire Blast. There is an image of my FFX layout on the homepage that explains the product, which was built with Pseudo Effect Maker. Here is the link if you want to see what I mean. http://www.stock3d.net/

Essentially all the Pseudo Effect Maker plugin is doing, is allowing you to create a custom FFX where you can better organize the effects used in your template project. You can rename them, add them into groups with drop down toggles, ext. You are only repackaging, renaming, and creating a GUI of sorts to simplify the use of your template. It writes the FFX file for you automatically in XML and HTML syntax. This is SO extremely useful because if a layer or control layer has 30 or so effects or expression controllers on it, there isn’t a way built into AE to organize them together or rename everything to your liking. Without it that layer would just have 30 effects stacked one on top of the next. Makes it so difficult for the end user to navigate the template when they have to scroll down all the time on the effects panel. To fix this you would either have to code the FFX file yourself, or use a product like Pseudo Effect Maker. It’s essentially a script that gives you drag and drop building abilities, that then obfuscates everything into code on the backend for you. It really is quite impressive.

As far as porting everything into Premiere pro, check out the Essential Graphics Panel in After Effects. It allows you to add controls and package the template together into a Motion Graphics Template for Premiere. The user would be able to control the values inside premiere on their timeline, and AE runs in the background to sort out the changes. Very similar to Dynamic Linking. There is a huge limitation to the controls you are able to port over into premiere however, so do some research on the types of controllers that would actually work thus far with a MOGRT template. Adobe really needs to spend some time adding in more functionality there, but it is great in the mean time for simple Template projects.

Any other questions, give me a ring.

Best of Luck!

• ### Levi Borland

December 19, 2021 at 6:51 am

Unfortunately you can’t do this with expressions. It is something that would have to be developed as a plugin with a CEP Panel or an HTML panel. However if you want to tidy up your expression controls then head over to AE Scripts and check out PseudoEffect Maker for After Effects. Promise you won’t regret it.

Viewing 1 - 10 of 27 posts

We use anonymous cookies to give you the best experience we can.