Showing posts with label 3d. Show all posts
Showing posts with label 3d. Show all posts

Wednesday, April 8, 2020

The Polyhedra Project (video summary)

I finally got some time to edit old footage...and build a garden...and breathe, think, reflect.

Here is a video summarizing my parametric 3d printed magnetic polyhedral assembly tiles. 

About 8 hours in Adobe Premiere to do the bulk of the work, then a few hours to make final edits and export it.



Wednesday, October 19, 2016

Blender Graphic Novel Work Diary #1

I've been working on my Blender Graphic Novel for a while now. Blender is an open source 3d creation suite. The graphic novel has no title yet, but the story has been fleshed out in full (50 or so scenes). The graphic novel will very much resemble a hand-drawn one, but all the visuals are computer generated. Other than Blender, I use Marvelous Designer to make the outfits, and the GIMP to lay out the final panels. Most models come from http://www.blendswap.com/ and full attribution documents will be appended to every chapter release. All humanoids are built with Manuel Bastioni Lab in Blender.

Here are some images and notes from my 'work diary.' Layout mess courtesy Blogger's terrible photo layout tools.

Viewport render of a hairstyle for a minor character
Test of ink shader
Backlight keyboard image concept
Police uniform in Marvelous Designer
Major character clothing and hair test
Prison uniform in Marvelous Designer
Struggles with the hair system for a minor character
Testing Marvelous Designer by making a dress



















Outfit pose test



Braid and wig test
Color and style test




Character pose in the viewport





Sunday, October 26, 2014

Omni Wheel Prototype

There was a plan this week to give a very small talk about my robot to a very small group of people. Then it grew into a much bigger event--university departmental computer science talk. Suffice to say, now I'm pretty amped up as well as reasonably nervous.

All this required me to think very hard about what I've been doing, what sets it apart, why it is useful, and to whom. And one thing that came out of that was me realizing that some omnidirectional wheels need to be part of my framework because some users in my talk audience will need them. Existing omnidirectional wheel designs on the web didn't fit my design principles and needs very well. So I designed the one below.

With beads assembled

Frame only

The key things about this design are as follows:
  • It only requires one piece of hardware--some wire. I have some 16 or so gauge steel wire, but you can pick anything that feels right to you for your size of wheel, and input those dimensions into the OpenSCAD file.
  • Everything can be changed easily in the OpenSCAD file. Number of beads, shape and size of the bead, gauge of the wire, etc. This will be more true after some cleanup on my part, when I get it ready for release on Thingiverse and elsewhere.
  • Everything besides the steel wire is 3d printed. It is often easier to 3d print beads than to find beads that fit the wire closely.
  • The 3d print does not have to be split in two in order to print. Assembly is simple and doesn't require any 'finicky steps.'
    • This is because the channel for the wire is opened up, specifically at the point where printing more of the channel would break the 45 degree rule of thumb for 3d printing. It has a snap-in kind of feel.
    • Hot glue can be used optionally to help tack down the wire where needed.
    • The wheel hub/gear module will be added on top in the final version without any fuss. To illustrate how this can be a problem with other designs, consider the version where an enclosed channel is created by printing the wheel in halves split along the central X-Y plane of the wheel. In order to not break the 45 degree rule, you have to print the inside faces up. In order to print the wheel hub though, you need at least one outside face up. (My solution in that case would have been a triangular channel).
I'd like to come up with a few more variations on this, and maybe tackle a similarly informed design for Mecanum wheels or two-layered omni wheels.


Here's a first 3d print. The beads will be spray coated with Flexible Rubber, a product sold mostly for sealing up cars and boats. They'll be loaded on a skewer and finished in bulk, which is an important point when you have this many parts to finish. This will also make it more feasible for me to spend the time to apply multiple layers, to get a good thick rubber tire on each.




Looking good--only minor design changes and a little finishing work is needed for this particular mix of the OpenSCAD parameters to be more than a demonstration prototype.

Oh, and I should mention: this wheel cost about 63 cents! That's 60 cents of 3d printed plastic and a few cents worth of steel wire. The wheel is 6cm in diameter.

Wednesday, August 27, 2014

First CNC Project

Walnut box, milled on the CNC (apologizes about the photo quality...point and shoot, nighttime, poorly lit apartment). This is a prototype. The glass circle with paper will probably sit on top of the box, not inside. I'll make another inlay for the circular groove in the top and bottom inside surface of the box. The design will have plenty of variations, and will be the basis for all my holiday gifts this year. I will also probably sell similar boxes on Etsy. There will be lots of variations in the details and embellishments.































The nicest thing about these smaller boxes is that they can be milled out of smaller 'scrap wood.' I have a near limitless supply of this stuff at the hackerspace, all for free. The pieces are usually the leftovers of a larger project, so they are already prepped (in other words, they were run through the planar/joiner). In the spirit of 'waste not, want not' I will probably make extensive use of this materials resource.

Tuesday, August 26, 2014

More FreeCAD

I've been doing more FreeCAD. It works pretty well for me, since I'm making simpler parts. To compare some tools I've used in the past:

  • As a beginner, Autodesk was pretty overwhelming, and I felt like I needed hours of tutorials/poking around the interface in order to find the commands/buttons for the simplest features to make simple parts. Large, resource consuming software, only free for me as long as I am a student.
  • Sketchup was really easy to pick up but annoying to use for engineering/fabrication stuff because it is not parametric/constraint-based modeling software. I was using it for 3D printed parts and a lot of files would not slice properly for reasons that were very difficult to diagnose or fix. Quickly ran into features I needed that were not in the free version.
  • FreeCAD is missing a lot of features I'd like, but so far it has always been possible for me to find a different feature to use in order to achieve the part I want. Free and open-source.

I want to mill some very small boxes out of some scrap pieces of wood, so I designed the box below, which can be easily customized. For a simple piece like this though, it makes more sense to just prepare a set of 2D lines in Inkscape or similar software, which is what I ended up doing afterwards. At the CNC machine, I then use another piece of software to set up all the details of how the machine will cut each vector path depicted in my 2D file.






























Hopefully these boxes work out. If so, I'll make a bunch with different designs and embellishments (engraving, marquetry, decoupage, rock inlay, etc). They will make good gifts. I also think they may sell well on Etsy. It would be very practical to use my hackerspace membership to cover my hackerspace membership fees.

Monday, August 25, 2014

FreeCAD tutorial

I discovered the Windows "Snipping Tool" recently. So here's a mini-tutorial to preface the FreeCAD intro tutorial.

  • If you have Dropbox enabled to automatically upload screenshots, disable that, as it appears to interfere (did for me on Windows 7)
  • Open Snipping Tool and press ESC, so that the text says "Select a snip type from the menu [...]"
  • Set up the shot you want, then hit Control + Print Screen
  • Select the snip type you want and get the shot. The window you had open before will be frozen so you can move the mouse around now without losing hover text and drop down menus.
Since I discovered this, I've been taking the time to document things I learn to do in various software. The main reason is that often I come back later and can't remember some particular trick or button or whatever, and having a screenshot describing it is really nice.

So, here's a FreeCad tutorial along these lines. This version uses FreeCAD 0.14 (except for the first few screenshots, before I realized I should update my old version). You'll want to click on the images to view them at a more reasonable size. We'll be making a very simple square part with some holes. This tutorial goes through everything in detail and step by step, for those of you who find that kind of thing useful.

Step 0: Get FreeCAD
Get FreeCAD here.

Step 1: Start it up
Start up FreeCAD. Click on the top left button (circled below) to create a new project.





















Friday, August 22, 2014

Borrowed Hair

After spending a lot of time on hair experiments, I finally broke down and just grabbed the Mass Effect meshes. I couldn't find anything better for polygonal hair to get started with. I figure I can use these as 'base' models and edit and elaborate on them.

I also heard that the newest versions of Makehuman are supposed to have some new hair models but I can't find them...I got the latest nightly build and it only included the same old, same old... 

I played around with some rudimentary UV unwrapping as well, adding a single eyebrow to the render below. I need to get my Wacom tablet out and start painting again.


For the hair mesh above and meshes in this style, there are a few ways I might use them:
  • Blocky style, as above
  • Carefully wrapped textures with transparent edges, for a wispy look emulating particles
  • Actual particle hair along the mesh lines, possibly with Hairnet
  • As a starting point for sculpting different hair
I'm almost ready to start making a bigger project instead of just endless test renders. I've been introduced to modeling, sculpting, physics simulations, particle systems, UV unwrapping, materials, rigging, shapekeys, keyframing, and more. I've figured out a good resources for inanimate objects, for heads, for bodies, for hair, and for clothes. I can endlessly raise my standards, OR I can get Project 0 in gear and actually start telling a story.

Sunday, August 17, 2014

General frustration

Hair is still proving difficult...playing around with different things but I haven't figured out what kind of hair creation pipeline is going to work best for me yet.

I'm glad sewing weights finally got added to Blender trunk, but of course getting the cloth collision simulation just right is still tricky.

