Steve Sierra
Forum Replies Created
-
Steve Sierra
April 26, 2017 at 2:09 pm in reply to: problem linking gaussian bluriness to other layer’s sliderI see…
Too bad you can’t reference it directly by name when you create it.Thanks again, this is pretty important to know if you don’t want to be staring at your invalid object for hours… ????
Cheers !
-
Hi Alex,
I’m not sure I’m understanding your case completely, but I think you should try only parenting the higher nulls (those that are on the thighs) and then parenting the lower nulls to the upper nulls.
Does that help ?
😉 -
Steve Sierra
April 26, 2017 at 8:58 am in reply to: problem linking gaussian bluriness to other layer’s sliderHi Xavier,
Thanks for your quick replies.
I think you are right…
Immediatly after creating the Gaussian blur, I create a Bevel Alpha effect. If I don’t create it, my code works fine.If I understand what’s going on, my code is referencing the Gaussian blur effect by index ? And when I create the bevel, it’s index becomes [1] in the effects group ?
So, in order to keep both effects, I have to reference the blur effect by index once I have finished adding all effects to this layer ? Can I reference it by name ?
Thanks again !
😉 -
Steve Sierra
April 26, 2017 at 5:21 am in reply to: Expression to link Shape data to position coordinatesHi,
I am also working on a shape lipsync, here’s my workflow :
1. I use papagayo (https://www.lostmarble.com/papagayo/) and lipsync v1 (https://www.dubon.fr/dubon-developpe/lipsync/) to get a time remapped keyframes of my mouthshapes.
2. I create a “Mouths” shape layer with all the phonemes keyframed in the same order and same times as in the timeremapped comp. So you’de have somthing like “A” keyed on frame 0, “E” keyed on frame 1, “O” keyed on frame 3, etc… It HAS to be same order and same times.
3. This is where my script starts, but you can do it manually:
– create the “Final Mouth” shape layer
– put this expression in the “Final Mouth” path property, it translates the timeremapped time keys to frame keys :finalMouthPath.expression = ‘timeToFrames(thisComp.layer(“TimeRemappedLayer”).timeRemap.valueAtTime(time))’;
– bake the expression in script using (or do it manually : Animation/KeyFrame assistant/convert expression to keyframes):
finalMouthPath.selected = true;
app.executeCommand(app.findMenuCommandId(“Convert Expression to Keyframes”));– remove keyframes where time remapped layer does not have keyframes (check out a previous post of mine where Xavier Gomez helps me out to find 2 solutions for this)
You should now have a keyframed shape layer !
To go a bit further, I copy the final Mouth path to a solid layer’s mask path, apply mask interpolation to it and copy the keys back to the final mouth layer.
Hope this is clear enough… and helps you out.
Cheers !
-
Hi,
I’m not sure this is what you’re after, but here it goes :
-Create a slider control on your shape layer.
-keyframe your ping-pong-ping with a pause if you want between 0 and 1 seconds (doesn’t really matter, it can be 0 and 2)
-put this expression in your shape’s position property :valueAtTime(time*effect(“Slider Control”)(“Slider”)/100);
Now, you control the speed of your animation with your slider !
I got this from DUIK’s morpher, just made a few changes.Cheers !
-
Steve Sierra
April 24, 2017 at 12:43 pm in reply to: Animating a switch between expressions in one layerHi,
If you create a slider on your white circle layer, you can put this expression for the position property (you can still keyframe your position if you need to) :
var a = comp(“Comp 3”).layer(“Shape Layer 1”).transform.position;
var b = comp(“Comp 2”).layer(“Shape Layer 1”).transform.position;
var c = effect(“Slider Control 1”)(“Slider”);transform.position + ((a*c/100) + (b*(100-c)/100))/2
Hope this helps,
Cheers ! -
Hi,
There must be a better method, but here’s what I’d do :
(assuming the selected comps names haven’t been changed in other comps, and other layers don’t have the same name.)-For each Comp selected, get name (SelectedCompName)
-For each comp in the project panel, do a forloop on all the layers to compare the names of each layer(LayerName) with SelectedCompName.
If LayerName == CompName, then use replaceSource() on the layer.As I said, there must be a better method, but I hope this helps in the meantime…
Good Luck 😉
-
Hello,
I’m new to scripting, but this is what I’d do :-You could create solids in your placeholder comps and then use “replaceSource()” to replace them with your clips.
-To get the clips numbers to match with the placeholders numbers, I’d use slice on the names, but if you have more than 9 clips, you have to name them Clip01, Clip02,Clip03, etc…
– I still haven’t messed around with comp settings, but you can get Item’s duration using “app.project.item.duration” I think. It’s a read/write for comps and a read only for other Items.
I hope this can help.
Cheers !
-
Hi,
You can check out these tutorials :
https://www.provideocoalition.com/after-effects-extendscript-training-complete-series
https://www.provideocoalition.com/tag/free-function-friday/There’s a function friday called “get Key basic”
Episode 17 of the complete training series could help you as well.Good Luck !
-
Thanks again Dan,
I think I had forgotten the “.value” at the end of the source text… I’ll check it out as soon as I can.
Cheers