3D "Sketching" Programs
CS 481/681 2007 Lecture, Dr. Lawlor
We saw last lecture how you can build 3D models using full-fledged 3D modeling programs like Blender.
But there are often times when you just want to crank out a simple model quickly. Takeo Igarashi, at the U. Tokyo, built an interesting little Java program called SmoothTeddy
that extrudes simple 2D outlines into puffy 3D shapes. It's
designed for building cartoony animals, and it works pretty well for
that. Try it! Just don't get too attached to your models,
because the program does tend to throw more and more exceptions until
it stops working completely...
A more robust 3D sketching program is Google SketchUp,
which is particularly natural for buildings and other shapes with lots
of flat faces and right angles. SketchUp is implemented around a
very small set of primitives:
- Lines and arcs in 3D space, which define the outlines of faces.
- Faces, which are the main surfaces of the program.
What's beautiful about this program is how the small set of primitives
can be combined to generate extremely complicated shapes quickly.
The coolest tool in SketchUp is the Extrusion tool, which lets you push
and pull on faces to extrude new shapes. Definitely try out the
tutorial movies (Help -> Tutorial), which explain how to use the
program far better than I can. SketchUp is also scriptable with
Ruby.
SketchUp supports an interesting non-photorealistic rendering style
that conveys 3D shape *better* than normal shading. Definitely
try View->Shadows, which projects some sort of vector shadows onto
geometry. SketchUp also uses real-world units (feet, meters),
which is refreshing. I couldn't get the SketchUp 6 binary to
export to .obj files, although supposedly this is possible.