Note that expressions, especially expressions that reference multiple comps can really slow AE down. Note that you can use regular javascript string methods to handle text manipulation in expressions, so things like regular expressions and string.split and number.toString all work. Obviously this will only work if your comps have unique names. Now in the subcomp itself the colour will be available to expressions if you use the value comp("M01").layer(thisComp.name).effect("Color Control")(1). On the subcomp layer in the main comp add a colour expression control effect ( Effects > Expression Controls > Color, then control it with an expression so that it's linked to the colour of the colour picker (use the pick whip). If I understand what your asking correctly there is a way of doing it. If you have a unique procedural naming based on your comp "depth" this might be possible with some advanced expression or maybe script but if you just named them "my cool comp" and "my other cool" comp you can't really make a script for that. You can do it with layers by specifying the index number but a comp doesn't really have a unique parent which makes this rather hard to have a generic selector for comps. Įdit: Regarding the clarification in the comments about using relative selectors for comps. If the property is more nested you just add another ("sub property") until you reach the property you need, just as you would click through the drop down menus.Īlso helpful: VideoCopilot recently released a great free script specializing in pre-comping 3D layers in exactly that way. comp("Comp Name").layer("Layer Name")("Property e.g. You can link properties in different compositions by using an expression like this one. (I cannot use a 'change color' effect in the main comp there are transparencies & blend modes that would get messed up.) but my project is over 50MB now, with hundreds of comps, and is unwieldly. I'm using True Comp Duplicator, which is a lifesave with its 'update expressions' option. I want to duplicate M01 to M02, change the color picker value, and have S01a S01b pick up the new color value, without having to duplicate them to S02a, S02b, etc in order to reference M02. The colors of shapes in S01a etc are based on a color picker in M01. I know there is no "thisComp.parent" option - since a comp can be nested in many different parents - but is there a way to "push" a property "down" into a subcomp? Or any clever workaround? Does this make sense?Į.g., main comp "M01" has subcomps "S01a", "S01b", etc. Is there ANY way to allow a nested comp to change based on the comp within which it is nested? I would love to avoid having to duplicate all the subcomps 30 times, so I don't have hundreds of copies. The subcomps are animated shapes, which take their color from a color picker in the main comp. I need to create about 30 versions of each main comp, with different colors. L = linear(levelIdx, 0, numLevels-1, 0.5, 0.I have a dozen 'main' comps which have a bunch of nested comps. S = 1 - levelIdx / numLevels // saturation (from high to low) The stroke width is set to 10% of the comp height: 0.1 * thisComp.height Īnd finally we apply the following expression to the stroke color: subdivs = 12 The expression is the same for the end property, except the last line. We add the following expression to the start property of the Trim Paths effector: subdivs = 12 StrokeW = content("Arc " + (idx + 1)).content("Stroke 1").strokeWidth ĭiam = 0.8 * thisComp.height - levelIdx * 2 * strokeW Idx = parseInt(thisProperty.propertyGroup(3).name.split(" ")) - 1 We apply the following expression to the ellipse size: subdivs = 12 Since the wheel is made of concentric circles, the size of each circle depends on the level. The setup consists of a shape group containing a trimmed stroked ellipse: Setup for the base arc We want to create an initial arc, add expressions to it, and then duplicate that arc to construct the entire wheel.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |