Would there be a way to evaluate Grease Pencil strokes as retopo ?

Hello all -

One very popular (and efficient !) way of building complex models consists of first doing a rough blockout of the main shapes and details using sculpting tools, to only later on proceed to a clean retopo pass ( and this is true for both mechanical and organic models btw).

There are multiple ways of doing this - either by relying on dedicated software like Topogun or 3DCoat, or by using Blender tools, either built-in (X-ray and surface snapping, Bsurfaces) or available as addons (Contours, Polystrips).

However … the issue I have with all of these approaches is that they don’t offer a way to clearly separate the processes of topology solving (how many edges should I use for this loop ?) from the process of actually building the polygons according to that solution.

One thing I like to do to solve my topology needs is to first draw Grease Pencil strokes over my model. That way I can easily backtrack, correct strokes, erase, and so on - that is to say, taking a non-linear approach to topology solving. And when I am satisfied with that blueprint I can then move ahead and built the corresponding geometry without having to think about topology solving.

I would like to automate that last, manual step. Hence my question : is there a way to evaluate a grease pencil sketch, in order to determine intersections and redundant vertices, and ultimately output a clean mesh result ? Like this :

This could be a great time saver, even if the results were rough. For reference, Topogun has something like this built-in … but it shows its limits when more “sketchy” lines are used (at 0.45)

Any ideas ?

In passing I should mention that even when doing this last step manually things are still faster and more predictable than if I were to do a “regular” retopo pass. Being able to automate that process would just be icing on the cake :slight_smile:

Thanks !

the bmesh add-on can be used in conjunction with grease pencil

Hi Modron - could you elaborate ? Do you mean that Bmesh can indeed generate geometry from sketched lines ?

Check this tutorial from CGCookie https://vimeo.com/27353774

Hi Sav and Richard !

Maybe I am not explaining myself correctly … because the CGcookie video is pretty much the exact opposite of what I am looking for :smiley:
To put it differently : I am not looking for way to retopo “on the fly” (which is something I know how to do in multiple ways already - using Bsurfaces as shown, using snap to geometry, and so on) because it often prevents one from having a clear, global vision on topology as a whole.

Maybe I should have phrased it differently, like so :

Without even considering retopology as an end goal, is there a way to convert a network of grease pencil strokes into a mesh ?

Thanks !

I’m not sure i really understand what you really want, and not going to watch a half a hour long video to check what CGCookie was doing , but BSurface looks to be what you need

Example of a “badly made network of grease pencil strokes”
http://i.imgur.com/7Vmldoxs.jpg

I click on the “Add Surface” button from Bsurface and faces are generated where faces should be according to my “badly made network of grease pencil strokes”
http://i.imgur.com/ELqIWkns.jpg

(of course need to recalculate normals after that, Blender is borking normals on surface generations for years anyways)

arg, I meant Bsurface, not Bmesh. All this technical jargon cofuses me. :RocknRoll:

Modron : gotcha, I made the same wording mistake earlier, no worries :slight_smile:

Sanctuary : this is indeed close, but this approach seems to require “one stroke only” Grease Pencil lines - which is the limitation I am hoping to avoid.

Here is a .blend file for clarification, making this “workflow challenge” pretty obvious :

https://drive.google.com/file/d/0B3tXoYtBEtrTcnprdkQ4a2k2UFk/view?usp=sharing

Anyone who can generate topology from that gets a virtual beer ! :wink: I am curious to hear your ideas.

I see now, you mean using the grease stroke like sketching instead of making one strokes for a line only.
Unfortunately there’s no tool to transform that directly into some nice geometry.

Yeah, that’s a bit of a challenge isn’t it !

I feel this is indeed the weakest point about all current retopology methods - all of them require the user to work in a very linear “inchworm” manner, whereas a more global approach would be more efficient.

That being said I have the feeling that there might be some clever way to evaluate these “sketched” strokes, somehow ! For instance by converting the strokes to solidified geometry, remeshing that, and evaluating the intersections within the resulting volume … maybe ?

A simple but unfortunately not automatic way would be to use your grease pencil sketching as a guide, lower its opacity in the N panel so you can see what you’re doing and create your vertices/faces manually following that guide.

For making automatic intersection, in the TinyCAD VTX addon there’s an XALL function (Intersect All) but i fear that with the giant truckload of vertices and edges that would be generated by a sketched grease pencil converted to curve then to mesh , it would probably break and crash Blender.

A simple but unfortunately not automatic way would be to use your grease pencil sketching as a guide, lower its opacity in the N panel so you can see what you’re doing and create your vertices/faces manually following that guide.

Yeah, that’s exactly what I am doing at the moment. And ironically enough, even though it seems like a big step it is actually much faster than doing any regular retopo technique - at least for the kind of pieces I am currently working on. Any further automation would just be a very nice added bonus :slight_smile:

As for the TinyCAD approach : I will try it and will report back !
[edit] - unfortunately the CAD addon doesn’t seem to load properly on 2.74. Too bad ! I’ll keep searching :slight_smile:

Hi all ! Just wanted to chime back in on this.