Freestyle still feels a little under-developed for my tastes. It works great for boundaries between objects and stuff, but the crease-based outlining (checking to see if the crease is sharper than some user specified angle) doesn't work so well for organic objects like human faces.

I spent some time thinking about what kind of thing would work well. Say you shoot a ray out from the camera and it intersects with two outer faces of the mesh (you could just deal with faces with normals pointing outwards, to ignore the inside faces of walled meshes), then measure the distance between those two intersection points. If the distance is great enough (compare to user specified value) then that would indicate that the region of mesh in front is sufficiently 'in front' to need to be somehow outlined compared to the region in back...but I haven't thought through that any further, so I'm not sure how you'd figure out where those lines belong exactly. Maybe I can hack something together using Z distance data to camera and the node editor, not sure exactly.

Anyway, to recap, what I'm looking for now:
  • Find a reasonable way to make hair that looks good and doesn't take forever
  • Better understanding of how to choose good physics simulation parameters in general, for cloth, hair, etc.
  • More NPR line drawing styles...

Just for fun, I played around with this face mesh I've been using, and Freestyle. The use of a high crease detect angle for Freestyle (170-175) gives a nice sketchy effect. I'd like it more if it wasn't the only effect I can get for faces. If I turn down the crease angle I'm left with just the eyes and the central line of the mouth, basically.



Shapekeys are still proving to be quite easy; the above took 5 minutes for each (half-shut eyes, slightly parted smile). These results are helping me keep my sanity while I try to get the rest working.

Edge split modifier on the Freestyle generating mesh can help get a bit:


Friday, August 15, 2014

Particle Hair Physics Progress

Alright, some progress on the frustrating particle hair physics.

I checked out this model which uses particle hair which is attached to an invisible scalp. I eventually figured out the invisibility bit (object tab, "Wire" and "Transparency") which was more convenient than my previous method (moving the mesh that created the force field to another render layer). The scalp is copied off the original head then slightly scaled up.






















Having the scalp a bit larger than the actual head helps fix the issue of hair getting stuck on/inside the mesh due to it starting out too close to it.

A quick test to prove the physics is working:






















Next steps for hair:

  • Give the character a haircut, also using different particle system groups for different areas of the hair on the scalp
  • Figure out a way to keep the top of the scalp from looking so bald (see the first image; that seems to happen a lot)
  • Get rid of hair that is still clipping the head, perhaps by adjusting force field settings
  • Play with settings to get different looks (something a bit messier and a little less 'every hair in place')

Tuesday, August 12, 2014

Hair Physics and Face Remesh

I'm trying to do hair with particle physics. However, issues include:
  • By default the hair falls through the scalp. The workaround I used is to create a duplicate mesh to emit the hair, then take the original head mesh and make it have a force field. But children hairs still collide and also I haven't figure out how to make the duplicate scalp invisible. (Edit: it seems that this is something being worked on now, but that the force field will have to do in the meantime).
  • Exploring parameters, computationally intensive task is created, Blender is not responsive...force quit and try again.
  • Getting a very bad case of the hiccups. Not a Blender issue but it compounded on my frustration. The hiccups were strong enough that they made me mis-click repeatedly.
  • I happened to play around with Freestyle and this woodpecker blend and discovered that I can make a nice outline around particle systems. See the tufted areas on the bird body below. I'm having some trouble replicating that with hair so I need to figure out what makes it tick.



Also, I attempted many automated methods of retopologizing models to go from tris to quads and nothing worked perfectly. The "tris to quads" tool did an alright job. I highlighted some of the leftover triangles for emphasis. There are quite a few.



Remesh failed. I played around with the options but nothing usable came out.


Other settings for remesh. Could be used as a creepy type effect. Shrinkwrap did a similarly bad job.

Monday, August 11, 2014

Learning to use shapekeys

Following the tutorial "Creating an Advanced Face Rig - Part One" I learned how to use shapekeys and played around with this model by Norby again.


It's a start anyway. Smiles are easier than frowns. Eyelids are tricky. Brows are easy.

If you are following the video, there's a tricky bit (reflected in the comments) where he forgets to mention the use of "New Shape Key from Mix." He implies that pressing the "+" key in the Shape Keys menu will create a new Shake Key from whatever mix of shapekeys is set. Actually, you have to use a special button in the drop down menu to do that, as such:

Saturday, August 9, 2014

Study in (Mass Effect) Faces

I'm back to Blendering, though I managed to forget how the GUI works almost completely in the time I've been away...

