Over the next few weeks, guest columnist Anders Lejczak [bazze]
shares his Cinema 4D expertise with the Renderosity community.
Anders combines his passion for airplanes and his talent as a CG
Modeler to bring you this outstanding tutorial series: Modeling,
Texturing and Rigging a Republic P47. This week, Part 5:
Creating A Rigged Poser Character!
We're now going to convert our model into a poser character and
make all the necessary steps needed to make it sellable. Assembling
your tool box You need Poser4 Pro or newer (I'm using Poser4 Pro.
I've tried 6 but I found it clumsy and very slow) but you will also
need a couple of other tools that will facilitate your work. A
decent text editor. I would recommend "Crimson editor"
(www.crimsoneditor.com) - it's free. You can of course get around
with any simple text editor but a .cr2 file (we'll be editing such
a file) can easily consist of thousands of text rows. Scrolling up
and down in such a huge document will certainly give you a headache
and you'll likely make mistakes. Use any text editor you wish but I
would strongly recommend that you find one with these features
(some html editors will do):
- Bookmarking rows
- Row numbering
- "Got to row X"
- Split screen
- Search & replace
- Find next A cr2 editor is recommended. If you have a good text
editor then you don't need a cr2 editor. A cr2 editor has however a
very useful feature - it can collapse / expand the paragraphs in
the cr2 file and you can easily see the structure of your cr2 file.
The editor also comes in handy when you need to go through the cr2
file and turn on / turn off objects. It can be risky to edit a cr2
file. The size and complexity makes it easy to make a mistake and
difficult to locate the mistake. All hand editing should use a
copy, not the original file. The safest and most convenient way to
edit a cr2 file is with a cr2 editing utility. If you're a mac user
then you can ask for cr2 editors in the different poser forums.
Here's a couple of editors for windows:
- CR2Editor by John Stallings - Free and available here:
http://www.poserstuff.com/programs/Cr2Editor.zip A rsr to/from
png converter. This utility is needed to convert rsr files to
png and vice versa (poser thumbnails). Some poser versions use rsr
(older I think) and some use png. You need to produce both. You can
use P3dO Explorer to do the conversion:
lcrepiliere.free.fr/softp3doDownload.php Starting tips. Make
a new copy of your c4d file for this purpose. Backup your files
along the way! Tracking errors in a cr2 file is difficult and it is
easy to mess it up completely.
Preparing the mesh 1- Connecting / Separating The whole
point of rigging the model in poser is to make the different parts
movable. Make sure that you have separated all objects that will be
movable (flaps, rudder, pitch control, undercarriage etc etc). The
glass parts should also be individual meshes. Connect all parts
that don't need to be separate objects (connect the fuselage with
the wings, tail wing etc). Make sure that your material names are
comprehensive (not "Mat.1" but "Glass") because the material names
will be used inside poser too. I'm deliberately making it easy for
myself - I'm going for a simple solution with one
"UndercarriageOpen" and one "UndercarriageClosed" object instead of
posing all the undercarriage objects. If you plan to sell your
model for 20$ then go for the simple solution. If you plan to make
a 100$ product then you should go for a more advanced solution with
several parts connected to one control dial (see bottom of this
page for more info about that). Preparing the mesh 2 - Flipping
normals Export your model as obj from C4D. Open up Poser and
remove to poser dork that is loaded by default. Import your .obj
file (check "place on floor", "centered" and "100% of standard
It doesn't look pretty does it? Don't worry. The "holes" are caused
by Posers lack of handling single sided polys. The model will still
render OK but gives a bad impression. This can be fixed by flipping
the normals on all polys that appear as holes in the poser preview.
Sometimes flipping the normals on an entire object will be enough
and sometimes you will have to flip the normals on individual
polys. Preparing the mesh 3 - Fixing ballooned edges
Re-export the obj file when you have inverted the normals here and
there. It still doesn't look pretty when imported to Poser. All the
hard edges are "ballooned". This is because Poser was intended for
organic models and automatically softens hard edges.
There are a couple of solutions for this problem - select the areas
that are ballooned and disconnect them or intrude them just a tad.
The red markings show ballooned edges and the green markings show
areas where this problem already has been fixed. Tips from
Erlik: "You can remove the normals during mapping. Poser
doesn't use normals (except to create trouble) and the mesh file
will be about 30% smaller. I haven't had problems with ballooned
edges. IIRC, you have to uncheck Weld when importing". Preparing
the mesh 4- Scaling and positioning We now need to scale and
align the model according to the 3D world inside of Poser. Poser
uses a _much_ smaller scale than C4D. I'm not sure about the ratio
but you can export the dork from Poser (the default male figure)
and import it to C4D.
We're now done with working in C4D. The rest will be done using
Poser and a text editor of your choice. Export your model as obj.
Tips from Keith: "I didn't see any mention of Riptide, so
I'm not sure if you're using it or not, but it can really simplify
life when creating Poser models. When modelling in C4D, use the
"Backface Culling" display option and make sure all the polygons
are facing the right way (you can turn it off most of the time, but
before you export, make sure everything is facing the camera). When
you go to export the model, use Riptide's default setting to
"Reverse Faces". This flips ALL the normals around so Poser (and
C4D) will display them correctly. Instead of scaling your model
after importing to Poser, (use Riptide to) import a reference Poser
figure into C4D, using a 1000 scale factor. When you're ready to
export, just export your plane using that same 1000 scale factor.
Use the Riptide "Group Tag" to keep track of your movable part
group selection tags... when you export the model, the groups will
already be set up. You can also use the Riptide "Region Tag" option
to keep track of some selections as UVMapper Regions (these
selection tags can span across multiple groups or materials). These
regions are just another way of grouping sets of polygons together
(for humanoids, you might create "headmapping", "bodymapping",
"eyemapping", "mouthmapping" regions, for example, to more easily
set up the UV-templates). Obviously these regions are just
selection tags in your C4D file, but any tags that are not a
material, group or region are lost when you export to .obj, so they
can be handy if you need to re-load the .obj into C4D or UVMapper."
You can download the Riptide plugin here
- Scale down your model (a lot) so it has the same scale as the
- Rotate it, it should be facing in the same direction as the
- Place it on the ground.
Setting up the object hierarchy Import your latest obj file
- do not check anything else than "make polygons normal
consistent". The model is imported in one chunk and the 1st thing
we need to do is to separate the different parts into props. But
before we do this go to the materials window and assign your
textures, bump maps and configure transparency settings. Open up
the grouping tool (via the icon among the poser editing tools).
Make sure that you don't have any ungrouped or multigrouped faces
(use the tick boxes). Click the Spawn Props button on the grouping
tool. This will create a separate object for each body part, with
the names we gave it. This is necessary for the Hierarchy Window to
recognize the parts as such, rather than seeing the model as a
Open the hierarchy editor. Each of our body parts must be attached
to each other - take a look how I have done. The connection is made
by dragging and dropping each part into the fuselage part. When
spawning Poser creates a new object named "figure_1 setup". Delete
Creating bones We need bones to before we can edit joints
and we'll let Poser do this work for us. Make sure that the
fuselage is selected and then click on the "setup" flap. Click on
"pose" to exit the setup room (click ok if you get the message that
not all parts have bones assigned to them). Poser has now
automatically created the bones. Poser has now renamed "fuselage"
to "figure_1_setup". Rename it back to "fuselage". Now open the
hierarchy editor again, select the fuselage and click on "create
new figure". This will convert the model to a character and the
props to body parts. You will be asked to name the set and the
character will be saved in the folder "new figures" under
"characters" (in the sliding menu to the right). Now close the file
you are working with and open a new blank one (File->new).
Delete the poser dork and locate the character you just created
(characters->new figures). Click on "Create new figure" and the
airplane with all the parts should appear. Managing joints
Go through _all_ your body parts and uncheck the "bend" checkbox
(select a body part and select properties from the object menu).
We also need to align the axis around which our body parts are
moving. Select a body part (I have selected FlapLeft) and select
"joint editor" from the "window" menu. A red and green cross will
appear. Move these into place (switch between top and side view to
get it right). Moving the crosses is done by dragging but rotating
them is done by using the orientation dials in the joint parameter
window. The crosses on this image have been moved and rotated to
get the flap movement right. Creating external geometry When we
first imported our obj file, Poser understood exactly what file we
were working with. But the moment we pressed the Spawn Props button
Poser started handling all of the parts' geometry internally (in
the cr2 file). We now need to separate the geometry from the cr2
file. Some people do this by manually editing the cr2 file - forget
about that hassle. We'll let Poser do it for us by using a little
trick. Create your own folder in the poser character folder - I
have created one named "Bazze" (RuntimelibrariescharacterBazze).
Inside Poser "go" to that folder and click on the plus (+) icon
meaning "add to library". This creates a new cr2 file, a png thumb
nail _and_ a new obj file in the "Bazze" folder. Poser has
automatically extruded the geometry and created a new obj file! The
geometry is extruded but it is placed in the wrong folder. Move the
obj file to where it should be: RuntimeGeometriesBazze. Since we
have moved the obj file we now need to change the geometry path in
the cr2 file. Open the cr2 with your text editor. Change the file
path from ":Runtime:libraries:character:Bazze:p47.obj" to
":Runtime:Geometries:Bazze:p47.obj". The file path exists in two
places in the cr2 file, just in the beginning and somewhere in the
middle. Change it in both places. Make sure that you keep back ups
of your cr2 file and that you test your changes along the way.
Control dials and limits OK, our model is rigged and the
geometry is extruded. We now need to provide the user with some
dials that will control the movement of all the body parts. We will
also gather the dials in on place (the fuselage) and apply limits.
All joints have some kind of limits. You can't for example spin
your head 360 degrees (unless you're some kind of freak haha).
Open the cr2 file in your editor. Go to the fuselage actor and add
the text marked with green as displayed in this image (this is for
the rudder). "ValueParm" tells Poses that this has to do with the
rudder body part. Make sure you use exactly the same names here as
you have named your body parts. "Name Rudder" defines the title of
the dial the user will se (the dial will be named "Rudder" in
Poser). Find the rudder actor. The rudder turns along the Y-axis so
scroll down to the RotateY channel. Add the text marked with green
as displayed in this image. Create a limit for this joint by
changing "forceLimits 0" to "forceLimits 4". Add a min and max
value. You will have to test your way to the right limit values but
in this case -0.25 and 0.25 work pretty well.
Now repeat these steps for each body part. Remember that different
parts move along different axis - the rudder moves around the
Y-axis but the flaps move around the X-axis. When this is done all
body parts can be controlled from the fuselage. Cleaning up
This is also an important step. Hide all objects that the user
shouldn't be able to select and move independently. For example
hide the wind shield by locating the wind shield actor in the cr2
and change "hidden 0" to "hidden 1". Also hide all the dials that
the user shouldn't be able to access. For example the user
shouldn't be able to scale the fuselage along the X-axis only (and
thereby distorting the model). Locate the fuselage actor and the
scaleX channel and change "hidden 0" to "hidden 1". Don't forget to
create rsr files from the png files (using P3Do Explorer). The png
files (thumbnails) that Poser creates aren't so nice so I usually
create my own and replace them. Packing and add ons When you
have tested everything create a zip file which you will distribute
to Poser users. Don't forget to include the file path so that the
zip can be extruded right into the Poser folder.
I will probably make a blurred propeller prop and pose sets for the
undercarriage but that will have to wait for now. One more thing.
Change the version number to 4.01 at the top of the cr2 file. That
ends this series, thanks for your comments and drop me a note, I
would enjoy viewing images you create using the methods in the
We invite you to visit:
All supporting images within this article are
and cannot be copied, printed, or reproduced in any manner without
written permission from the artist
We would like to thank guest columnist Anders
Lejczak [bazze] for this outstanding tutorial series. Anders
has been a member of Renderosity for over 6 years. As a Cinema 4D
artist his Renderosity Art Gallery combines his passion for
airplanes and his talent as a CG Modeler.