Freestyle for Blender

johantri,
The opening sequence is absolutely amazing. Congratulations to all the team members for the achievement!!
The reported problem of incorrect line visibility seems caused by the short focal length (e.g., 10 mm). I also found this bug did not exist in the “Normal Ray Casting” algorithm that was available in old revisions of the Freestyle branch. Since new much faster raycasting algorithms were introduced, this and other old slower raycasting algorithms were dropped in a recent revision following a suggestion as a result of branch code review toward the trunk merger. You might want to try an old Freestyle branch build with this Normal raycasting algorithm available, just to fill the missing frames that are not correctly rendered in recent builds.

johantri,
OK, so the reported problem happens no matter what the focal length is. I look more into the issue.

vicentecarro,
Thanks for the notes. I agree that a functionality to save and load Freestyle settings is a must. Previously we had an idea of presets, and that was one way to implement this capability. I will address it as soon as time permits. I also agree with the possibility of copying edge and face marks. I have noted this as a future work.

T.K. Great :wink:

Hi Tamito ,
first of all mucho thanx for the great efforts from you!
I have collected some bugs, should i wait for the trunk commit or can i start to report them here?
I have some problems also with the svg export…
Best regards.

One more little Freestyle request (this might already exist, though I couldn’t quite see it):

The opposite of “Mark Freestyle Edge”. It could be called “Block Edge from Freestyle”. So if you mark a given Edge, then Freestyle will totally ignore it in all of the renderings.

This would be useful in bypassing the Node Editor steps (thereby saving time). For example, I currently have a simple plane of a mirrored floor beneath characters, just for a little bit of drop shadow. But to prevent this Plane’s edges from rendering in Freestyle, one must go through the Node Editor (or, alternately, extend the Plane’s Edges beyond the Camera’s borders). It would be a good deal faster if (a) the Edge could be selected, then (b) hit Ctrl+E, © “Block Edge from Freestyle”.

Just a thought. I’m grateful for Freestyle as things are right now.

If there is already something like this, please let me know.

tungee,
Problem reports are very welcome even now that updates towards the trunk merger are ongoing.

DavidBrennan,
Edge marks can be used either to force them to be detected as feature edges or to ignore them, the latter by clicking the X button next to the Edge Marks toggle in the Selection by Edge Types section. For now the two ways of using edge marks for edge selection cannot be mixed. Having another flag for ignoring specific edges in addition to the present flag for having them detected as feature edges makes more sense. At the moment adding many flags is difficult due to a space limit in the Mesh data structure, and this is also a major complain in a recent code review by Campbell. I am working exactly on this specific issue right now. If the code updates addressing this review comment have been done, then it is likely much easier to have as many edge attributes as we want to implement. For instance, we could introduce a real number attribute between 0 and 1 specified for each edge (just like a crease weight) to individually control color, transparency, thickness and so on. If time permits I would implement the “ignore edge” flag even before the trunk merger. For now I took a note about the feature request. Any other ideas are also welcome.

Regarding the technique to ignore an Edge, I see what you were referencing. Very simple and convenient!


However…it doesn’t appear to be working. (I’m using a 2.65 Freestyle build for Windows.) I’ve tried this in two separate files and in neither case did Freestyle ignore the Edge at all.


Is there some special trick to the settings to get it to work?

Separately, I think that the idea of having values assigned to Edges (akin to Mean Crease) is a great one and tremendously useful and logical. So I hope that the challenges associated with designating Mesh data are smoothed out and this value feature is achieved.

UPDATE: It appears that the “Exclude Edge Marks” can work, but it does not negate other Freestyle values. For instance, if Freestyle will render the “Border” and “Crease” Edges, but those same Edges are set to “Exclude Edge Marks”, then the border will overlay the “Exclude Edge Marks”, and you’ll end up with Freestyle Edges, after all.

Whereas in my request, I was seeking a way to explicitly negate an Edge from all Freestyle detection. Such that, as soon as an Edge was denoted as being excluded, Freestyle would never trace it at all.

DavidBrennan,
Try to use Logical AND instead of Logical OR.

Basically,

  • Each edge type button represents a condition for selecting or deselecting feature edges of that type (deselecting if the X toggle is on).
  • The Logical AND and OR combine the edge type conditions.
  • Finally, the Exclusive option if enabled negates the combined condition.

Example: If you want to select feature edges of type A but not B, then you need to:

  • Enable the edge type A,
  • Enable the edge type B and also the X toggle, and
  • Enable the Logical AND.

The present interface does not allow you to specify a complex selection conditions in a single lineset. You need to split selection conditions into several line sets. For instance, if you want to select feature edges of type A1 and A2 but not B, then you need to:

  • Create a line set, enable the edge type A1, enable the edge type B with the X toggle turned on, and enable the Logical AND, and
  • Create another line set, enable the edge type A2, enable the edge type B with the X toggle turned on, and enable the Logical AND.

Specifically, the complete condition above is easily written in a programming language as “(A1 or A2) and (not B)”. This condition can also be written as “(A1 and (not B)) or (A2 and (not B))”. This is exactly what the second example is meant to express.