So getting back to where I left off: through resources like Blendswap, I'm basically set for all still-life, but I still need characters. I decided to start by exploring some ways to make unique character faces (they should be distinguished from one another by facial structure, not just hair/eye color/accessories/scars). For this study, I designed these in the Mass Effect 3 face editor, then ripped with umodel, headmorphs exported with a save editor, and imported to blender with the script found on this page.

The sketchy lines are Freestyle Geometry editors, set to Bezier, with a high error (200s or so). The material is more or less the same one I used on the sci-fi female head I did a while back.



I'm hoping to be able to edit and retopologize them (they are low-poly and all triangles, having come from a game), rig them, and pair them with a body.

Here's another thing I threw together, to celebrate when I was able to get the models successfully imported into Blender:


Saturday, March 22, 2014

Exploring Materials in Blender

Up to now I was ignoring most of the options I had in the Diffuse settings section of the Materials settings panel (for Blender Internal). There are other ways to get the right 'lighting feel' for objects, including using the Node Editor, using light sources themselves, and using other aspects of the Materials panel, but I feel that this is a powerful one.

Here are two blends using just good old Suzanne. The experiments focus largely on distortion and painterly feel using the node editor, and colors manipulation using the Diffuse section of the Materials settings. Key aspects:
  • The RenderLayers output are the monkey heads on a transparent background
  • A noise texture is used to with a Displace node on the monkey heads to create a rough-edges paint feel
  • A wood band texture is used with a Displace node to distort the monkey heads shapes in a psychedelic way
  • The monkey heads are mixed with the paper texture via a Soft Light node and overlayed onto the paper with an Alpha Over node
The paper texture is from cgtextures.com.



Watercolor Test

I tried another watercolor blend using the node setup provided here. Once again, this is the cloth-on-a-stick object I created with the basics cloth physics capabilities in blender.


This blendersartists thread discusses this style and another setup in detail. I will explore this style in more detail later in order achieve some specific results I'd like to see.

Thursday, March 20, 2014

Styles Comparison Test

I set up a scene and rendered it in four different styles. This should help people unfamiliar with 3D graphics techniques to really understand the power behind these tools.


The images above correspond with the following styles:
  1. Plain
  2. Freestyle and ink shader
  3. Watercolor nodes
  4. Cel shader
Attribution section:



Sunday, March 16, 2014

Cloth and physics test

A quick test of the cloth simulation.


It occurred to me that having the clothing move with the rig for the character might be tricky. I figured it would be a lot simpler to have every clothed character start out in a basic 'Vitruvian Man' position, and then actually animate the body to get to the final pose. Enabling cloth physics, now the animated body will push the clothes into position.

The basic steps for this test:

  • The mesh starts off as a flat circle with a hole in the center, evenly subdivided into quads.
  • I place this flat circle mesh around the model waist and pin along the perimeter of the top opening.
  • I do a first physics simulation to get the skirt to drape downwards, then apply it to the skirt mesh
  • I animate the leg (single keyframe was sufficient)
  • I run another physics simulation to have the leg push the skirt
Things are moving along...! I need to practice character rigging though, because I have a bunch of unrigged body meshes from blendswap that I would like to use.

Attribution section:

Saturday, March 15, 2014

Virtual Dressmaking Test #1

Here are some more interim results on virtual dressmaking. They are pretty ugly results, at least from a fashion perspective, but they illustrate the techniques I've been experimenting with so far.


There are still a lot of issues to iron out (yep, a pun). The yellow dress below was meant for someone less busty than the model I put it on. I like the way the physics worked on the hem though.



All the jewelry here are just simple torus meshes run with the cloth physics and high stiffness and damping parameters. The bracelets are like very thick rubber. The necklace stretches itself out and then lays flat on the blouse. I did try to use some of the other physics simulator options (rigid body, soft body) but I couldn't get the parameters right and the meshes were not behaving the way I wanted. Whatever works though...

Attribution section:

Thursday, March 13, 2014

Blender Cloth Test #2

Alright, today I have some better results from another simple cloth & clothing test.

I created the simplest shirt I could think of; you can see the outline of the pattern pieces (same for front and back) behind the figure in the following sequence of images.

I used the sewing add-on I discussed in the last post to sew together the pieces. Then I ran another simulation to drape the clothes on the body. Finally, I added a large piece of fabric for a scarf and let it fall over the shoulders of the model. You can see how it starts out as a very simple shape which only takes a few clicks to make, and becomes a very nice scarf.


I still need to refine my skills in terms of setting up the physics simulations to best achieve the results I want. I also need to make some meshes based on real sewing patterns. Finally, I need to figure out how to rig the clothing to move with the character. I would most likely perform a final simulation after posing to make the clothing drape more accurately on the character.

Attribution section: