Mark Allen
Forum Replies Created
-
Mark Allen
July 23, 2012 at 5:11 pm in reply to: AE ray trace engine/CUDA GPU performance comparisonThanks for all this information, can I ask a couple more questions.
1. The GTX 570 doesn’t have a boot up screen without the macvidcards mod… does that mean I cannot boot up or I just won’t see the login screen? Any other functional problems?
2. Could I put a GTX 570 in the same machine with a 5870 or 5770 and a) give each a monitor? or b) if I gave the 5870 or 5770 the display would it still benefit other programs?
My programs of interest are AE, Premiere, FCP (more than premiere), UDK (running on windows), blender (mac)
Thanks!
-
Mark Allen
October 12, 2006 at 9:44 am in reply to: NASA Wants A Higher Resolution Format. What do you recommend?I agree about h264, but please note that you must do the multipass (frame reeordering method) to get ultimate quality for size control And AE does NOT do this. QTPro does however. Render out AE uncompressed, then export from QTpro to h264.
-
To create that look – it would be pretty easy to just paint it. Wouldn’t require much art skills even. Essentially you’re lightening one side with variation, darkening the other, make sure on the dark side you have some flipped over edges which are highlighted. So – the creation of it would not be complex. The animation of it on the other hand is where there would be a thousand solutions.
If it were a really quick few frame swipe – you could literally get away with a garbage matte wipe from the clean to the ripped. If you wanted to slow it all down though you could take your cleanplate and your tornplate and then split them along the exact same line down the tear. Now you have two halves. You could then for the clean plate animate it pushing away with mesh warp on each layer (so pulling the edge graphic inward on each new half. On the torn one, you are doing the opposite.. now, you would want to make sure that the tear point is matcing as you do this. Then… once animated you dissolve from clean to the tear.
just an idea.
you could actually paint the highlight and darkness on the “cleanplate” as well instead of using dissolve. just use a solid with masks to do your live painting changes.
there are proably 20 other ways to do it.
To me, this doesn’t look 3D at all, I’m sure it was painted, btw.
-
Mark Allen
October 9, 2006 at 7:06 pm in reply to: how to write an expression that increases incrementallyI am far from an expert here, but I’m answering just in case the problem is urgent.
I think that this might need to be a script, because expressions don’t hold their variables, for example:
var x = transform.position[0];
var y = transform.position[1];
var z = transform.position[2];
var increase = 0.1;
if (random(100) > 50) y = transform.position[1]+increase;
[x,y,z];Will randomly incrase the Y, but it will start back at 240 the very next frame.
So – either you need to do this in a script or there is some clever way of assigning a value to a slider from within an expression that I don’t know about. I’m not swift enough that I could write the script, but perhaps someone will clue you further?
-
Mark Allen
October 9, 2006 at 7:06 pm in reply to: how to write an expression that increases incrementallyI am far from an expert here, but I’m answering just in case the problem is urgent.
I think that this might need to be a script, because expressions don’t hold their variables, for example:
var x = transform.position[0];
var y = transform.position[1];
var z = transform.position[2];
var increase = 0.1;
if (random(100) > 50) y = transform.position[1]+increase;
[x,y,z];Will randomly incrase the Y, but it will start back at 240 the very next frame.
So – either you need to do this in a script or there is some clever way of assigning a value to a slider from within an expression that I don’t know about. I’m not swift enough that I could write the script, but perhaps someone will clue you further?
-
Okay – so, I turned to my brother who is a programmer (CTO of a tech company as well) but who has never even seen After Effects open and he said that the stack overrun was a bug in AE that he could fix (hehehe sounds like a programmer doesn’t he?) , but for now it was running out of memory from the references. Meaning 453 layers referencing the previous layer. (index-1)
so – I mentioned the idea of running it as a script and after a couple of hours with he and I and the scripting book we managed (though he really did it all) to come up with a script hack which solved the problem using Colin’s basic program inside a script form.
Now, I had to remove all the neat slider expression controls because they were erring which was a bummer – but by now I’d figured out what I wanted for those numbers anyway so it was okay…
…and for the edification of anyone reading or referencing this – I post the script below… if anyone wants to tell me how we could have referenced a slider instead of assigning a number (in for example z = 0) then that would be interesting for me to know.
one side benefit without the 453 scripts, the project seems to run faster.
thanks to everyone whose scripts I stole lines from for things like the undogroup and sorry for the crazy spacing which came because of gmail to mail.app to textedit.
//begin code
app.beginUndoGroup(“DistanceScript”);
varcurItem = app.project.activeItem;
if(curItem == null || !(curItem instanceof CompItem)){
alert(“Please establish a comp as the active item and run the script again”);}
var
thisComp = app.project.activeItem;
if(thisComp == null || !(thisComp instanceof CompItem)){
alert(“Please establish a comp as the active item and run the script again”);}
var
startLayer = 10
varstopLayer = 463
for(var index = startLayer; index <= stopLayer; ++index) { var curLayer = curItem.layer(index) var prevLayer = curItem.layer(index-1) var prevName = prevLayer.name var currName = curLayer.name var x = 0.0 var y = 0.0 var z = 0.0 var normalDistance = 200 var doorDistance = 100 if (currName.indexOf( "wallThing" ) != -1) x = prevLayer.width /2 + normalDistance/2 + prevLayer.position.value[0]; else if (prevName.indexOf( "wallThing" ) != -1) x = thisComp.layer(index -2).width /2 + curLayer.width /2 + normalDistance + thisComp.layer(index -2).position.value[0]; else if( prevName.indexOf ("door") != -1|| currName.indexOf( "door" ) != -1 ) x = prevLayer.width / 2 + curLayer.width / 2 + doorDistance + prevLayer.position.value[0]; else x = prevLayer.width/2 + curLayer.width / 2 + normalDistance + prevLayer.position.value[0]; curLayer.position.setValue([ x, y, z] ); } app.endUndoGroup();
-
Okay – so, I turned to my brother who is a programmer (CTO of a tech company as well) but who has never even seen After Effects open and he said that the stack overrun was a bug in AE that he could fix (hehehe sounds like a programmer doesn’t he?) , but for now it was running out of memory from the references. Meaning 453 layers referencing the previous layer. (index-1)
so – I mentioned the idea of running it as a script and after a couple of hours with he and I and the scripting book we managed (though he really did it all) to come up with a script hack which solved the problem using Colin’s basic program inside a script form.
Now, I had to remove all the neat slider expression controls because they were erring which was a bummer – but by now I’d figured out what I wanted for those numbers anyway so it was okay…
…and for the edification of anyone reading or referencing this – I post the script below… if anyone wants to tell me how we could have referenced a slider instead of assigning a number (in for example z = 0) then that would be interesting for me to know.
one side benefit without the 453 scripts, the project seems to run faster.
thanks to everyone whose scripts I stole lines from for things like the undogroup and sorry for the crazy spacing which came because of gmail to mail.app to textedit.
//begin code
app.beginUndoGroup(“DistanceScript”);
varcurItem = app.project.activeItem;
if(curItem == null || !(curItem instanceof CompItem)){
alert(“Please establish a comp as the active item and run the script again”);}
var
thisComp = app.project.activeItem;
if(thisComp == null || !(thisComp instanceof CompItem)){
alert(“Please establish a comp as the active item and run the script again”);}
var
startLayer = 10
varstopLayer = 463
for(var index = startLayer; index <= stopLayer; ++index) { var curLayer = curItem.layer(index) var prevLayer = curItem.layer(index-1) var prevName = prevLayer.name var currName = curLayer.name var x = 0.0 var y = 0.0 var z = 0.0 var normalDistance = 200 var doorDistance = 100 if (currName.indexOf( "wallThing" ) != -1) x = prevLayer.width /2 + normalDistance/2 + prevLayer.position.value[0]; else if (prevName.indexOf( "wallThing" ) != -1) x = thisComp.layer(index -2).width /2 + curLayer.width /2 + normalDistance + thisComp.layer(index -2).position.value[0]; else if( prevName.indexOf ("door") != -1|| currName.indexOf( "door" ) != -1 ) x = prevLayer.width / 2 + curLayer.width / 2 + doorDistance + prevLayer.position.value[0]; else x = prevLayer.width/2 + curLayer.width / 2 + normalDistance + prevLayer.position.value[0]; curLayer.position.setValue([ x, y, z] ); } app.endUndoGroup();
-
Well… almost done with this project. I have about 524 layers in the project. There are about 450 of them which all use the same expression (posted above with the alteration of using a controls null slider).
HOWEVER…. after pasting this lovely expression, I’m getting the error on random layers: “stack overrun – expression disabled” and then a bunch of them after that “time out expression disabled.”
Seems from my fussing with it that I have to set a real keyframe every 40 layers or so. Is there a limit to how many times one can refer back to a previous layer?
What exactly does “stack overrun” mean in this case?
Thanks in advance.
-
Well… almost done with this project. I have about 524 layers in the project. There are about 450 of them which all use the same expression (posted above with the alteration of using a controls null slider).
HOWEVER…. after pasting this lovely expression, I’m getting the error on random layers: “stack overrun – expression disabled” and then a bunch of them after that “time out expression disabled.”
Seems from my fussing with it that I have to set a real keyframe every 40 layers or so. Is there a limit to how many times one can refer back to a previous layer?
What exactly does “stack overrun” mean in this case?
Thanks in advance.
-
Great tip on that tutorial. I’ve heard of these sliders and just been too lazy to figure out how to use them… which now seems silly.
I will be emailing you a link to a finished sample (and my thanks again) next week when this thing is finished!
Is there a great resource online for javascript “words” that can be used with AE? The indexOf was key here and I would have had no idea that this existed or how to find it unless you’d put it out there. I don’t know what I may come across in the future, but seems like I would have wanted to find “indexOf” listed under “things to do with .name” in a manual that actually made sense. 🙂