Skip to main content

Command Palette

Search for a command to run...

Digital Being — Anatomy v1

Published
3 min read
Digital Being — Anatomy v1

This document outlines the first working definition of a digital being’s anatomy.

Think of it as a modular system—similar to a plastic action figure kit—where individual components can be assembled, adjusted, and recombined to form a complete character.

Sum of Parts: The being is composed of discrete parts: head, hair, eyes, mouth, nose, ears, rib cage, pelvis, thighs, arms, hands, and so on (see Figure 1).

Each part is represented as a compact 3D description, encoded using three layers—Occupancy, Displacement, and Thickness.

A single multi-layered texture is sufficient to describe the full voxel geometry of the character.

3D Representation: The occupancy map (0…255) enables more precise voxel carving. Rather than treating voxels as binary, we approximate surface normals and apply slight displacement to achieve smoother, cleaner geometry compared to naive voxel rendering.

From this representation, we can derive multi-view projections (e.g. eight-directional turntables) to render parts from different angles.

Figure 1

Growth: Growth begins from a single cell, or seed, initially occupying the head region.

The organism develops hierarchically: head → torso → limbs.

Hair follows a similar process, growing from individual cells using rules inspired by leaf placements in prior tree-branch simulation.

This growth process is modeled entirely within a shader-based simulation, making is both efficient and continuous.

Rendering: Rendering is primarily done using cell shading. Surface normals can be approximated from neighboring texels. For sharper edges (future iteration), explicit normal maps can be introduced.

Animation: Animation is not a requirement in v1. However, by construction, the system defines a fully structured 3D character, which can be extended to support rigging and animation in future iterations.

Possible Revision (stick figure representation): Revisiting the tree-growth simulation, we note that branch thickness was not modeled through pixel spreading. Instead, each branch remained a single-pixel path, with thickness encoded as a radius value.

We can apply the same idea here.

Rather than modeling the volumetric shapes, we represent the organism as a set of centroids with associated radii. The renderer then reconstructs geometry by treating each point as a sphere (or capsule), effectively generating the visible form from this compact representation.

While a naïve rendering approach (e.g., evaluating a 16x16 kernel per pixel) may be too slow, these representations can be preprocessed into reusable silhouettes for efficient rendering.

This significantly simplifies the growth simulation—reduce the problem to position + radius, avoid complex pixel spreading or volumetric updates, and maintain a clean, local-rule system.

This approach limits our ability to represent complex silhouettes and fine surface detail, particularly for profile-critical regions (e.g., face, hands). We need to validate how much fidelity is lost in practice. The working hypothesis is that this representation provides sufficient visual quality while keeping the problem space tractable.

Very crude sketch:

— Sprited Dev 🐛