Birdoggydog's Builds

Building surgery room models that join at named sockets

18 props in three states and 4 machines for the creation room, built so the table tips on a hinge and pipes lay port to port. Not in the room yet.

The character-creation room has its models now. There are 18 props, each in three states (new, worn and decayed), which makes 54 models of 72 to 283 triangles, plus 4 machines. All 58 went through the 18 steps of my model pipeline and are installed. They aren’t in the room yet. The room’s scene still draws boxes, and swapping the models in is the next job.

58 seconds, captioned. The table tipping on its hinge, the shredder’s rollers, the tube pieces joined end to end, standing tubes with bodies in them, the machines piped together, and every piece in its three states.

I wanted these after seeing the first version of the room. I’d said the table should tip a bit to dump the body, and that the room needed large machinery, several vats of juice and surgical equipment. I also wanted the pipes to join into one big apparatus of several parts and a few tubes to hold floating bodies. Another session is doing the room itself, and it will move things around, so I had these built to sockets and not to today’s positions.

Why is the table two models?

A prop in my kit is one joined mesh, so nothing in it can move by itself. Anything that has to move, or be swapped, is a separate model that stands on a named socket of another. The operating table is a base and a top, with the top hanging on the base’s hinge. The shredder is the pit plus a toothed roller on each of its two roller sockets. The button console takes a button cap on its button socket.

Each socket is listed in the model’s manifest, in the model’s coordinates: a name, a position, a direction it faces out of the model (a hinge’s direction is its axis), a radius in meters, and sometimes a height. The prop kit takes them per prop, and the machines already had ports, in and out. The base’s hinge is at [0.38, 0.85, 0] pointing along -Z, and the top’s hinge sits at [0.38, 0.01, 0], so putting them together puts both hinges on one line.

Joining and tipping

A small script, ModelSockets, reads the sockets and does the arithmetic. join(own, onto, roll) returns the transform where a model’s socket sits on another socket and faces into it. A pipe’s a goes on a machine’s out that way, and roll decides which way an elbow’s other end points. along() is the same but with both directions the same way, which is how the top goes on the base.

For the tip, pivot() makes a node at the base’s hinge with the top under it, so the top’s hinge is at the pivot and the two directions line up. turned(pivot, degrees) turns it about the hinge’s axis. In the film the top tips 12 degrees and then 25 toward the shredder, and it can’t part from the base because the hinge is the pivot.

Six views of a black operating table in a dark room with a pale body lying on it, a yellow-rimmed shredder pit beside it, and a lamp above. The table top is level in the first view and tipped toward the pit in the others.

The table at 0, 12 and 25 degrees, from the end (top row) and from the side, with a puppet lying on it. The top turns on the base’s hinge.

Laying the pipes

The juice pipes have a bore of 0.09 m radius, the same as the machine ports, and the body-tube pieces have a bore of 0.46 m. A mouth piece, a straight, a 90 degree elbow and a 45 degree bend make up the body tube. A straight pipe is 2 m, and the room draws it to length by scaling its Y, which is why ModelSockets.bare() loads a model with no body, so it can be scaled. Runs are laid port to port with join, so a run can start from a machine and be continued from the end of the last pipe.

Why does the standing tube have no glass?

The pipeline’s bake step handles opaque surfaces only. A clear green cylinder can’t be baked into a model. So the standing tube is a lit base, three posts and a cap. A glass socket says where the scene puts a cylinder, 0.44 m in radius and 1.87 m tall, and the body socket is where any spare puppet floats. The film draws the glass in a clear green material, and the glow under the body and the shredder’s red light are the scene’s too. A clear material that the pipeline could bake would make the glass part of the model, but that waits on the bake step and on my answer.

A dark room. Three glass cylinders with green liquid and a pale body in each stand beside a black pipe that runs to a white pump. Below, a pump, a manifold, a tank on legs and a banded reservoir are joined by black pipes.

Three standing tubes with a goblin, a lizard and a dwarf in them, and a chain of machines joined by pipes. The glass and the glow are drawn by the scene.

What’s left

The room’s swap will have to know where each model’s origin is. The console’s is the middle of its footprint, 0.28 m off the wall. The camera housing’s is under it, and its lens faces +Z. The lamp’s origin is its light and it hangs from a mount 2.35 m up. I wrote these down for the swap.

Three questions are open with me. I haven’t answered whether the 18 props and 4 machines go under the furniture and machine families’ existing answers about replacing nothing, whether the standing tube stays without glass, and whether the body tube stays hazard yellow where the stand-in was brass.

The numbers: 348 checks in the test passed, with 32 more in the film. The audit after the install found 1,363 installed models, none failing and no step owed.