I have spent a little bit of time designing a rough proposal for a procedural parts demo. These ideas seem to be relatively straightforward to implement in the game, though I do not claim that they are a particularly long term solution that would be able to adapt to the full range of features we would want to have eventually. This is mostly a test to see if this style of procedural parts design would work, and to potentially create a more visually complete demo of the macroscopic and aware organisms.
I initially created these as internal notes and ideas, so some parts may not be as clear or missing the context, so I am mostly just asking if this design seems like it would be worth me potentially working on. (Unless anyone else would want to create it). This is from the perspective of the implementation, not the editor.
I have identified two parts to work on: The Mouth and Generic Limb Parts
Mouth:
Creation Steps:
Use Mouth Plane to intersect Face with plane of depth Mouth_Depth
All Triangles intersecting are to be split, and the resulting intersection vertices on the mouth plane are to be recorded as the mouth outline.
There are to be two main parameters: Mouth_Hinge_Depth is the total depth, and reaches the hinge of the jaw. It represents the full mouth cavity.
The other depth is the Mouth_Opening_Depth, which is how far the mouth opening goes before it is covered by skin.
Triangles past the mouth opening depth will not be split, but the mouth plane will still record the intersection vertices for the purposes of internal mouth shape.
All vertices below the mouth plane and in front of the hinge are assigned to a separate Jaw animation/bone group. (Vertices that are within that area and are not part of the mouth opening may be handled a bit differently, to handle the stretching that occurs at those triangles spanning the mouth plane that would stretch a lot. Like perhaps subdividing triangles in that area to increase quality when mouth is stretched)
The Mouth Outline (which has its vertices marked for opening/interior of the mouth) will be offset into the center of the mouth in order to get the tooth plane. This can also be used for constructing a internal volume for the mouth and things like lips.
Teeth could be placed evenly across the tooth line, or according to some other more complex function involving multiple tooth types.
A Tounge could also be created by having another offset in the mouth outline.
To start, The Mouth will only involve the area between the Muzzle and the Head Metaballs. Will not need to check intersection with any other metaballs’ skin. Might need to involve the Neck metaball for the jaw animation/bone weighting, but this if a future consideration. In the future there could also be more complex sets of metaballs associated with the Head that would need to be checked against.
It might be easiest to have the Mouth Plane always perpendicular to ground, and have the muzzle metaball being moved change the rotation of the mouth plane vs. the Head.
The Mouth Plane could even be set to Z=0, and have that be the main reference point that all other heights are compared to. (The mouth would be the main reference point for the entire organism)
Generic Limb:
This design is of a generic vertebrate-style limb. There are various parameters for number of joints, but this design shows the common tetrapod Shoulder-Elbow-Wrist-Digits plan. There are two modes shown here for the limb: Planted mode, where the limb operates as a foot, and Swim mode, where the limb operates as a fin. A limb can be capable of use in multiple different modes, such as a Tiktaalik-like organism using Swim mode in the water, then switching to Planted mode for its limbs on land. Other modes not pictured are Flight and Grasper/Arm modes, and other modes could be devised.






