I want to build a character system in my game that is like the on in Mod Nation Racers or Little Big Planet 2. You have a basic and simple Character (which is animated) and you can now put stuff (cloth, hat, glasses, eyes, mouth) and skins (yellow skin, hairy skin, ...) on it, like a puppet.

(This is all for iPad / iOS with Objective-C)

Does anyone have some url for me to get me started?


3 Answers 3


In terms of having a character with "attachables", a simple yet effective system is to use named Sockets. This is the system that UDK uses for attaching particles, weapons and equipment to character models.

A "Socket" is a point on the model to which a piece of equipment can be attached. internally, a socket consists of a name (with which it can be referenced), a vertex index (indicating which vertex on the model to position it) and forward- and up-vectors (indicating the orientation of the attachment in question).

Each "Character" then, would consist of the usual model, texture and animation sets, as well as an array of sockets, and an array of attachable equipment. When designing your character, have separate lists of attachables, sifted by which socket they apply to (separate hats from chestpieces, etc).

When rendering, it should be a simple case of render character, then iterate through the attachables and position->rotate->render each one.

Update As DMan reminded me, a socket is usually represented as a bone if the characters are skeletally animated. This handles name, position and animation, and lets you fine-tune the 'socket' in your favourite modelling package (Lightwave for me =D ).

  • 1
    \$\begingroup\$ Note that such a 'socket' is usually simply a bone with a name. \$\endgroup\$
    – DMan
    Commented Sep 16, 2011 at 0:06
  • \$\begingroup\$ True. Can't believe I forgot to mention that, I swore I typed it out. Thanks DMan \$\endgroup\$ Commented Sep 16, 2011 at 1:37

It's not that easy. Since you want it 3d, you will have to make your whole game with OpenGL ES, not just simple 2d cocoa touch frameworks. But before you re-make your game with OpenGL, you will have to learn 3d modeling, animation, cloth simulation, etc.

A word for the wise: start small.

I suggest you start with 3d modeling. Check out blender. It's free and open-source.

  • \$\begingroup\$ There's a 3D extension for cocos2d so he could use that... \$\endgroup\$
    – bummzack
    Commented Sep 16, 2011 at 6:19

Fundamentally there's nothing specific to iOS about what you want to accomplish. The high level techniques are going to be the same.

That being said, one easy way to get started is by using Unity. They have a character customization tool that will get you started.

Demo: http://unity3d.com/gallery/hosted-demos/dressingroom.html

Project: http://unity3d.com/support/resources/example-projects/charactercustomization.html

(Note that the streaming of assets through their "asset bundles" system requires Unity Pro, but the concepts should get you started.)


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .