This script allows to sketch surfaces using grease pencil without much precision needed from the user. Either building an object from the ground up or for doing retopo.
Here is a first version of the video demo. It’s a shorter timelapse, to just see the features:
And this version is the same video but is more a tutorial, explaining some concepts:
Hamish made a transcription of the video-tutorial with each step explained in a PDF file. For those who prefer a step by step explanation in text format instead of going back and forth with a video, will find this PDF file useful…
@viralata made a tutorial about using this script together with topographic maps to build terrains from those 2D maps into 3D: http://vimeo.com/21059130
Thanks for sharing!
It was tested with Blender 2.5 revision 27974 (later than Alpha2). Find a fresh Blender version at www.graphicall.org
Some known issues:
The object being sketched must not have object mode transformations. Meaning, it must be in location X=0, Y=0, Z=0, rotation reseted (ALT+R) and Scale reseted (ALT+S).
If there are no strokes and hit “Add surface” the object may be duplicated.
The surface is first done as a separate object and then joined, and a “Remove Doubles” is performed to attach the mesh. This will likely change in the future, but in the meantime be aware of that remove doubles if you don’t want it to performed on your mesh.
If you find a bug and would like to report it feel free to post it here.
Thanks to the people who helped with a couple of concepts, like Crouch and Abidos with edge orientation calculations (it was for this one ) , and Pontiac with faces generation from a list of verts.
This is very helpful, thank you so much! I just had an extra idea (sorry!)
For the case when it falls back to the user defined settings for the Cross/Follow parameters, it would be cool if it could optionally set it self so that the resulting quads will be close to a certain (user defined) length. Automatically determining the amount of subdivisions needed to create quads with the length of say 0.5 blender units for example.
That way you would not have to adjust those parameters that often and concentrate on other things.
Is very rewarding to see many talented people feeling enthusiastic about this tool. Thanks everyone for all the comments.
Heheh, if I only could do something like this in just four days… :rolleyes: . And thanks for the wish.
Just need to open the .py files in a text window and hit Run Script.
Thanks for the invitation. It’ll surely be handy in those moments hitting the head to a wall trying to figure out things.
Lol, good one.
Thats quite nice idea. One thing to think is how to finish the last edge-ring. For instance if the last edge-ring is too thin it could get collapsed. Or, distribute the width of the last edge-ring among all the other rings (deleting the last ring), so you always end up with rings that match perfectly the defined area.
If you have other ways, do tell. I can’t promise I can implement that soon, but surely taking into account.