2
$\begingroup$

I have asked on question here: Why the inner edge line segments are drawn in freestyle render output , but it looks like Blender's freestyle render does not works quite well, as it has bugs.

So my question is: Is there any feature that I can show the edges cleanly just like the ones in Sketchup, see below:

screen shot of sketchup

In the above screen shot, both the front edges and back edges are shown in 2D style(I mean they don't have any 3D projection feature, they just have fixed width), but this feature is useful for me to show the inner structure for teaching. Thanks.

$\endgroup$

2 Answers 2

4
$\begingroup$

To show edges of geometry in render like on your screenshot I used Freestyle, i.e. it's possible to see the result only when rendering (either in Preview / Viewport render or scene render).

In Render Layers tab, Freestyle Line Set rollout I set up 3 freestyle layers:

  • one for border edges of meshes (contours);
  • one for hidden geometry (i.e. the one which is hidden from viewer with another geometry) (seeing-through)
  • and one for foreground edges (i.e. ones that are closer to the camera and are visible) (foreground).

freestyle layers setup

  • contours layer (thick grey line):
    Has the simplest setup, nearly default one (it has Suggestive Contours checked and that's not needed for it to work).
  • seeing-through layer (dashed green line):
    I checked Hidden option to make hidden geomtry selected by Fresstyle. I unchecked all the options from Edge Types category (it will also work if checking default ones and Crease, which will work only if its angle is set, see below).
  • foreground layer (thin red line):
    Only Crease is checked because layer is intended to show those edges which are neither borders nor contours and at the same time aren't hidden geometry. In order to make it work Crease Angle in Freestyle rollout in the same tab is set to 120 degrees instead of default 0:

freestyle crease angle value

I also changed line style for every layer, like thickness, color etc. in Freestyle Line Style rollout in the same tab. The result:

enter image description here

It has some inaccuracies, like the one with the top red edge of the rightmost cube, it stops being visible and becomes hidden too early (it should've been red all the way up to cylinder). If this is something visible for you and not desired, it should be possible to avoid that if subdividing that edge with a loopcut.

$\endgroup$
4
  • $\begingroup$ Hi, Mr zak, I mark this as the answer to my question, thanks. But I do see some bugs in Freestyle, and I still need to some extra work (I need to subdivide some edge with a loopcut). Hope those bugs will be fixed. $\endgroup$
    – ollydbg23
    Commented Mar 24, 2016 at 7:16
  • $\begingroup$ @ollydbg23 yes the undesired behaviour is present unfortunately; it may be avoided with subdividing (make sure to grab added cut towards the intersection of geometry). You can use sliding (G twice with loop selected) to move it where needed. As I tested, adding Subsurf won't help much and subdivide seems to be the only kind of easy fix. $\endgroup$
    – Mr Zak
    Commented Mar 24, 2016 at 12:21
  • $\begingroup$ Is it possible what the hidden line is generated directly from the OpenGL? I see this post here: 3D shapes with stippled edges when hidden, I guess Sketchup just did some similar things. thanks. $\endgroup$
    – ollydbg23
    Commented Apr 16, 2016 at 14:08
  • $\begingroup$ @ollydbg23 I don't think so as Freestyle is Blender's render engine which is not just OpenGL. Though I haven't any special knowledge on that topic. If you want that question to be answered most likely you should ask a new one. $\endgroup$
    – Mr Zak
    Commented Apr 16, 2016 at 23:18
0
$\begingroup$

Are you talking about Blender viewport or Freestly rendering? Blender viewport has currently very limited customization and edge representation options, there is an undergoing huge project that plans to revamp the OpenGL and drawing parts of Blender that will hopefully allow for better display modes and options.

So currently as far as I know there is no way to display it real time, as far as I know, but you might be able to do so in the future.

As for Freestyle rendering, despite some bugs and limitations, like intersections, coinciding faces and lines, and partially hidden edges; hidden lines are mostly supported, and you can configure different line styles for them as described here https://wiki.blender.org/index.php/User:Flokkievids/Freestyle/LineSets

$\endgroup$
1
  • $\begingroup$ I mean the viewport or the render output(whether Freestyle is enabled or not), I need the effect like the screen shot of Sketchup, but currently, as the Freestyle rendering engine has some bugs(as the last paragraph said by Mr Zak's answer, I still need to use loopcut to divide my box), so that I really hope the new implementation will have those bugs fixed. $\endgroup$
    – ollydbg23
    Commented Mar 24, 2016 at 7:14

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .