Freestyle for Blender

sounds great. :slight_smile: are there some freestyle for cycles builds that can be downloaded for testing?

Cool. I thought something like that should be possible. So you’re saying that it would be hard to put in a GUI? I’m not a programmer, so I could be wrong, but I would think there could be code that does this, and the user simiply marks a checkbox which enables the code. It would also be cool to have an option where all lines will draw, even if other objects are in front. So in the example scene the lines basically drawn an unbroken X

[message removed]

I totally forgot about QI range! Thank you.

i have downloaded a freestyle+cycles build now and have experimented a little. :slight_smile:

i have a question.

i want to use freestyle lines only on certain objects. and i have trees with alpha transparency in front of those objects. the alpha transparency seems to occlude the freestyle lines. what would be the best way to avoid this?

here is a screenshot of the problem (the trees are just a big polygon with an alpha texture):


edit:
i have another problem. sometimes there are small gaps in the freestyle lines and i don’t know why (it has nothing to do with alpha like my previous problem). especially during animation this is very visible since it only happens on some frames and so it causes flickering.
can this be fixed?

here is a screenshot where you can see 2 gaps:

ah! i think the gaps happen if the silhouette edge isn’t a real edge (selectable in edit mode) but an edge in the middle of an ngon?

after adding a triangulate modifier they seem to be gone.

Hi kakapo,
Freestyle identifies feature lines based on mesh geometry (vertices, edges and faces) and does not take account of alpha transparency of the faces. I’m afraid there is no easy way to work around it.

As to gaps in silhouette lines, you might be interested in my answer to the following question posted to Blender StackExchange:

To fix the trees, try this.

put the view port to textured mode, and in edit mode, subdivide the planes a number of times. Then take the knife tool, and cut out the tree. Delete the faces that would be transparent. Now your tree mesh is the exact shape of the tree, so the freestyle lines should work now.

It does get tricky trying to cut around the small detail, such as that black twig you have in the tree. (worst case scenario, you can model that twig as a separate object)

To use freestyle on only certain objects, put them into a group with “Ctrl G” then in the Render layers tab, under “Freestyle Line set” you will see “Selection by” with a bunch of buttons. click “Group” then towards the bottom you can choose which group you want. you can make different line sets, and apply them to different groups, to have different styles of lines on different objects (like if you wanted a different color, or thickness for example)

thanks for the face smoothness tip! but if i turn it on this happens:


the object sticks into the ground and now the lines that should be occluded by the ground still are visible. why?

also thanks for the tip with the trees. maybe i also can solve it by compositing them in. i will try that…

Freestyle needs further development to account for face-to-face and line-to-face intersections properly. At the moment Freestyle does not take them into account, so visual results might be wrong as seen in your latest render. Addressing this kind of visual artifacts (and drawing lines at face intersections) is one of future to-do items.

oh, those future features will be interesting.

i used a boolean modifier to subtract the lower part. this fixed it too. and i have a nice line at the ground intersection. :slight_smile:

would it be possible that freestyle lines get their own render pass in the future?

and i just noticed something… i used the mist pass to add some mist to the scene with compositing. the freestyle lines don’t seem to write into the z-buffer since they get “eaten” away by the mist far in the background? :slight_smile:

Freestyle’s own render pass is one of most frequently asked features. It will be pretty easy to implement it, but there is a concern about future extensions of Freestyle-related passes. See the first bullet of Task 2 of my project funded by the Blender Foundation development fund. For now there is no immediate plan to work on this feature.

Freestyle does not alter the Z pass. That means that Freestyle lines do not have Z depth information. Addressing it is one of future to-do items.

Playing with freestyle in blender


walk cycle

​http://i61.tinypic.com/308fj7k.jpg

Hey Zbyszko, she looks absolutely great! I know the character and have watched her in action a lot on TV, so it’s easy to see how much the render looks genuine. I guess you made lots of effort on the tapering strokes along her legs. I never thought of adding extra meshes to achieve the effect. Good job!

Hi T.K. Thanks for your great work
=:-)
testing Freestyle and smoke:

ciriaco,
The combination of limited animation and smoke looks great! The character animation is also nice. Thank you for sharing!

I extremely appreciate the combo of smoke sim and I MUST SAY— Excellent FS lines and colors and BG texture.

Maybe someone has posted about this already, but you can achieve resolution-independent line thickness in Freestyle by using the Distance from Object modifier and setting both Min and Max to the same value. You’ll also need to set Relative Line Thickness.
For the Target object you can just use an Empty.

Step 1: Set “Relative”

Step 2: Make an Empty near your object(s) and name it something that won’t confuse you later.

Step 3: Add a Distance from Object modifier, target it at your Empty, and set the Min and Max values to be the same.

The other thickness settings then don’t really matter since the modifier overrides them.

Render at different resolutions. Your line thickness should always stay proportionate.
Not sure what the size is based on, maybe the world? Scaling the Empty does not change it and neither does scaling the objects.
The only way to change it appears to be with the Min and Max values.
If you need varying line thickness in your render you may need to combine this modifier with others.

I created this tutorial on how to have a “Freestyle Only” Render Layer.