I think the present graphical way of specifying edge selection conditions are rather difficult to understand and apply properly. Maybe a textual specification of conditions like in a programming language would be much easier for artists with some programming background. Another implementation option would be a node-based system, but I feel like that’s a long-term future plan.

Hi T.K. great work! It’s been a couple of years since I tried a build with Freestyle, been missing something good for sure! Congrats on making into trunk, tried to write a simple svg script myself and can imagine how much of your time was invested into this… A couple of questions: doesn’t it make sense to output bezier curves and grease pencil strokes as lines? I think those would be useful… and what about shading, there seems to be options to output strokes but none for fills, Blender own materials pass is great of course but you can not apply Freestyle modifiers to geometry that way. Will check some older stuff in this thread, congrats again and thanks!

a couple of hours playing with this and it is great, got some experience with sketch & toon and this is pretty close, just add a preset system…


Alrighty, TK!

This might be a little bit cumbersome at the moment (having to add Line Set after Line Set), but your procedure did indeed work! It would be good if there were some sort of “Master Layer” or something which would allow for the negation of some lines (again, the opposite of “Mark Freestyle Edge”) rather than this sequence, but I know things are easier said than done.

Separately, is all this talk confirmation that Freestyle will be in the Trunk of 2.67? If so, have you prepared the nation of Japan for the news, as I’m sure they’re going to declare the Freestyle release date a national holiday?

Just wanted to post a quick thank you to TK and the people who put builds on Graphicall (paulhart and crazycourier).

I was under a lot of pressure yesterday and had to produce something for a meeting this morning. Thanks to the speed of Blender and Freestyle, I had the modelling done and the images sorted in 2 hours flat. A bit of marking up in Bluebeam, and I had something nice to show the client (see attached).

It may not be high art, but you can’t beat it for speed. I’d have struggled to mark-up drawings in Bluebeam (or by hand then scanned in) in that amount of time. Couldn’t have done it without you TK. Thanks a lot for all your efforts.

http://www.pasteall.org/pic/46775
http://www.pasteall.org/pic/46776
http://www.pasteall.org/pic/46777
http://www.pasteall.org/pic/46778

Those are very nice looking, edna. I’m jealous. So those are all 3D models with Freestyle edges, right? So what did you mean that they were “marked up” by Bluebeam (I’m not familiar with that program)?

Is anybody aware of any Freestyle builds for Windows in 2.66 - or when one might be constructed? I just installed 2.66a, and now when I use the latest Windows Freestyle build (for 2.65 from several weeks back) and go to the Node Editor, it instantly crashes.

DavidBrennan, and others…
I wasn’t sure if or when to post, but this seems like a good time. A recent project humbled my workstations, so I took the long overdue leap into the world of 64bit OS. I had the hardware for several years, but was waiting for some software to catch up and it wasn’t a “slog” that I was looking forward to, as it was a clean install on two stations, then all of the programs, oh…, you know the drill. Anyway, this meant that my 32bit OS compiling environment is “no longer” so, someone else will have to take up the Win32 build process. My last build, 2.65.10, has been downloaded 5625 times since Feb. 16th, amazing. I will continue working with Freestyle, but not able to build the Win32 platform any more. Hopefully some else can pick it up until the merge.
Carry on…

Yeah, I got a 64-bit OS, too, last fall when I received this computer (thanks, Mom and Dad!) Although I can’t really tell the difference - and the 32-bit Blender works identically (as far as I can tell) on the computer.

Anyway, thanks for all of the builds. A 64-bit build with Freestlye would be great, but a 32-bit works on 64-bit systems, as well. So any Windows build with 2.66 would be suitable for me, personally.

Regardless, thanks for all of your builds (I was definitely one of the downloaders) and recognition for any future builds, too.

FreeStyle Release Documentation needs your help.
I just started a GDoc for the process, volunteers welcomed.
PM me your email (or just email me: wk doot bong at gmail dout com) to get started.
Developers been notified.
Will also merge old stuff from wiki.

Anyone familiar with Python scripting mode is most welcome.

Thanks David. When I say ‘marked up,’ I mean that I added the text and title box in Bluebeam (excellent PDF software, especially if somebody else is paying for it). I used to do that bit in Blender/Freestyle as well, but it is a bit painful because you have to combine layers using nodes, align text with the camera and so on.

And yes, those are 3D models with Freestyle edges. You can also see the section that I cut using an orthographic camera with a short clipping range (1m in this case) as well - bottom right of image 46776. Freestyle creates the edges where the model is cut, so it works rather well.

Thanks man :slight_smile: also I saw the mention about it on the meeting looks like it is coming along nicely. Unfortunately I wont have any time over for documentation help.

Oh, that’s cool. I use the free and open-source Scribus for my PDF’s (although it’s got somewhat aggravating interface and usability inconveniences). I’m most always happy with the final product.

Your screencaps really show some of the other uses for Freestyle, apart from just the 2D cel animation look about things. I know that others have done similar cool things, but more examples help to reinforce the point. I predict that when 2.67 is released, Freestyle will turn out to be one of the most popular main additions to Blender in a long, long time - on par with Cycles, even.

(And if anybody could get a Freestyle build for 2.66, that would be huge for me. Many of my 2.66 .Blends just crash when opened in my old 2.65 Freestyle.)