Birdoggydog's Builds

Growing clothes and armor off a body's skin in Blender

A kit that grows cloth and plate straight from each body's skin, tried on six races. Cloth worked at once, plate took three tries, and none is in the game yet.

I did a study on clothes and armor, and cloth came out well while plate didn’t, so it took three tries to get plate I liked. Nothing from it is in the game yet. What exists is a kit that grows a garment straight off a body’s skin, and 30 garments built with it on all six races, which is 180 models in eight outfits.

40 seconds, captioned. The outfits on the human, the three ways of making plate, and the materials at close range, 2 meters, 5 meters and 12 meters.

I asked for it because the armor in the game was too bulky and too blocky. I wanted something more natural, with a cleaner look that follows the forms of the bodies, and I wanted metal, leather, fabric and stone to look like different materials. I also asked for clothing in the same study, since I figured the two were related.

How do you grow a garment off a body?

At stations along a body part’s line, the kit sends a ring of rays in from outside. Where each ray hits the skin, the point is pushed out by the material’s thickness. Fabric is 4 mm, leather 8 mm, metal 14 mm and ceramic 22 mm. The rings are lofted into a mesh, and a hem is just another station.

A garment is one model. Cloth is skinned, so each point takes the bone weights of the skin under it and the garment bends with the body. Plate is rigid and sits on one slot. Cloth is built once per race, so the six races have six sets.

A grid of a bald human figure dressed in eight outfits, one outfit per row: a white lab coat, a green shift, a worker's apron with boots, pale ceramic tiles, and two kinds of plate armor each for a guard and a knight, shown at several distances.

The eight outfits on the human, bare body first. The columns are close front, close back, then 2, 5 and 12 meters in lamp light and daylight.

Why did the skin come through the cloth?

The first version of the cloth showed skin at every bulge, because a facet is flat and the skin isn’t. A skin made of facets sticks out furthest from a flat facet at one of the skin’s points, and rays at the corners and halfway between them still miss those points. So now the kit asks every skin point between two rings and lifts the facet’s four corners by whatever is missing. It asks the same way about whatever is worn underneath, which kept an orc’s shirt from coming through its coat and chest tiles.

Two more traps showed up in the layering. A piece worn over another has to grow from the one underneath, not from the skin plus a guess at a thickness, or the shirt comes through the coat at the chest. And the layer underneath has to use the same bone group as the skin, or a trunk piece balloons around the sleeves.

Lofted panels also need to know which way is out. I used to ask one face in the middle, and on a small flat tile that face was a turned-in edge, so the tile came out inside out and dark. Now every face votes, weighted by its area.

Where did the dark ragged hem at the hip come from?

Every pair of trousers had a dark zigzag at the hip and crotch. I proved the cause by taking one thing away per row. The seat alone was clean, and turning off the seat’s cap, the lines of shade and the hiding of the body’s covered faces changed nothing.

The legs were the problem. Each leg’s top ring sat 0.92 of the way up the thigh, and its inner rays went to the far side of the hip. That’s 130 mm where the thigh is 80 mm around, so the leg’s top stuck out through the seat and its turned-in end was the dark patch.

Now the legs begin inside the seat, 0.7 of the way up the thigh, with no turned-in end. At a station marked even, no ray reaches past the lower third of the ring. The seat’s front ray had a related problem, since it fell between the thighs and hit the inside of one, so no ray can now be shorter than 0.85 of the average of the two beside it.

A tall grid of close-ups of a green shirt, belt and trousers at the hip from the front, three quarters, back and mid-stride, plus a small full figure at 2 and 5 meters. The top rows show a dark ragged hem, and the bottom row is smooth.

The hip with one cause removed per row. The bottom row is the fixed one.

Why did the plate fall apart?

