Brian Charles
Forum Replies Created
-
Here is an updated .jsx file. I haven’t written this as a Script UI panel, you can put it in the Scripts folder and run it from there.
-
I wrote something similar earlier this year and added controls to a null for offset in x y and z.
You’re welcome to use what you like:
// offset layers beta
// ©February – March 2011 Brian Charles version b.05
// Apply to layer below to Copy and Offset Position and Rotation.
//Adds a null with sliders to adjust offset and rotation in X, Y and Z.
// Scale linked to top layer.
//Opacity Slider added Mar 2/2011
// Check for Selected Layer March 5/2011
// added function March 5/2011
// you must have a layer selected to make this work.
// Brian Charlesvar myComp = app.project.activeItem;
var undoStr = “Layer Offset”;
if (myComp == null || !(myComp instanceof CompItem)) {
alert(“A Comp must be active to run this script”);
} else {
app.beginUndoGroup(undoStr);
var myLayer = myComp.selectedLayers;if (myLayer == null) {
alert (“Select a Layer”);
}else{var thisLayer = myComp.selectedLayers[0];
if(thisLayer){
offset3D();
}else{
alert(“Select a layer first.”)
app.endUndoGroup();
}
}
}
function offset3D() {
var theNum = prompt(“How many copies:”, “1”);
thisLayer.threeDLayer = true;
thisLayer.duplicate();
// make a null object
var controlNull = myComp.layers.addNull();
controlNull.source.name = “3D Offset Control”;
//add a sliders for X Y and Z Position
var offset = controlNull(“Effects”).addProperty(“Slider Control”);
offset.name = ‘Layer Offset (X)’;
var offset = controlNull(“Effects”).addProperty(“Slider Control”);
offset.name = ‘Layer Offset (Y)’;
var offset = controlNull(“Effects”).addProperty(“Slider Control”);
// add angle controls for X Y and Z Rotation
offset.name = ‘Layer Offset (Z)’;
var offset = controlNull(“Effects”).addProperty(“Angle Control”);
offset.name = ‘X Rotation’;
var offset = controlNull(“Effects”).addProperty(“Angle Control”);
offset.name = ‘Y Rotation’;
var offset = controlNull(“Effects”).addProperty(“Angle Control”);
offset.name = ‘Z Rotation’;
var offset = controlNull(“Effects”).addProperty(“Slider Control”);
offset.name = “Opacity Offset”;
// duplicate the layers and
// add the script to the selected layer
for (i = 0; i < (theNum-1); i++) {
var posExpression = ‘x =thisComp.layer(index-1).transform.position[0]+thisComp.layer(“3D Offset Control”).effect(“Layer Offset (X)”)(“Slider”); y=thisComp.layer(index-1).transform.position[1]+ thisComp.layer(“3D Offset Control”).effect(“Layer Offset (Y)”)(“Slider”);z =thisComp.layer(index-1).transform.position[2]+ thisComp.layer(“3D Offset Control”).effect(“Layer Offset (Z)”)(“Slider”);[x,y,z]’;
thisLayer.position.expression = posExpression;
var xRotExpression = ‘thisComp.layer(index-1).transform.xRotation+thisComp.layer(“3D Offset Control”).effect(“X Rotation”)(“Angle”)’;
thisLayer.xRotation.expression = xRotExpression;
var yRotExpression = ‘thisComp.layer(index-1).transform.yRotation+thisComp.layer(“3D Offset Control”).effect(“Y Rotation”)(“Angle”)’;
thisLayer.yRotation.expression = yRotExpression
var zRotExpression = ‘thisComp.layer(index-1).transform.zRotation+thisComp.layer(“3D Offset Control”).effect(“Z Rotation”)(“Angle”)’;
thisLayer.zRotation.expression = zRotExpression
var scaleExpression= ‘thisComp.layer(index-1).transform.scale’;
thisLayer.scale.expression = scaleExpression;
var opacityExpression = ‘D = thisComp.layer(“3D Offset Control”).effect(“Opacity Offset”)(“Slider”);thisComp.layer(index-1).transform.opacity – ((D/10)*-1)’;
thisLayer.opacity.expression = opacityExpression;
thisLayer.duplicate();
}
} -
When I first looked at the project, I turned off all the other layers to eliminate any issues other than the one you mentioned with the truck. I had turned off the clocks layer and the shadow appeared. In fact reordering the A6 layers has the same effect.
Indeed the problem lies in the clock comp. There are some divider layers (not really sure what you’re doing here) that are 2D which may be the issue, though moving them above all 3D layers did solve the shadow problem. I know that placing 2D layers between 3D layers can solve some rendering issues by separating the 3D world calculations.
I wish I could be more help, don’t really have the time to troubleshoot this problem, which appears to be a layer order issue.
-
-
Dave’s question about resolution is important since you want these dots to appear in a line.
I’m going to assume you want multiple lines, since 20,000 dots in one line would require at least 20,000 pixels in one dimension.
Particle systems may prove too difficult to control for the look you want. You could try using a repeater on a shape layer and animate the repeater value.
Resolution comes into play since the dots can’t be smaller than a pixel, in fact you will need them larger if you’re working interlaced.
-
[Dave LaRonde] “As always, if the look of hand-held isn’t desirable, it’s necessary to use primary motion stabilization: a tripod.”
Words of wisdom.
-
Under Physics set the Velocity to 0 and Gravity to 0.
Set the particle Longevity as long as you need it.
-
Unlike some other Adobe Apps (e.g. Illustrator, InDesign) ruler guides aren’t live objects that can be selected for copy, paste, or deletion.
Following on Todd’s suggestion, here’s an idea:
if the guides are all the same, create an empty comp and use the pen tool to create the guide lines and use it as a nested comp.
Turn it into a guide layer to prevent the lines from rendering.
-
-
Have you considered using Adobe Media Encoder? Not exactly what you want and a bit laborious adding the comps but it could batch render the files for you.