I have been experimenting further with this grease pencil-based approach to retopology (working on about a dozen of intricate parts) and I am happy to say that even without a fully automated workflow this proves out to be very efficient :slight_smile:

The key was indeed to convert the grease pencil network of strokes to a polygonal object, like so :

  • convert to polygon curve from the grease pencil options, followed by
  • alt-c > Mesh from Curve

This then provides a very good support for edge-snapping in order to build the final polygonal model.

This proves out to be more flexible than “regular” retopo approaches, mostly thanks to the fact that it allows to completely hide the reference object to be rebuilt. It reduces visual clutter, which in turn allows for increased efficiency.

I can make a video of the process for anyone interested :slight_smile:

Here’s a refinement of this technique, using polygonal grease pencil strokes -

https://i.ytimg.com/vi/5jk-op-cNTs/2.jpg?time=1439219198080

I was wondering what you were meaning in your previous post with having found something “efficient”, as “sketched” grease pencil converted to curve then mesh would always result in unworkable soup of vertices that would have required so much time fixing it that it was much better to use other grease pencil method.

Then i watched your video to see what kind of magic solution you found, and noticed that your solution to the “sketched” grease pencil is in fact to not use “sketched” grease pencil anymore :smiley:

It looks to me that you would do the same much faster with the BSurface method, as you wouldn’t have to do the convert then add faces manually (or semi manually with the F2 addon) :

Grease Pencil strokes (either with using GS draw or GS poly draw):
http://i.imgur.com/L3Df7Q1m.jpg

after a click on Bsurface “Add Surface button” :
http://i.imgur.com/Iw22NFwm.jpg

then F6 and set it up like you want/need :
http://i.imgur.com/LrXghv4m.jpg

I think it’s much faster than the whole convert to curve then to mesh then make faces and F2 to fill faster.

Hi there Sanctuary -

Indeed, the Bsurface method is useful for dense quad-based meshes ; but in practice, for the specific parts I am working with at the moment it is not as controllable as it seems. Still a good tool to have in one’s arsenal though !


That’s the tricky thing about retopology - many tools sound very good in theory (and are indeed good for “dense” retopo), but in practice when precise edge control is required, manual work is just unavoidable. And of course not every retopo job is quad-based :slight_smile:

At the end of the day it’s great that Blender has so many options, I can work much faster than before now !

Have you checked out RetopoFlow yet? I think the Polystrip, while not using grease pencil (though it might be able to), can be used with a pen, so it might work like you want. You can adjust the mesh interactively before turning it into an actual mesh.

I’ve only done a little work with it so far, and I still am trying to get used to it’s workflow, but it can be helpful, especially in laying down the base loops.

Hi there Gradyp - I have been keeping an eye on it, but haven’t bought it just yet as it doesn’t seem like such a huge workflow boost compared to already available means of retopo. It sure does look very impressive from a technical point of view, but in practice I am not sure (because there is more to retopo than just laying strips and tubes :slight_smile: ). I’ll probably try it out at some point just out of curiosity though !

Actually, it’s not just “strips and tubes”. They added a patch fill a while back. It does take a bit of getting used to its workflow, but it can be useful. It’s supposed to be able to work off of both it’s own mesh flow as well as already defined meshes. The Contours (the one that does the tubes) is fantastic for things like arms and fingers where the basic form is tubular and not highly detailed (might be a little less useful for an “extreme” body builder type, but for most cases, is plenty sufficient). The polystrips, though, one problem I’m having is that each new “iteration” generates a “new” mesh, which can really eat up resources. I do have some problem with it either crashing after I’ve spent 20 or 30 minutes working on something or accidentally hitting “Escape” (thinking I’m getting out of one mode, but actually effectively quitting polystrips) and erasing a bit of time of work, but I am finding it useful.

I would love to see the CG Cookie team do an entire retopo tutorial using Retopoflow just to see it in action and figure out where I might not be using the tool quite correctly, but overall, I like it.

One limitation, though, is that you can’t have two control points “Next” to each other. There has to be one segment between them. Where this comes into play is a situation where you’re trying to keep the geometry down because it’s already tricky to get things to work right. For example, in doing a face, there’s 3 loops that are key right around the nose. In a “normal” workflow, you can just have those three loops “connected” with each other, but in retopo, there’s the added geometry of a “space” between these. If there’s a way to do this, I haven’t found it yet. I’m also having trouble getting faces to patch like I want, but that may not be a limitation of the code.

Hi again Gradyp -

You are absolutely correct - there are strengths but also inherent limitations to all of these dedicated retopo tools. In that context, even if not directly usable to generate geometry, I would highly recommend anyone to play a bit with Grease pencil strokes in order to solve their topology design needs before going ahead with actual resurfacing using one’s favorite retopo tool. Planning loops ahead is obviously not needed for the most simple objects, but as soon as things get complex it can save a tremendous amount of time.

Sanctuary : yeah, these videos by 1D really show the strength of tools like F2 and Gridfill (and many others !). I feel like some of these are sometimes underrated - it’s really powerful stuff …