The problem is that where once upon a time the featured file might be a new and exceptionally unusual or creative piece of work, the guys who choose them also now seem to wait until a file has proven or is proving itself in terms of sales before featuring it. So the featured file is also pretty strongly affected by sales too.
It’s true that there are very few ways for the middle ground or new files to get exposure. Envato is a system where a tiny, very visible percentage rises to the top and earns well (mega-well in the case of TF) and the rest sinks to the bottom, not covering the time input with anything even approaching a subsisitence level of pay.
Hi Felt_tips and all,
I have a need to check if given x,y point is inside of given closed mask/shape within the script. Actually if mask is simple set of vertices then it’s relatively easier, and I think know how to write the algoriphm to check that.
But in more common case if there are inTangents and outTangents then algoriphm looks much more complicated. Any idea of simple way for this?Best Regards, Andrey
First off, I’m not sure if you’re talking about scripting or expressions. There’s a difference.
Even with a polygon with no tangents, the math is considerable.http://stackoverflow.com/questions/217578/point-in-polygon-aka-hit-test
If you’re talking about a bezier curve, then the math goes off the scale. I’m not sure how to do it off the top of my head. I’d start by reading a lot about bezier curve math, but I suspect that I’d end up using simple bezier math to convert the curve into a many pointed polygon and applying a brute force method on a straight edged polygon with thousands of points.
To do the curve method, it should also be possible to take all the individual bezier curves (the segments between two points), work out the smallest distance to each curve for your point (there’s plenty about this method on the web), then work out which side of the closest bezier curve the point is on, using vectors.http://jazzros.blogspot.de/2011/03/projecting-point-on-bezier-curve.html
But if you’re expecting a neat bit of code from me, I’m afraid I’m going to disappoint.
However, if you’re talking about expressions, there’s a much simpler way.
Set up a layer of composition size with a mask on called The Mask Layer, then another very small layer (say 5×5 pixels) called Am I inside.Create a text layer and paste this on the Source Text property.
L = thisComp.layer("Am I inside"); MaskLayer = thisComp.layer("The Mask Layer"); tCol = MaskLayer.sampleImage(L.toWorld([0,0,0]), radius = [.5, .5], postEffect = true, t = time) tCol == 1 ? "in" : "out";
That gives you an inside/outside boolean using the sampleImage method. Once you’ve got the principle you can adapt it to your needs. If you want to achieve this set up from scripting, it’s easy enough to create the layer, add an expression and allow the script to read off the value returned by the expression. It’ll all happen so quickly, the user won’t notice the creation, reading and deletion of the layer.
Wow Felt, I’m seriously thinking to build you a golden statue! This is exactly the problem I’m having… thank you so much once again!!! just added the word “comp” here: precompLayer = comp(“Main comp”).layer(“precomped layer”); etc…
Oops… yep missed out the “comp”.... corrected it now though.
Thanks for the statue. Send me a pic of it when it’s finished.
is it possible to offset the movement of the position of 3D layers?
i mean, i have many 3d layers each with different position value but i want them to follow the 1st layer that is moved but with slight delay with each layer.
I have done this when the layers have same position but it is making a mess when the layers have different position value.possible?
You just need to work out the initial offset of the layer to the follow layer at a certain time, then add the offset.
T = 0; // 0 is the initialization time, but it doesn't have to be. L = thisComp.layer("main movement"); // the layer I'm going to follow. myOffset = thisLayer.transform.position.valueAtTime(T) - L.transform.position.valueAtTime(T); L.transform.position + myOffset;
You could even give each layer a randomised time offset.
seedRandom(12+thisLayer.index, true); //generate timeless randoms using a seed of 12 + layer index randomT = random()*2 -1; //random time element from -1 to +1 (seconds) T = 0; // 0 is the initialization time, but it doesn't have to be. L = thisComp.layer("main movement"); // the layer I'm going to follow. myOffset = thisLayer.transform.position.valueAtTime(T) - L.transform.position.valueAtTime(T); L.transform.position.valueAtTime(time+randomT) + myOffset;
One of the things we want to add is better tracking of what search terms led to click throughs to an item, and what search terms led to sales … And possibly exposing this to authors so they can see what generates traffic, and let them optimise that.
Ooh – yes please! That sounds very cool – harness the power of the author. If the system is built right, we’ll be very useful partners.
Thanks for the in-depth post. It’s good to know things are happening.
Regarding the double standards that you guys have been talking about, it’s endemic to Envato. What we’re specifically told not to do is positively encouraged by the way the search operates. If search didn’t search titles and descriptions, authors would be far less likely to use words like “Loop” in their titles, or stuff their descriptions with search-friendly terms; and staff wouldn’t be wasting their time telling authors to stop it.
What I’d love to see for search in the short – medium term is:
- Search 40 structured tags, not the rest
- Sort out the category structures
- Have a moratorium on synonym search until it’s tested and works reliably.
- Calibrate sales boosting for individual marketplaces, and individual categories within a marketplace.
- Break Best Match relevance rating into zones and allow newness to boost only to the top of its relevance zone.
That would be a good start. Then maybe start experimenting with the clever stuff.
Only thing I can think of to improve these search results are giving those animations with travel in their title a higher boost than the ones with travel as a tag, and those with travel only in the decription a lower boost.
I find boosting the titles a really bad idea – this leads to descriptive naming of files. All files will start to be called things like “Modern Business Presentation” or “Clean Logo”. It doesn’t promote differentiation in the naming and will cause a glut of words in titles that authors think will be successful search terms. Everything will be “clean”, “modern”, “corporate”..... yawn!.. even when they’re not. As I pointed out before, if Apple sold its operating systems on Envato, they’d be called “Clean, modern operating system”, not Jaguar, Leopard, Mavericks et al. Windows would be called “Modern, clean operating system”, and Linux would be called “Fresh, new operating system” (which the synonym search would convert into “Clean, modern operating system”)
The place for searching is tags, and there needs to be more of them and they need to be more structured.