My first pass grew everything as a shell a fixed distance off the skin, plate included. A shell hugs the pose the body is in at rest, and rigid plate can’t follow when the skin moves, so in the attack animation the pieces parted into shards at the shoulder, elbow and hip. The grooves and steps I’d added also copied every hollow of a low-poly body, like the armpit and the back of the knee, into steel. It was no slimmer than the first study’s tubes either, because I’d stacked three layers.

I tried plate three ways over the same cloth.

  • (a) is the first study’s tubes around the slot. I kept it only as the control.
  • (b) is fitted plate. It uses the same rings, but smoothed outward so each point goes out to its neighbors’ average and never in. Toward a joint the ring grows out to the slot’s ellipse times a room factor, which is 1.10 at the chest, 1.06 at the waist, 1.08 at the hips and 1.12 on the upper arm and thigh.
  • (c) is strapped plate, which is a few large plates held on with hide straps and cloth showing at every joint. The breast and back plates run from the collar bones to below the ribs and cover 148 degrees each, so the cloth shows down the sides. There’s a shoulder cap and one plate on the outside of each forearm, thigh and shin.

Their mean distance from the skin on the human was 25 mm for the guard and 36 mm for the knight in (b), and 23 mm and 26 mm in (c). I couldn’t pick between them, and I asked for both. They’re two kinds of plate suit a character can wear. I also said the long banded skirt on the first study’s knight looked funky, and it’s retired along with (a).

A grid of six rows of armored human figures. The rows with bulky banded tubes and a long skirt are the old style, and the other rows show smoother plate fitted to the body, or a few large plates over cloth, at close range, in two animations and at 2, 5 and 12 meters.

Plate three ways, for a guard and a knight, including the walk and the overhead attack. (a) is the first study’s tubes, (b) is fitted plate and (c) is strapped plate.

How do the materials read apart?

I tried each material one change at a time and looked at it at 2, 5 and 12 meters. Metal reads apart at every distance from its roughness alone. The others took some work.

Leather didn’t read from a dark cut edge or from 12 mm of thickness. Those were 5 and 2 pixels of a face turned away from the eye, so I saw nothing at 2 or 5 meters. What worked was a strap over the apron’s bib with a brass buckle 6 cm wide, which is 9 pixels at 5 meters, plus a waxed roughness of 0.30 for a highlight on the chest under the lamp. Leather at 0.50 roughness against cloth’s 0.95 looked the same as cloth.

Ceramic looked like pale padding when it was one curved panel grooved into bands. It only looks like tile as separate flat tiles with cloth showing in the gaps. I put them two by two on the breast and back, and in a column of two down the forearm, thigh and shin, at 22 mm with a glaze roughness of 0.16. A beveled rim, a chipped corner and the glaze itself barely show past close range.

Four rows of a human in dark green clothes with pale tiles on the chest, shoulders, arms and shins. The top row has one big curved panel with grooves, and the rows below have separate flat tiles with gaps.

Ceramic tiles with one change per row. The second row is where it starts to look like tile.

Cloth reads from its outline and a single flat color at all three distances. A stitched line above the hem shows up close and at 2 meters and is faint at 5. Folds drawn as shade are faint at 2 meters under the lamp, and folds modeled 7 mm deep weren’t any easier to see, so I kept the shade and spent no triangles.

What’s still wrong?

  • A lower layer still comes through a higher one in the attacks. Once the game hides the body’s faces under what it wears, which I’ve decided to do but haven’t built, the skin part of that goes away.
  • Rigid plate parts from the cloth at the shoulder in the overhead attack. That comes with putting a rigid piece on one bone.
  • A greave’s top rim shows as a bright ring on a raised knee.
  • There’s a notch about 1.5 cm wide at the hem of the seat.
  • The lizard’s shirt shows at the collar bones, and the dwarf’s shift sleeves stand out like wings.
  • The model pipeline has no category for one worn model, so two of its steps fail on every garment.

Also done

  • Built the study twice from scratch, and 30 of 30 models checked came out as the same bytes both times.
  • Kept the lab coat as it is, with no lapels. Lapels as separate panels looked like two loose chips on the chest at any distance.