MC-WIKI.net
Customizable Player Models Wiki › Guides › Customizable Player Models Guide: Parts, UV Mapping, Textures, Layers, Color Filters, and Cube Effects

Customizable Player Models Guide: Parts, UV Mapping, Textures, Layers, Color Filters, and Cube Effects

guide

Customizable Player Models (CPM) is operated entirely through its in-game editor interface and hotkeys, and this guide covers building parts, UV mapping, textures, layers, color filters, and cube effects.

Building and Managing Parts

The model is built from parts arranged in a tree. You can add a new frame that copies the currently selected frame's data, or hold Shift while adding to insert an empty frame instead. To remove the selected part from the current animation frame, use the Drag Button action; holding Ctrl while doing so removes it from every frame.

Parts can be positioned, rotated, and scaled. The Copy element position, rotation, and scale action duplicates a part's transform, and right-clicking a part lets you edit that effect afterward. A Default Value control resets a value when pressed, and holding Ctrl while pressing it resets all value layers to their defaults.

Origin behavior is set per part. absolute keeps a part's origin fixed at its center, similar to Blockbench, while relative (the default) places a child part's origin at the parent's position. Model Render Position, Rotation and Scale transformations only apply to custom parts, not vanilla ones.

UV Mapping and Textures

perfaceUV lets you texture each face of a cube individually. toAllFaces (Apply UV To All Faces) copies the current UV selection across every face. singleTex uses one square texture on all sides of a cube, sized by the element's largest dimension, and applies to the selected element.

customGridSize enables a custom grid resolution for texture U/V coordinates; it does not need to match the actual image resolution, but the aspect ratio should. exportUVMap exports the selected texture's UV map. You can also Create New Texture, and if a sheet is referenced by elements, it cannot simply be removed — you'll be prompted to reset it to the default texture instead. Delete texture sheet? confirms removal, and Texture size too big! warns when a sheet exceeds the allowed maximum.

Animated Textures

addAnimatedTex (Add Animated Texture) adds an animated region to the current texture. You define its from point (the starting frame), frameCount (number of frames), and frameTime (duration of one frame in milliseconds). anX switches between vertical and horizontal frame layout, and interpolation between frames can be toggled. playAnimatedTex plays animated textures inside the editor. If regions overlap, animatedTexOverlap warns that this will cause glitches in-game.

Layers

make2ndLayer creates a second layer for all selected cubes, and makeArmorLayer generates armor cubes for them. Layer Default Value sets a layer's default, and layer animations play when their layer condition is met. Grouped layers appear in a drop-down where only one can be active at a time (layerGroup). Layer enabled by default controls a layer's initial state, and Skin Layer settings configure how many layers are available for animation encoding.

Color Filters and Cube Effects

recolor applies a color filter to the selected element, with the color chosen through colorbtn (Select the color for the Color Filter). Animations can change this color over time.

hidden effect hides a part by default when the model renders, though animations can make it visible again — this differs from hiding a part via the editor's model tree button. Previously Glowing applies the vanilla glowing-eyes effect (as used by Enderman and Spider eyes) to the selected part. extrude effect turns a flat 2D texture into a 3D shape, like held items. disableVanillaAnim stops all vanilla animations on the selected part, and showOutlines toggles cube outlines in the editor.

Exporting

Models can be exported as skin (encoded into your skin's unused area, working on vanilla servers), as b64 (a Base64 string for map makers and server owners), as template (importable into other projects), or as model (a .cpmmodel file loadable from the Skin customization menu, changeable in-game, and requiring the mod on servers). convert model custom converts vanilla skin parts to custom ones, which is required for a larger skin sheet.