Maxon MOCCA BOOK.indb Cinema 4D 9.5.2 C4D E

User Manual: maxon Cinema 4D - 9.5.2 - Mocca Free User Guide for Maxon Cinema 4D Software, Manual

Open the PDF directly: View PDF PDF.
Page Count: 161

DownloadMaxon MOCCA BOOK.indb Cinema 4D - 9.5.2 C4D E
Open PDF In BrowserView PDF
MOCCA 2

I

MOCCA
Programming Team

Copyright © 1989-2006 by MAXON Computer GmbH. All rights reserved.
English translation Copyright © 1989-2006 by MAXON Computer Ltd. All rights reserved.
This manual and the accompanying software are copyright protected. No part of this document may be
translated, reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic or
mechanical, for any purpose, without the express written permission of MAXON Computer.
Although every precaution has been taken in the preparation of the program and this manual, MAXON Computer
assumes no responsibility for errors or omissions. Neither is any liability assumed for damages resulting from
the use of the program or from the information contained in this manual.
This manual, as well as the software described in it, is furnished under license and may be used or copied
only in accordance with the terms of such license. The content of this manual is furnished for informational
use only, is subject to change without notice, and should not be construed as a commitment by MAXON
Computer. MAXON Computer assumes no responsibility or liability for any errors or inaccuracies that may
appear in this book.
MAXON Computer, the MAXON logo, CINEMA 4D, Hyper NURBS, and C.O.F.F.E.E. are trademarks of MAXON
Computer GmbH or MAXON Computer Inc. Acrobat, the Acrobat logo, PostScript, Acrobat Reader, Photoshop
and Illustrator are trademarks of Adobe Systems Incorporated registered in the U.S. and other countries. Apple,
AppleScript, AppleTalk, ColorSync, Mac OS, QuickTime, Macintosh and TrueType are trademarks of Apple
Computer, Inc. registered in the U.S. and other countries. QuickTime and the QuickTime logo are trademarks
used under license. Microsoft, Windows, and Windows NT are either registered trademarks or trademarks
of Microsoft Corporation in the U.S. and/or other countries. UNIX is a registered trademark only licensed
to X/Open Company Ltd. All other brand and product names mentioned in this manual are trademarks or
registered trademarks of their respective companies, and are hereby acknowledged.

MOCCA

Christian Losch, Philip Losch, Richard Kurz, Tilo Kühn, Thomas Kunert,
David O’Reilly, Cathleen Poppe.
Plugin Programming Sven Behne, Wilfried Behne, Michael Breitzke, Kiril Dinev, Per-Anders Edwards,
David Farmer, Jamie Halmick, Richard Hintzenstern, Jan Eric Hoffmann,
Eduardo Olivares, Nina Ivanova, Markus Jakubietz, Eric Sommerlade,
Hendrik Steffen, Jens Uhlig, Michael Welter, Thomas Zeier.
Product Manager
Marco Tillmann.
QA Manager
Björn Marl.
Writers
Paul Babb, Rick Barrett, Oliver Becker, Jens Bosse, Chris Broeske, Chris Debski,
Glenn Frey, Michael Giebel, Jason Goldsmith, Jörn Gollob, Sven Hauth,
Josiah Hultgren, Arndt von Königsmarck, David Link, Arno Löwecke, Aaron Matthew,
Josh Miller, Matthew ‘Mash’ O’Neill, Janine Pauke, Marcus Spranger, Luke Stacy,
Perry Stacy, Marco Tillmann, Jeff Walker, Scot Wardlaw.
SDK Docs & Support David O’Reilly, Mikael Sterner.
Layout
Oliver Becker, Harald Egel, Michael Giebel, David Link, Luke Stacy, Jeff Walker.
Translation
Oliver Becker, Michael Giebel, Arno Löwecke, Björn Marl, Josh Miller, Janine Pauke,
Luke Stacy, Marco Tillmann, Scot Wardlaw.

II

CINEMA 4D – Mocca Manual

MAXON Computer End User License Agreement
NOTICE TO USER
WITH THE INSTALLATION OF MOCCA (THE “SOFTWARE”) A CONTRACT IS CONCLUDED BETWEEN YOU
(“YOU” OR THE “USER”) AND MAXON COMPUTER GMBH ( THE “LICENSOR”), A COMPANY UNDER GERMAN
LAW WITH RESIDENCE IN FRIEDRICHSDORF, GERMANY.
WHEREAS BY USING AND/OR INSTALLING THE SOFTWARE YOU ACCEPT ALL THE TERMS AND CONDITIONS
OF THIS AGREEMENT. IN THE CASE OF NON-ACCEPTANCE OF THIS LICENSE YOU ARE NOT PERMITTED TO
INSTALL THE SOFTWARE.
IF YOU DO NOT ACCEPT THIS LICENSE PLEASE SEND THE SOFTWARE TOGETHER WITH ACCOMPANYING
DOCUMENTATION TO MAXON COMPUTER OR TO THE SUPPLIER WHERE YOU BOUGHT THE SOFTWARE.
1. General
Under this contract the Licensor grants to you, the User, a non-exclusive license to use the Software and its
associated documentation. The Software itself, as well as the copy of the Software or any other copy you
are authorized to make under this license, remain the property of the Licensor.
2. Use of the Software
You are authorized to copy the Software as far as the copy is necessary to use the Software. Necessary
copies are the installation of the program from the original disk to the mass storage medium of your
hardware as well as the loading of the program into RAM.
(2) Furthermore the User is entitled to make a backup copy. However only one backup copy may be made
and kept in store. This backup copy must be identified as a backup copy of the licensed Software.
(3) Further copies are not permitted; this also includes the making of a hard copy of the program code on a
printer as well as copies, in any form, of the documentation.
3. Multiple use and network operation
(1) You may use the Software on any single hardware platform, Macintosh or Windows, and must decide
on the platform (Macintosh or Windows operating system) at the time of installation of the Software. If
you change the hardware you are obliged to delete the Software from the mass storage medium of the
hardware used up to then. A simultaneous installation or use on more than one hardware system is not
permitted.
(2) The use of the licensed Software for network operation or other client server systems is prohibited if this
opens the possibility of simultaneous multiple use of the Software. In the case that you intend to use the
Software within a network or other client server system you should ensure that multiple use is not possible
by employing the necessary access security. Otherwise you will be required to pay to the Licensor a special
network license fee, the amount of which is determined by the number of Users admitted to the network.
(3) The license fee for network operation of the Software will be communicated to you by the Licensor
immediately after you have indicated the number of admitted users in writing. The correct address of the
Licensor is given in the manual and also at the end of this contract. The network use may start only after
the relevant license fee is completely paid.

III

4. Transfer
(1) You may not rent, lease, sublicense or lend the Software or documentation. You may, however, transfer
all your rights to use the Software to another person or legal entity provided that you transfer this
agreement, the Software, including all copies, updates or prior versions as well as all documentation to
such person or entity and that you retain no copies, including copies stored on a computer and that the
other person agrees that the terms of this agreement remain valid and that his acceptance is communicated
to the Licensor.
(2) You are obliged to carefully store the terms of the agreement. Prior to the transfer of the Software you
should inform the new user of these terms. In the case that the new user does not have the terms at hand
at the time of the transfer of the Software, he is obliged to request a second copy from the Licensor, the
cost of which is born by the new licensee.
(3) After transfer of this license to another user you no longer have a license to use the Software.
If the Software is an update to a previous version of the Software, you must possess a valid licence to such
previous version in order to use the update. You may continue to use the previous version of the Software
only to help the transition to and the installation of the update. After 90 days from the receipt of the
update your licence for the previous version of the Software expires and you are no longer permitted to use
the previous version of the Software, except as necessary to install the update.
6. Recompilation and changes of the Software
(1) The recompilation of the provided program code into other code forms as well as all other types
of reverse engineering of the different phases of Software production including any alterations of the
Software are strictly not allowed.
(2) The removal of the security against copy or similar safety system is only permitted if a faultless
performance of the Software is impaired or hindered by such security. The burden of proof for the fact that
the performance of the program is impaired or hindered by the security device rests with the User.
(3) Copyright notices, serial numbers or other identifications of the Software may not be removed or
changed. The Software is owned by the Licensor and its structure, organization and code are the valuable
trade secrets of the Licensor. It is also protected by United States Copyright and International Treaty
provisions. Except as stated above, this agreement does not grant you any intellectual property rights on
the Software.
7. Limited warranty
(1) The parties to this agreement hereby agree that at present it is not possible to develop and produce
software in such a way that it is fit for any conditions of use without problems. The Licensor warrants that
the Software will perform substantially in accordance with the documentation. The Licensor does not
warrant that the Software and the documentation comply with certain requirements and purposes of the
User or works together with other software used by the licensee. You are obliged to check the Software
and the documentation carefully immediately upon receipt and inform the Licensor in writing of apparent
defects 14 days after receipt. Latent defects have to be communicated in the same manner immediately
after their discovery. Otherwise the Software and documentation are considered to be faultless. The
defects, in particular the symptoms that occurred, are to be described in detail in as much as you are able
to do so. The warranty is granted for a period of 6 months from delivery of the Software (for the date of

MOCCA

5. Updates

IV

CINEMA 4D – Mocca Manual

which the date of the purchase according to the invoice is decisive). The Licensor is free to cure the defects
by free repair or provision of a faultless update.
(2) The Licensor and its suppliers do not and cannot warrant the performance and the results you may
obtain by using the Software or documentation. The foregoing states the sole and exclusive remedies for
the Licensor’s or its suppliers’ breach of warranty, except for the foregoing limited warranty. The Licensor
and its suppliers make no warranties, express or implied, as to noninfringement of third party rights,
merchantability, or fitness for any particular purpose. In no event will the Licensor or its suppliers be liable
for any consequential, incidental or special damages, including any lost profits or lost savings, even if a
representative of the Licensor has been advised of the possibility of such damages or for any claim by any
third party.
(3) Some states or jurisdictions do not allow the exclusion or limitation of incidental, consequential or
special damages, or the exclusion of implied warranties or limitations on how long an implied warranty
may last, so the above limitations may not apply to you. In this case a special limited warranty is attached
as exhibit to this agreement, which becomes part of this agreement. To the extent permissible, any implied
warranties are limited to 6 months. This warranty gives you specific legal rights. You may have other rights
which vary from state to state or jurisdiction to jurisdiction. In the case that no special warranty is attached
to your contract please contact the Licensor for further warranty information.
The user is obliged to immediately inform the transport agent in writing of any eventual damages in transit
and has to provide the licensor with a copy of said correspondence, since all transportation is insured by
the licensor if shipment was procured by him.
8. Damage in transit
You are obliged to immediately inform the transport agent in writing of any eventual damages in transit
and you should provide the Licensor with a copy of said correspondence, since all transportation is insured
by the Licensor if shipment was procured by him.
9. Secrecy
You are obliged to take careful measures to protect the Software and its documentation, in particular the
serial number, from access by third parties. You are not permitted to duplicate or pass on the Software or
documentation. These obligations apply equally to your employees or other persons engaged by you to
operate the programs. You must pass on these obligations to such persons. You are liable for damages in all
instances where these obligations have not been met. These obligations apply equally to your employees or
other persons he entrusts to use the Software. The User will pass on these obligations to such persons. You
are liable to pay the Licensor all damages arising from failure to abide by these terms.
10. Information
In case of transfer of the Software you are obliged to inform the Licensor of the name and full address of
the transferee in writing. The address of the Licensor is stated in the manual and at the end of this contract.
11. Data Protection
For the purpose of customer registration and control of proper use of the programs the Licensor will store
personal data of the Users in accordance with the German law on Data Protection (Bundesdatenschutzg
esetz). This data may only be used for the above-mentioned purposes and will not be accessible to third
parties. Upon request of the User the Licensor will at any time inform the User of the data stored with
regard to him.

V

12. Other
(1) This contract includes all rights and obligations of the parties. There are no other agreements. Any
changes or alterations of this agreement have to be performed in writing with reference to this agreement
and have to be signed by both contracting parties. This also applies to the agreement on abolition of the
written form.
(2) This agreement is governed by German law. Place of jurisdiction is the competent court in Frankfurt
am Main. This agreement will not be governed by the United Nations Convention on Contracts for the
International Sale of Goods, the application of which is expressly excluded.
(3) If any part of this agreement is found void and unenforceable, it will not affect the validity of the
balance of the agreement which shall remain valid and enforceable according to its terms.
13. Termination

14. Information and Notices
Should you have any questions concerning this agreement or if you desire to contact MAXON Computer for
any reason and for all notifications to be performed under this agreement, please write to:
MAXON Computer GmbH
Max-Planck-Str. 20
D-61381, Friedrichsdorf
Germany
or for North and South America to:
MAXON Computer, Inc.
2640 Lavery Court Suite A
Newbury Park, CA 91320
USA
or for the United Kingdom and Republic of Ireland to:
MAXON Computer Ltd
The Old School, Greenfield
Bedford MK45 5DE
United Kingdom
We will also be pleased to provide you with the address of your nearest supplier.

MOCCA

This agreement shall automatically terminate upon failure by you to comply with its terms despite being
given an additional period to do so. In case of termination due to the aforementioned reason, you are
obliged to return the program and all documentation to the Licensor. Furthermore, upon request of
Licensor you must submit written declaration that you are not in possession of any copy of the Software on
data storage devices or on the computer itself.

VI

CINEMA 4D – Mocca Manual

Contents
Introduction ..........................................................................................................1
Motion Blending.................................................................................................................................... 1
Hard IK................................................................................................................................................... 1
IK FK Blending........................................................................................................................................ 1
Motion Retargeting ............................................................................................................................... 1
Pole Vectors ........................................................................................................................................... 1

MOCCA Layout and Palette ..................................................................................4
Introduction to IK .................................................................................................8
How does this work? ........................................................................................................................ 9

MOCCA IK Tag ..................................................................................................... 12
Standard icon and with Anchor option .......................................................................................... 12
Once a Limiter has been applied .................................................................................................... 12
Once a Limiter has been adjusted .................................................................................................. 12
Limiters and altered values ............................................................................................................. 12
Attribute Manager Settings................................................................................................................. 13
Tag Properties................................................................................................................................. 13
Use UK ............................................................................................................................................ 13
Anchor ............................................................................................................................................ 13
Hard IK ............................................................................................................................................ 13
Strength.......................................................................................................................................... 14
Dynamics ........................................................................................................................................ 14
Speed.............................................................................................................................................. 14
Drag ................................................................................................................................................ 14
Gravity ............................................................................................................................................ 15
Inertia ............................................................................................................................................. 15
Color ............................................................................................................................................... 15
IK <-> FK ........................................................................................................................................ 16
Display In Editor.............................................................................................................................. 17
Constraint ............................................................................................................................................ 17
Goal ................................................................................................................................................ 18
Add buttons.................................................................................................................................... 18
Strength.......................................................................................................................................... 18
Use As Pole ..................................................................................................................................... 18
Distance .......................................................................................................................................... 19
Chop Sticks ..................................................................................................................................... 19

VII

Bone Tool ............................................................................................................ 32
Selecting and Deselecting the Bone Tool ....................................................................................... 32
Attribute Manager Settings................................................................................................................. 33
Add Bone ........................................................................................................................................ 33
Add Child Bone ............................................................................................................................... 33
Split Bone........................................................................................................................................ 34
Add/Update Null Bone.................................................................................................................... 34
Add Null Bone................................................................................................................................. 35
Fix Bones......................................................................................................................................... 35
Reset Bones .................................................................................................................................... 35

Bone Mirror .........................................................................................................38
Attribute Manager Settings................................................................................................................. 39
Plane ............................................................................................................................................... 39
Origin.............................................................................................................................................. 39
Auto Find Center, Match Search ..................................................................................................... 40
Suffix............................................................................................................................................... 40

MOCCA

Set................................................................................................................................................... 19
Up Vector........................................................................................................................................ 19
Strength.......................................................................................................................................... 20
Axis ................................................................................................................................................. 20
Limit................................................................................................................................................ 20
Show Limits .................................................................................................................................... 21
Strength.......................................................................................................................................... 21
Position Limit Settings (X, Y, Z)....................................................................................................... 21
Rotation Limit Settings (H, P, B)...................................................................................................... 23
Rest...................................................................................................................................................... 24
Force Position ................................................................................................................................. 24
Reset To Rest State.......................................................................................................................... 25
Strength, Pos X, Pos Y, Pos Z, Set ................................................................................................... 25
Strength, Rot H, Rot P, Rot B, Set.................................................................................................... 25
MOCCA IK Commands ......................................................................................................................... 26
Setup IK Chain ................................................................................................................................ 26
Add Anchor .................................................................................................................................... 26
Add Root Goal ................................................................................................................................ 26
Add Tip Goal ................................................................................................................................... 26
Add Up Vector ................................................................................................................................ 27
Set Chain Rest Position ................................................................................................................... 27
Set Chain Rest Rotation .................................................................................................................. 27
Auto Redraw ................................................................................................................................... 27
Auto IK-Lock ................................................................................................................................... 27

VIII

CINEMA 4D – Mocca Manual

Prefix............................................................................................................................................... 40
Replace ... With............................................................................................................................... 40
Clone Tags....................................................................................................................................... 40
Mirror Constraints .......................................................................................................................... 41

Claude Bonet Tool ...............................................................................................44
Attribute Manager Settings................................................................................................................. 45
Only Modify Visible Elements ......................................................................................................... 45
Display All Bones ............................................................................................................................ 45
Paint Absolute ................................................................................................................................ 46
Force Shading ................................................................................................................................. 46
Set Reference .................................................................................................................................. 46
Strength.......................................................................................................................................... 47
Set Value......................................................................................................................................... 47
Radius ............................................................................................................................................. 47
Remove Paint (This Bone) ............................................................................................................... 47
Remove Paint (Hierarchy)................................................................................................................ 48
Remove Paint (Scene) ..................................................................................................................... 48
Further Usage Advice........................................................................................................................... 48
Examples......................................................................................................................................... 49
Additional Comments..................................................................................................................... 49

Cappuccino Tool..................................................................................................54
Cappuccino Dialog Settings ................................................................................................................ 54
Action Window.................................................................................................................................... 55
Single Keyframe .............................................................................................................................. 55
Start Realtime ................................................................................................................................. 55
Stop Realtime.................................................................................................................................. 55
When pane .......................................................................................................................................... 56
Range, From, To.............................................................................................................................. 56
Start At Current Time...................................................................................................................... 56
Rewind Time ................................................................................................................................... 57
Where Window.................................................................................................................................... 57
Layer ............................................................................................................................................... 57
Use Existing Sequences................................................................................................................... 57
What Window...................................................................................................................................... 58
Position ........................................................................................................................................... 58
Scale ............................................................................................................................................... 58
Rotation .......................................................................................................................................... 58
PLA.................................................................................................................................................. 58
Hierarchy......................................................................................................................................... 58
Selection ......................................................................................................................................... 58
Object Manager.............................................................................................................................. 59
Timeline .......................................................................................................................................... 59

IX

KeyReducer Tool..................................................................................................62
KeyReducer Dialog Settings................................................................................................................. 62
Reduction ....................................................................................................................................... 62
Boost............................................................................................................................................... 63

TimeWarp Tool ....................................................................................................66
Attribute manager settings ................................................................................................................. 66
Step................................................................................................................................................. 66

PoseMixer Tag ..................................................................................................... 70

P2P Library and Manager.................................................................................... 76
Pose2Pose Manager Settings............................................................................................................... 76
Record............................................................................................................................................. 77
Geometry........................................................................................................................................ 77
Test ................................................................................................................................................. 77
Edit ................................................................................................................................................. 77
Sync ................................................................................................................................................ 77
Remove ........................................................................................................................................... 77
Add Folder ...................................................................................................................................... 77
Attribute Manager Settings................................................................................................................. 78
Key Properties................................................................................................................................. 78
Name .............................................................................................................................................. 78
Time ................................................................................................................................................ 78
Link ................................................................................................................................................. 78
Bias ................................................................................................................................................. 78
EasyEase ......................................................................................................................................... 78
Smooth ........................................................................................................................................... 79

MOCCA

Attribute Manager Settings................................................................................................................. 72
Record All ....................................................................................................................................... 72
Add Pose......................................................................................................................................... 72
Reset Sliders.................................................................................................................................... 72
Position ........................................................................................................................................... 72
Scale ............................................................................................................................................... 73
Rotation .......................................................................................................................................... 73
Points.............................................................................................................................................. 73
Exclude Parent ................................................................................................................................ 73
Destination ..................................................................................................................................... 73
Default Pose.................................................................................................................................... 73

X

CINEMA 4D – Mocca Manual

Quaternion Tag ...................................................................................................82
Attribute Manager Settings................................................................................................................. 83
Interpolation................................................................................................................................... 83
So when should you use Quaternion tags? .................................................................................... 85

Motion Blending .................................................................................................88
Testing Motion Blending ..................................................................................................................... 88
Step 1.............................................................................................................................................. 88
Setup Motion Blend Tracks .................................................................................................................. 89
Motion A......................................................................................................................................... 90
Transition ........................................................................................................................................ 90
Motion B ......................................................................................................................................... 91
Show Transitions............................................................................................................................. 91
Attribute Manager Settings................................................................................................................. 92
Motion Blend Properties................................................................................................................. 92
Motion ............................................................................................................................................ 92
Color ............................................................................................................................................... 92
Show Transition .............................................................................................................................. 92
Additive Loops ................................................................................................................................ 92
Left Trim, Right Trim, Auto Trim ..................................................................................................... 93
Position, Rotation ........................................................................................................................... 93
Auto Match..................................................................................................................................... 93
Manual Match................................................................................................................................. 94
Offset.............................................................................................................................................. 94
Pivot................................................................................................................................................ 94
Path................................................................................................................................................. 94
Rail .................................................................................................................................................. 95
Timing............................................................................................................................................. 95
Estimate .......................................................................................................................................... 95
Axis ................................................................................................................................................. 95
Resize To Orig. Length .................................................................................................................... 95
Detail Properties .................................................................................................................................. 96
Padlock icons .................................................................................................................................. 96
Check Marks ................................................................................................................................... 96
Transition Properties............................................................................................................................ 97
Automatic, Bias In, Bias Out, ... ...................................................................................................... 97
Auto Size......................................................................................................................................... 97

Retarget Tag...................................................................................................... 102
Attribute Manager Settings............................................................................................................... 103
Source........................................................................................................................................... 103

XI

Target............................................................................................................................................ 103
Neutral.......................................................................................................................................... 103
Use Hierarchy Instead Of Names .................................................................................................. 103

Cloth NURBS...................................................................................................... 106

MOCCA

Attrubute Manager Settings.............................................................................................................. 107
Subdivisions .................................................................................................................................. 107
Factor............................................................................................................................................ 108
Limit ............................................................................................................................................. 108
Thickness ...................................................................................................................................... 109
Cloth Tag............................................................................................................................................ 109
To add a Cloth Tag to an object:....................................................................................................110
Initial State.....................................................................................................................................110
Dress State .....................................................................................................................................110
Cached State..................................................................................................................................110
Engine Disabled State ....................................................................................................................110
Attribute Manager Settings................................................................................................................111
Basic Properties .............................................................................................................................111
Basic...............................................................................................................................................111
Tag Properties.....................................................................................................................................111
Cloth Engine .................................................................................................................................111
Stiffness .........................................................................................................................................112
Stiffness Vertex Map......................................................................................................................112
Structural .......................................................................................................................................113
Shear..............................................................................................................................................113
Flexion ...........................................................................................................................................113
Flexion Vertex Map ........................................................................................................................113
Rubber ...........................................................................................................................................113
Rubber Vertex Map........................................................................................................................113
Bounce ...........................................................................................................................................114
Bounce Vertex Map .......................................................................................................................114
Friction...........................................................................................................................................114
Friction Vertex Map .......................................................................................................................114
Mass...............................................................................................................................................114
Size ................................................................................................................................................114
Tear ................................................................................................................................................115
Use Tear .........................................................................................................................................115
Forces Tab ...........................................................................................................................................116
Gravity ...........................................................................................................................................116
Global Drag....................................................................................................................................116
Wind Direction Settings.................................................................................................................116
Wind Strength ...............................................................................................................................117

XII

CINEMA 4D – Mocca Manual

Wind Turbulence Strength .............................................................................................................117
Wind Turbulence Speed .................................................................................................................118
Wind Drag......................................................................................................................................118
Wind Impact ..................................................................................................................................118
Wind Lift ........................................................................................................................................119
Self Repulsion ................................................................................................................................119
Distance ........................................................................................................................................ 120
Force ............................................................................................................................................. 120
Damping ....................................................................................................................................... 120
Dresser Tab ........................................................................................................................................ 121
Dress Mode................................................................................................................................... 121
Relax ............................................................................................................................................. 121
Steps ............................................................................................................................................ 122
Dress-O-Matic .............................................................................................................................. 122
Steps ............................................................................................................................................. 122
Width ............................................................................................................................................ 122
Set Initial State.............................................................................................................................. 123
Show Initial State.......................................................................................................................... 123
Set Dress State .............................................................................................................................. 123
Show Dress State .......................................................................................................................... 124
Set Fix Points................................................................................................................................. 124
Clear Fix Points.............................................................................................................................. 125
Show Fix Points............................................................................................................................. 125
Draw Fix Points ............................................................................................................................. 125
Set Seam Polys.............................................................................................................................. 125
Clear Seam.................................................................................................................................... 126
Show Seam ................................................................................................................................... 126
Cache Tab .......................................................................................................................................... 127
Cache Mode.................................................................................................................................. 127
Calculate Cache ............................................................................................................................ 127
Empty Cache................................................................................................................................. 127
Update Frame ............................................................................................................................... 127
Load / Save.................................................................................................................................... 128
Expert Tab.......................................................................................................................................... 128
Sub Sampling................................................................................................................................ 128
Self Collision ................................................................................................................................. 129
Point Collision ............................................................................................................................... 129
Point EPS....................................................................................................................................... 129
Edge Collision ............................................................................................................................... 130
Edge EPS ....................................................................................................................................... 130
Poly Collision................................................................................................................................. 130
Poly EPS ........................................................................................................................................ 130

XIII

Index.................................................................................................................. 142

MOCCA

Global Intersection Analysis ......................................................................................................... 131
Include .......................................................................................................................................... 131
Collider Tag........................................................................................................................................ 132
To add a Collider tag to an object: ............................................................................................... 132
Attribute Manager Settings............................................................................................................... 132
Basic Properties ................................................................................................................................. 132
Name ............................................................................................................................................ 132
Tag Properties.................................................................................................................................... 133
Use Collider................................................................................................................................... 133
Bounce .......................................................................................................................................... 133
Friction.......................................................................................................................................... 133
Exclude Polys ................................................................................................................................ 133
Set................................................................................................................................................. 133
Clear.............................................................................................................................................. 134
Show............................................................................................................................................. 134
Draw ............................................................................................................................................. 134
Belt Tag .............................................................................................................................................. 134
Belt On.......................................................................................................................................... 134
Belt Points..................................................................................................................................... 134
About Belting ............................................................................................................................... 135
Set Belt Points............................................................................................................................... 135
Clear Belt Points............................................................................................................................ 135
Show Belt Points ........................................................................................................................... 135
Draw Belt Points ........................................................................................................................... 136
Animating Belt Objects................................................................................................................. 136
Belt Influence................................................................................................................................ 136
Belt Hover ..................................................................................................................................... 137
Hover Map .................................................................................................................................... 137
Modeling Clothes .............................................................................................................................. 137
Procedures for Animation............................................................................................................. 139
Cache Tool ......................................................................................................................................... 140
General ......................................................................................................................................... 140
How does the “Cache” tool work? ............................................................................................... 140
Settings......................................................................................................................................... 142
Show + / -..................................................................................................................................... 142
Frames + / - .................................................................................................................................. 142
Strength........................................................................................................................................ 143
Fall-Off ......................................................................................................................................... 143
Width ............................................................................................................................................ 143

MOCCA

INTRODUCTION 1

Introduction
You can easily animate any character from a comic book superhero to a squirrel juggling burning nuts using MOCCA’s
powerful yet simple to understand tools.
Character animation — a constant in the world of 3D and the ultimate discipline.
MOCCA‘s initial release was the first complete CINEMA 4D module developed solely to address the wants and needs of
character animators.
Since MOCCA‘s initial release we have been able to improve the module by collecting and evaluating your comments, new
ideas and suggestions.
This new release of MOCCA now offers you the possibility to create professional character animation even faster and easier.
A variety of new functions have been created to assist you and even do some of the work for you!

Motion Blending
The new motion blending process allows you to transfer animations from one character to another. In other words, you
can animate a character and use its motion data information for another character sometime in the future. Even the use of
motion capture tools is made easier.

Hard IK
MOCCA now offers improved Hard IK functionality in addition to its extensive Soft IK functionality. The Hard IK algorithms
forgo the Soft IK “frills” and offer much faster calcutation and response. Using the MOCCA IK tag you can select which kind
of IK you want to use and can even mix Hard IK and Soft IK in the same character rig!

IK FK Blending
One of MOCCA‘s most powerful new features is its ability to mix IK and FK. Animate your character as you wish using IK
or FK and simply use the sliders to easily blend IK and FK. The days of basing the method with which you animated your
character on how its rigging had been set up are over!

Motion Retargeting
You have already created several finished animations using a particular character and now your client needs a larger
character? You‘re working with motion capture but the proportions of the recorded motion don‘t quite fit your character?
Don‘t worry – Motion Retargeting can help. Simply transfer the animation of one character‘s rigging onto another and
MOCCA will take care of the scaling! Whether your entire character‘s dimensions change or only individual proportions,
Motion Retargeting will rescale them. You just sit back and relax.

Pole Vectors
Many additional changes, new features and improvements have made their way into MOCCA that will make your 3D life
easier, such as pole vectors.

MOCCA

Here is an overview of some of the most important improvements:

1 MOCCA Layout and Palette

MOCCA

MOCCA LAYOUT AND PALETTE 3

MOCCA

4 MOCCA LAYOUT AND PALETTE

MOCCA

MOCCA Layout and Palette
Although you can access all of MOCCA’s commands from menus, you may find it quicker to use the MOCCA palette and
MOCCA layout.

Reach MOCCA commands quickly and save time using the predefined MOCCA layout and MOCCA palette. The MOCCA
palette is integrated automatically into the MOCCA layout. On this palette you’ll find commands and tools from the Plugins
> MOCCA sub-menu as well as some of the most commonly used CINEMA 4D tools: move, scale, rotate and the selection
tools.
To use the predefined MOCCA layout, choose Window > Layout > Mocca.l4d. You can, if you wish, create your own layout
for MOCCA. For details on how to do this, please see the Configuration chapter of your CINEMA 4D Reference Manual.

You can open the MOCCA palette and integrate it anywhere in the GUI.

If you want to open just the MOCCA palette rather than load the entire MOCCA layout, choose Plugins > MOCCA > MOCCA
Palette. The palette then appears as a freestanding window, which you can integrate anywhere in the CINEMA 4D GUI. To
learn how to configure the GUI, please refer to the Configuration chapter of your CINEMA 4D Reference Manual.

MOCCA

MOCCA LAYOUT AND PALETTE 5

MOCCA

2 Introduction to IK

MOCCA

INTRODUCTION TO IK 7

MOCCA

8 INTRODUCTION TO IK

MOCCA

Introduction to IK
MOCCA and Soft IK offer a completely new approach for animating characters. Almost all possible
movements are handled via soft constraints. These enable you to go beyond the world of strict
constraints.
You have probably heard the term Inverse Kinematics (IK) before; it has become quite a buzzword in the 3D world,
particularly when it comes to character animation. The main difference from the so-called Forward Kinematics (FK) is the
direction in which something is animated. Take an arm, for example.
Using FK, the arm would be animated from the shoulder downwards. This means that you first rotate the shoulder, then
the upper arm, the lower arm, hand and finally the fingers pointing to a specific location. The obvious disadvantage is
the difficulty of trying to get the hand in a certain position in your 3D world, since any move of the shoulder will require
readjustments of all limbs that follow in the hierarchy. Having a hand grab a cup of tea, lift it to the character’s mouth and
place it back on the table would involve a large number of rotations and adjustments, particularly because the position and
rotation of the cup and hand have to be synchronized at all times.

With Forward Kinematics (left), each bone must be rotated in order to move the arm. With Inverse Kinematics (right), you
can move the hand freely and the other bones in the arm will move and rotate automatically to ensure that the bones remain
connected to one another. Inverse Kinematics helps you to pose characters quickly.
Inverse Kinematics offers an elegant solution to this problem. As the name suggests, the direction of the
animation is inverted. This means that moving the hand will force the other joints between hand and shoulder to
reposition in order to remain in contact with the hand. A simple expression could lock the hand to the position of
the cup, allowing you to animate just one object, the cup, instead of two.
Inverse Kinematics has been a key part of the application since CINEMA 4D XL R5.

MOCCA

INTRODUCTION TO IK 9

MOCCA IK offers a completely new approach. Almost all possible movements are handled via constraints. Imagine a
constraint as a force that always tries to find an equilibrium with other such constraints, just like an array of magnets that
levitate a metal sphere within their common magnetic fields.
The following example of earlier IK systems is familiar. You drag a bone target object from one position to the next and the
IK chain practically jumps into place. IK systems that limit the freedom of rotation of each bone often create dead spaces.
These, sometimes large, spaces are created by overlapping rotation limits. The larger the limits are for each bone, the bigger
the dead zones. This can escalate to the point of producing completely unmovable IK chains.
The new IK solution in MOCCA has been created with precisely this problem in mind. By allowing the software to extend
beyond these boundaries, it enables you to leave behind the world of strict constraints.

How does this work?

This animation is handled by what are called ‘tip effectors’ (control objects) that attract the bones of a character. A lot of
the work that needs to be done in character animation involves a proper constraint setup, based on constraints for the angle
and position, which should facilitate animation later on. Just as in real life, these constraints are soft. A constraint strength
of 100% will not eliminate the other forces. The object is still influenced by all forces in the setup, making dead zones a
thing of the past. Careful placement and setup of these constraints will result in much more elegant-looking animations
that would otherwise be very difficult to achieve with older IK solutions.
Some features in MOCCA might seem familiar, such as the Dynamics function in Soft IK. However, MOCCA is not an
addition to the CINEMA 4D Dynamics module — it is an independent toolset in its own right. It has nothing to do with
actual dynamics, which are realistic simulations of physical events that give you enormous control over all aspects of an
environment. Naturally, those simulations also require more processing power, the more realistic you want them to be. On
the other hand, MOCCA is a completely new technology, which emphasizes speed and reliability above all else. Ultimately,
it is the result that matters most.

MOCCA

The programming within Soft IK means that the more you stretch your constraints, the more a dynamic counter-force will try
to return the object to its initial rest position. A basic example would be a comic character that grabs a heavy weight, which
pulls his arms and upper body to the floor. As soon as he lets go of the weights, the arms will return to a more comfortable
position, in other words, his rest position.

3 MOCCA IK Tag

MOCCA

MOCCA IK TAG 11

MOCCA

12 MOCCA IK TAG

MOCCA

MOCCA IK Tag
MOCCA IK tags add a great deal of control to your bone setup. In these pages you’ll find a description of each setting in
the MOCCA IK tag

The MOCCA IK tag helps make CINEMA 4D’s standard bones more powerful. Once the tag has been assigned you can make
full use of MOCCA for optimal control over your bones.
You can assign the MOCCA IK tag by clicking on the object with the right mouse button in the object manager. Not only has
the MOCCA IK tag’s functionality been improved but it also offers several new visual aides in the Object manager. Hence
the look of your IK tag will be different depending on if you activate the Anchor option or if you add Limiters, for example.
The MOCCA IK tag can look as follows:

Standard icon and with Anchor option

These are the standard icons after a MOCCA IK tag has been assigned (left) and the icon after applying the Anchor option
(right).
Once a Limiter has been applied

Once a Limiter has been applied to a bone the icon will look like this.
Once a Limiter has been adjusted

This icon will be used if the Limiter‘s values, within which the bones should move, have been changed in the Attribute
manager.
Limiters and altered values

And last but not least this is the icon that will be shown when Limiters as well as altered values for Limiters in one MOCCA
IK tag have been assigned.

MOCCA

MOCCA IK TAG 13

Attribute Manager Settings
Tag Properties

This option activates or deactivates IK for the bone chain. This option can be found within every MOCCA IK tag in the IK
chain. Note that the entire chain is linked to this command. Turning it off for one tag will deactivate it for the entire chain.
The same applies to turning it on again.

Anchor
An anchor is the root of any given chain. A classic anchor in a 3D character would be the hips. Most of the time, this is the
root element for the character bone setup. Normally, you wouldn’t want the hips to jump out of place when dragging the
goal target of the left leg, thus twisting the entire character. Placing the root at a certain point will tell the chain that the
leg has to be held in place at its root, in this case the hips.
The icon in the Object manager changes as soon as the Anchor option has been enabled in the Object manager:

Anchor disabled (left) and enabled (right).

Hard IK
This option is only available when Anchor is enabled.
This option lets you control the bone’s movement and behavior. MOCCA uses Soft IK from the previous version by default
to control bones. As the name suggests, Soft IK is ideal for use on “soft” bones because it exhibits a certain dynamic of its
own. This makes it prefect for cartoon characters or body parts that require a softer movement. Hard IK, on the other hand,
is less dynamic in its movement but is therefore faster and does not exhibit its own dynamics.

MOCCA

Use UK

14 MOCCA IK TAG

MOCCA

Strength
This option is only available when Anchor is enabled.
This parameter modifies the strength with which the skeleton will be held together. It affects all movements and a high
value results in precise, but harder animation. You’ll quickly notice how, as the strength increases, the distances between
each bone in a stretched chain become smaller. High values will take additional time to calculate, though.

Dynamics
This option is only available when Anchor is enabled.
The dynamics parameters modify the dynamic movements of the bone chain. The dynamics settings affect an entire bone
chain, whose root bone has this option enabled. Since dynamics influence the alignment of your chain, the effect becomes
more obvious if few constraints have been added. If you want to experiment with the settings and get direct feedback,
make sure you avoid setting constraints.
How do all these parameters interact?
There is no easy answer for this, since they affect each other. High Drag will cause stiff joints, therefore limiting the effect
of the other parameters. This makes drag an ideal regulator for dynamics. On the other hand, Speed does not necessarily
make the movements of the chain faster. Test the different Dynamics settings and you’ll soon develop an intuitive
understanding.
To switch dynamics on, enable the Dynamics option. You can then adjust the dynamics of the bone chain using the following
parameters.

Speed
This option is only available when Anchor is enabled.
Controls the speed at which the dynamic simulations are played back. The default value of 10% initiates a slow reaction.
Experiment with this setting. A small, light character might move more quickly than a large, heavy one for example. The
trunk of an elephant would require slower movements and therefore lower values.

Drag
This option is only available when Anchor is enabled.
This parameter controls the resistance of the child bones toward the reaction to the movements of the root bone. Imagine
draining the lubricant from a joint mechanism – the joint will become stiffer the more lubricant is removed. Similarly, the
bones will not move with the root as freely when using a higher percentage value. A word of caution: Drag very much affects
the other dynamic parameters and could seriously dampen the entire dynamic movement.

MOCCA

MOCCA IK TAG 15

Gravity
This option is only available when Anchor is enabled.

This parameter defines the strength of gravity that acts upon the bones. Higher values result in a stronger bending of the
chain on the Y-axis, downwards. Here again, small characters might require lower values than large, heavy ones.

Inertia
This option is only available when Anchor is enabled.
Inertia controls how much of a root bone’s movement is translated into torque for its children. Torque is the force that causes
rotation. Moving a bone chain around will make torque affect the angle between each of the bones. Low values won’t cause
too much disruption in the chain, whereas high percentage values will jiggle the chain more and more.

Color
This option is only available when Anchor is enabled.
Here you can set the color of the lines connecting the first and last bones of your IK chain as they are displayed in the
viewport. The default color is yellow.

The lines connecting the first and last bones are displayed yellow in the
viewport by default.

MOCCA

Gravity pulls the bones down, in the direction of the world system’s
negative Y-axis.

16 MOCCA IK TAG

MOCCA

IK <-> FK
One of MOCCA’s most powerful new features is the ability to seamlessly switch between IK and FK animation. Until recently
you had to base the way you animated your character on how its rigging had been set up. The respective situation will
dictate whether you move a leg by positioning the foot using IK or simply rotate the shinbone using FK. The problem we
would encounter, though, is that a rig that has been set up using IK would lose its control object associations if a single
bone in the hierarchy would be selected and rotated independent of its IK control object.
Let’s take a look at an example of this in the following images.

Three control objects assigned to a typical bone setup for a foot.
The image shows a typical bone setup which will be controlled using IK. Three control objects have been assigned for the
foot (see blue arrows). Now the bone will be bent to the rear.
In the past one could only bend the leg by moving the control objects using IK.
If you were to bend the leg by rotating the shin bone using the rotate function, the control objects would retain their
positions and it would be practically impossible to animate the leg further using IK (see following image).

With the shin rotated, further animation of the leg using IK is almost
impossible.

Now MOCCA lets you reach your goals any way you want. MOCCA will recognize any control objects connected to your
bones and move them with your FK rotation (see next image).

MOCCA

MOCCA IK TAG 17

MOCCA can now move the control objects with your FK rotations.

You can use the Display In Editor option to control the display of visual aids in the viewport. For example, this allows you to
have the connection between the first and last element in an IK chain displayed as a thin line. If you don’t want these visual
aids to be displayed, disable the option.

Constraint

The Constraint settings allow you to control the bone chain with other
objects in the scene.

This page is shown only if Anchor is disabled on the Tag Properties page.
The Constraint settings define the controls that force the IK chain into another form or direction; they allow another object
to be used to move the bone chain.
Here’s a more precise explanation: the goal constraint uses the origin of virtually any object in the scene to enable you to
force the IK chain towards the position of that object, assuming that the other potential constraints in your scene do not
counteract this. Since the IK chains follow the goal constraints, the bone angles will also be modified. Therefore this is useful
for setting up different poses, since all you have to do is move about individual goal constraint objects.
If you want the chain to point at a constraint you will have to work with a tip effector. In other words, a null will be placed
at the end of a chain and linked to a goal constraint. This works similarly when you use the Set Up IK Chain command.

MOCCA

Display In Editor

18 MOCCA IK TAG

MOCCA

Goal
Drag an object from the Object manager into this box. This object will then serve as a goal constraint. You can remove an
object from this box by clicking the small triangle next to it and choosing Clear from the drop-down list that appears.

Add buttons
These buttons allow you to add a root goal or up vector.

Strength
Imagine setting the ‘muscular’ force at which the constraint pulls on the bone. If you have used several constraints with
different strengths in your scene, the ones with the higher values will be preferred by the chain.

Use As Pole
You can very easily obtain control over unwanted bone rotation using the option Use As Pole.

Pole vectors represent the planar surface between these three points.

Pole vectors represent a planar surface between the following three points (see image) of a pair of bones:
1. The beginning of the first bone.
2. The end of the first and beginning of the second bone.
3. Around the end of the second bone.
The result is that the bones cannot be rotated independently of each other; the rotation of the two bones is now controlled
by the pole vector.
Use As Pole only has an effect when used with a root goal; the option has no effect when used with a tip goal. This is down
to the way that goals are created — root goals are attached directly to the bone they should affect, whereas tip goals are
assigned an extra Null object.

MOCCA

MOCCA IK TAG 19

Distance

The behavior of the Distance setting depends on the Chop Sticks setting. If Chop Sticks is enabled, this parameter sets the
length of the chopsticks (see below). If Chop Sticks is disabled, it defines the distance between the tip effector and tip goal
constraint within the bone chain.

Chop Sticks
This setting, when enabled, allows you to move your character as if the joints were connected to sticks, like shadow puppets.
When using chopsticks you can pivot around a point connected to an arm, just like the wheels of a locomotive train. Set
the length of the chopsticks using Distance (see above).

Set
This button is only available when the Use IK option (on the Tag Properties tab) is disabled. When using chopsticks the
Distance parameter allows you to change the distance from the control object to the bone. To do this, switch off the
MOCCA IK, move the control object to the desired position, click Set and switch the MOCCA IK back on. The new value for
the distance will appear in the Distance box automatically.

Up Vector
Here you can drag and drop an object from the Object manager. That object will then be used as an Up Vector object. Delete
the Up Vector by clicking on the small triangle next to it and selecting Clear.
Up Vector constraints let you orient the axis of a bone towards a control object. In this case, not the position, but the angle
of the bone will be modified.

MOCCA

Chopsticks enable you to rotate the chain around the value of the Distance
setting.

20 MOCCA IK TAG

MOCCA

There are cases in which the chain may have various alternative ways of conforming to all the constraints. Take a leg, for
example, consisting of an upper and lower thigh. The upper thigh is parented to a root bone and the lower thigh has a tip
effector, which is linked to a goal constraint. If you move the goal constraint, the chain has no clear way of knowing how
the angles behave between root and effector. On longer chains this can sometimes cause chaotic twisting of the IK chain.
Obviously you’ll quickly notice this when the character’s skin is fixed to the bones, as it will twist with the chain. The Up
Vector gives you a chance to prevent this from happening by constraining the orientation of the bone axis to the Up Vector
constraint.

Strength
This value defines the strength at which the fixed axis will be pulled towards the Up Vector constraint. A value of 0% will
completely ignore the constraint. A value of 100% practically nails the axis to the constraint. A value of 50% orients the bone
with a bit of lag, just like a magnetic compass needle adjusting towards true North after the compass has been moved.

Axis
Here you can choose between the various axes that point towards the Up Vector. The options are Y, -Y and X, -X. If you
choose -Y, the Y-axis will point in the exact opposite direction of the Up Vector, since an object axis arrow always points in
a positive orientation.

Limit

Limits define the position and rotation spaces that your chain may not
leave. The only way for the chain to break away from these limits is to
use strong constraints that try to pull the chain through the prohibited
spaces. You could say that a lot of strength is necessary to pull the joints
beyond their limits.

This page is shown only if Anchor is disabled on the Tag Properties page.

MOCCA

MOCCA IK TAG 21

Show Limits
Enable this option to switch on the display of position and rotation limits in the viewport.

Show Limits disabled.

Strength
This defines the strength of the position (X, Y, Z) or rotation (H, P, B) limits.
Be careful about using too high a Strength value, especially for a rotation limit. If you’re using rotation limits on all bones,
the limits might start working against each other, causing the chain to twitch wildly. Therefore only increase the rotation
limit strength a little at a time.

Position Limit Settings (X, Y, Z)
Position limits enable you to offset bones in relation to their parent bone. This can be useful where joints fork off, such as
at the hips or the shoulders. Remember to consider the equilibrium between the position limits and the rest position of
the bone structure.

MOCCA

Rotation limits displayed in the viewport (Show Limits enabled).

22 MOCCA IK TAG

MOCCA

Position limits give the bones boundaries that bind them with a given strength. The Min and Max settings enable you to
define a point, area or space that is displayed as yellow lines in and around the bone.
If you enable the X limits and set a Min value of -50 and a Max value of +50, you will notice a yellow line extending from
both sides of the bone parent. If you want to define an area you will have to use an additional axis (Y or Z). Using a third
axis will create a volume in the form of a box.

The box shape represents three position limit axes.

All forces of the Soft IK limits are not static but behave dynamically. Imagine using a rest position that is outside the space of
your defined limits. In that case, the system will try to find a balance between both these forces, according to the strength
values used, and position the bones somewhere between both of them.

MOCCA

Rotation Limit Settings (H, P, B)

A bone chain, set up with heading rotation limits and Up Vectors.

MOCCA

Using position limits, you can construct the chain with an offset between
the bones.

MOCCA IK TAG 23

24 MOCCA IK TAG

MOCCA

This option enables you to confine the freedom of rotation of the joints in the chain. The Min and Max entry fields next to
R.H, R.P, R.B define the rotation limits for heading, pitch and bank. This is where you define the angles within which the
bones can move freely. In the viewport, the limits are represented as pie sections, in red, green and blue respectively.
The limits will only be active when they are enabled by checking the relevant boxes. Otherwise the allowed movement or
rotation will be unlimited.
If you want to prevent a change of heading, just enable the H limits. The default values of 0 for Min and Max tell the bone
to move 0 degrees on heading and it therefore can only be pulled in that direction by increasing Strength.

Rest

Using these settings you can control the rest position and rotation of each
joint to which the character will return when the constraints are either
inactive or reduced.

This page is shown only if Anchor is disabled on the Tag Properties page.
These settings define a rest position and rotation — a space to which the IK chain will return when the other constraints
are inactive.
Imagine a character that is pulled with great force from its original position. The acceleration will cause it to stretch in the
opposite direction of the pull. As soon as the acceleration reduces, it will try to assume its initial pose (provided that no
other constraints prevent itfrom doing so). The Rest settings allow you to define this initial pose.

Force Position
If this option is enabled, the bones remain in contact, i.e. there will be no gaps between the bones, even if the tip effector
has not been reached.

Force Position enabled. Although the tip effector has not been reached,
there are no gaps between the bones.

MOCCA

MOCCA IK TAG 25

Force Position disabled. The bones are stretched apart as they try to reach
the tip effector.

Reset To Rest State

Strength, Pos X, Pos Y, Pos Z, Set
These values define the initial rest position for the IK chain. You can set them by moving the chain into the position you
want and pressing Set or the Set Chain Rest Position icon on the MOCCA palette.
The Strength setting regulates the strength at which the rest position will interact with other forces. The higher the value,
the greater the influence of the rest position on the character.

Strength, Rot H, Rot P, Rot B, Set
These settings define the initial rest rotation of the IK chain when no other constraints are active. You can set them by
arranging the chain as you want and pressing Set or the Set Chain Rest Rotation icon on the MOCCA palette.
If you have set a rest position for an arm which also has a tip effector connected to it, the chain will try to find a common
denominator for both forces. If you try to pull the arm away from its rest position with a goal constraint, you will have to
use more force than if you hadn’t used rest rotation. Eliminating the goal constraint will cause the chain to return to its rest
rotation immediately. Preference should be given to this form of constraint over the classical rotation limit, since it results
in more natural movements with less strict prohibited spaces to which the chain can move.
The Strength setting controls the strength at which the rest rotation interacts with other forces. The higher the value, the
greater the influence of the rest rotation on the character.

MOCCA

Clicking this button will cause the IK chain to return to its predefined rest position and rest rotation. Since you will probably
have other active constraints in the scene preventing this, the Use IK option will automatically be turned off at the root
bone.

26 MOCCA IK TAG

MOCCA

MOCCA IK Commands
These commands help you to create MOCCA IK chains and fully automate your setup.

When setting up a Soft IK chain, you’ll need to use the MOCCA IK commands. Using these you can add anchors, goals and
more and save time with the Setup IK Chain tool, which fully automates the Soft IK setup for simple bone chains. You’ll find
these commands on the Plugins > MOCCA sub-menu as well as on the MOCCA palette.

Setup IK Chain
With a bone chain selected, choosing this icon from the MOCCA palette or from the MOCCA Plugin menu will add a MOCCA
IK tag to the root bone, with the Anchor option enabled. The child bones will also receive a MOCCA IK tag and a tip effector
will be added to the last bone. The effector is linked to a goal constraint parented to the root bone of the chain. This will
set up your IK chain at the press of a button.

Add Anchor
This command adds an anchor to the selected bone.

Add Root Goal
The root of an individual bone is also where its object axis is placed. This command puts an effector at the bone’s origin.
The effector is linked to a goal constraint, which is parented to the chain’s root bone. It will automatically receive the suffix
‘Root Goal’. Moving this goal object will give you direct control over the position of the joint.

Add Tip Goal
This command puts an effector at the tip of the bone. The effector is linked to a goal constraint parented to the chain’s
root bone. It will automatically receive the suffix ‘Tip Goal’. Moving this object gives you influence over the direction of the
Z-axis for the respective bone.

MOCCA

MOCCA IK TAG 27

Add Up Vector
By selecting this, an Up Vector will be added to the selected bone, constraining its Y-axis orientation towards a control
object placed above it. This object will adopt the name of the bone along with the suffix ‘Up’. Adding this to the bone
called ‘Upper thigh’, for example, would result in an Up Vector control object with the name ‘Upper thigh.Up’. If you want
to constrain the X-axis of the bone select its MOCCA IK tag and, on the Attribute manager’s Constraint page, choose a
different axis from the Axis drop-down list.

Set Chain Rest Position
This command sets the local positions (i.e. the position relative to the immediate parent object) of all objects in the IK chain
as the rest position in the MOCCA IK tag. The command gives you an easy way to define rest poses. See also the description
of the Rest tab earlier in this chapter.

This command sets the rest rotation of all bones in the IK chain that have MOCCA IK tags. See also the description of the
Rest tab earlier in this chapter.

Auto Redraw
You’ve probably noticed that a great way to test the movements of your IK chain is to press the Play button (or hotkey: F8),
especially in combination with the Dynamics function of Soft IK, .
However, since the Soft IK chain works with soft constraints, the animation reacts to a number of different factors. This
means that the animation might not be finished at the last frame. The joints might still come to rest slowly. You can use the
Auto Redraw command in MOCCA to display those changes without having to play back the entire animation. Once enabled,
it will constantly update the calculations, displaying the reactions of your IK chain immediately.
When choosing this command, the dialog will enable you to set the redraw step in milliseconds. If you have activated the
MOCCA layout by choosing Window > Layout > Mocca.l4d, you will find the dialog already below the Object manager.
Normally, the animation will be played back in realtime; for PAL systems, that means 25 frames per second, for NTSC it is
30. Each frame will therefore be displayed for 1/25 or 1/30 of a second before it is updated again.
The default value of 50 milliseconds (20 frames per second) is enough to make the movements smooth. Note that each
redraw costs processing power. Higher redraw times will cost more processor time. 50 milliseconds is a good average value.
Very complex scenes may, however, require faster redraw times.

Auto IK-Lock
The Auto IK-Lock option is closely related to the ability in MOCCA to seamlessly switch between IK and FK when you are
animating. If the option is enabled, when you animate the tag’s bone with FK, all of the bone’s control objects such as goals
and up vectors will move along with the bone automatically. If the option is disabled, MOCCA will still rotate the bone but
it will ignore the control objects.

MOCCA

Set Chain Rest Rotation

28 MOCCA IK TAG

MOCCA

MOCCA

MOCCA IK TAG 29

MOCCA

4 Bone Tool

MOCCA

BONE TOOL 31

MOCCA

32 BONE TOOL

MOCCA

Bone Tool
With the bone tool, you can create and adjust bone chains quickly and easily, using a variety of tools.

The bone tool is the tool of choice for preparing your virtual characters for that big Hollywood role. MOCCA was given an
extra tool to let you put together your 3D star’s skeleton quickly and intuitively and easily position them in your scene. If
you make a change to a bone, changes to its dependent bones will be made accordingly. It has never been easier to edit
bones in CINEMA 4D.
Selecting and Deselecting the Bone Tool
You’re probably wondering why we have a special section just for selecting a tool, even though it’s so obvious. Well, this
section is less about actually selecting the tool and more about the effect that selecting this tool has, i.e. what happens to
the bones when you select this tool or switch from it to another tool.
Selecting the bone tool is like beginning a phase – the bone editing phase. All bones in the scene are deactivated when the
bone tool is selected. The red check marks in the object manager will turn from green to red.

Bones in the Object manager before selecting the bone tool (left) and
after (right).

In addition, the bones will be reset to their initial rest position and will lose their deformation effect on the mesh.
This effect is similar to the Reset Bones command in the Object manager.
A further effect of selecting the bone tool is that the Use Animation and Use Expressions options on the left toolbar will be
disabled. This will prevent the bones from being affected by animation keys or expressions.

When you select the bone tool, the Use Animation and Use Expressions
options in the left toolbar will be disabled automatically (left). They will
become active again (right) as soon as you change to a different tool.

BONE TOOL 33

MOCCA

As soon as you switch from the bone tool to another tool such as rotate the bones will be reactivated automatically and
the mesh will be influenced by the bones once again. The Use Animation and Use Expressions options will also be activated
again.
If you’ve edited the bones or recorded keys for them before using the bone tool then, when you switch from the bone tool
to another tool, the bones will jump back to the positions and rotations they had at the time you selected the bone tool. In
other words, you’ll lose any position and rotation changes you applied to the bones while the bone tool was selected.
Although selecting the bone tool can be compared to the Reset Bones command, deselecting the bone tool is not, in turn,
similar to the Fix Bones command.
The difference is that Fix Bones fixes the bones to their present position and rotation and defines this as the new initial state,
whereas deselecting the bone tool does not fix the bones — it simply activates their deformation properties.

In addition, the following applies:
When the bones are fixed, edit them in their fixed state using the Bone Tool. If the bones are not
fixed, edit them in their unfixed state.


When the Bone Tool is active, fixed bones will appear dark brown and unfixed bones will appear
light brown.




SHIFT+CTRL+click on bone: Bone can be moved without the “parent” bone being moved.

Attribute Manager Settings

The various tools are available from the Attribute manager.

Add Bone
This command adds a bone to the scene. The bone has a default length of 100 m and points in the direction of the Z-axis.
Pressing the button twice, however, does not add a child bone to the previous bone but another independent bone, with
the same parameters as the first one. If you want to add a child bone, use the Add Child Bone button instead.

Add Child Bone
Clicking this button will simply add a child bone to the chain; this is placed at the tip of the previously created bone or child
bone. It adopts the parameters of the preceding bone, as well as its name.

MOCCA

Therefore we recommend that you edit the bones using the bone tool before applying expressions and so on. If you must
make changes to the bones later using the bone tool, before you deselect the bone tool, choose the Fix Bones command to
fix the bones in their new position and rotation.

34 BONE TOOL

MOCCA

Continuously using this command will add a new child bone for every press of the button, quickly creating an entire
chain.
You can also add child bones by Ctrl-clicking in the viewport, in which case a new bone is added to the chain between the
tip of the last bone and the position of the mouse pointer. If you look closely, you’ll notice a yellow dot at the origin of each
bone. These are handles. Drag them to scale and rotate the bones interactively in the viewport.

Split Bone
This will split the bone in half (you can simply click on a bone while simultaneously pressing the SHIFT-key). Together, the
newly created bones will have the same length as the original. The overall length of the chain therefore remains unchanged.
You can also split bones interactively in the viewport. While pressing the Shift key simply click on the bone at the point at
which you want to split it.
Use this command before setting up Soft IK, since the Setup IK Chain command will also set the rest position of the bones.
If you then split the bone, a new bone with half the length of the original will be placed at the previous origin. The other
new bone will also be shorter but cannot reach the tip of the preceding bone, since the old rest position has also been
copied. This would lead to gaps in the IK chain.

Add/Update Null Bone
A Null bone is a bone without influence on the geometry of the object to which it is assigned. In other words, it is a bone
with a strength of 0% and a length of 0 m — literally null.

The Attribute manager settings for a Null bone

Bones, just like any other object in a hierarchy, always work with the information of their parent object, such as its limits or
positions. Null bones offer the benefit of not affecting the geometry and can therefore serve as a master system.
So why not use a normal Null object instead? The answer is simple: a bone chain does not allow other objects (such as the
normal Null object) to penetrate its hierarchy. Otherwise, the bones might no longer be fixed and results would be quite
unexpected.
The Add/Update Null Bone command adopts the rotation and position of and is placed at the origin of the selected bone.
The rotation of the selected bone is cleared. The great advantage is that you can easily set rotation limits for non-rotated
bones without having to do the math for each of them.
Use this command before Setup IK Chain, since the latter will fix the rest position of the bones. If the Null bone is added
later on, the following bone cannot be placed at the tip of the shorter null bone because it inherits the rest position. The
chain would be elongated.

MOCCA

BONE TOOL 35

Add Null Bone
Use this setting to add a Null Bone to the tip of an existing bone. It will be added as a child object of the selected bone.

Fix Bones
Has the same function as “Fix Bones” in the Bone dialog.

Reset Bones
Resets bones to their fixed state. Unfixed bones will be reset to the state they had before the Bone Tool was activated.

MOCCA

5 Bone Mirror Tool

MOCCA

BONE MIRROR TOOL 37

MOCCA

38 BONE MIRROR TOOL

MOCCA

Bone Mirror
With this tool you can mirror individual bones and entire chains including tags, Claude Bonet maps and much more.

The bone mirror tool is a powerful accessory that can speed up your work with bones by mirroring not only the bones but
also tags, constraints, selections and more. To select the bone mirror tool, choose Plugins > MOCCA > Bone Mirror or select
the Bone Mirror icon from the MOCCA palette. In both cases, this opens the Bone Mirror dialog, from where you can set up
the operation of the tool, before clicking the Mirror button to make the changes.

The bone mirror tool mirrors only the bones and the Null objects within the setup (such as nulls for root goals), NOT
geometry (meaning 3D volumes). If you want to mirror geometry, use the Mirror tool from the Structure menu.
Since the Bone Mirror tool was developed primarily for use with Soft IK it does not support other functions such as IK
expressions or XPresso expressions.

Before using the bone mirror tool (left) and after (right).

BONE MIRROR TOOL 39

MOCCA

Attribute Manager Settings

Plane

Origin
The Origin setting defines a point through which the Plane should pass, thus defining the mirror’s position. Choose one of
the following settings.


Selected

This will mirror the selected bone with the mirror plane passing through its object axis. The rotation
of the axis will be ignored, since the bone mirror tool always mirrors parallel to the plane that you
have chosen.


Parent

The setup will be mirrored according to the position of the axis of the selected bone’s parent. Again,
the rotation of the axis will be ignored, since the bone mirror tool always mirrors parallel to the
plane that you have chosen.


Top Most

In this case, the root bone sets the origin of the mirror. Here too, only the mirror plane is of
importance.


World

If you choose the World setting, the origin of the world coordinates will be used, regardless of the
rotation of origin.

MOCCA

This is where you select the plane onto which the setup is mirrored. Imagine putting half an orange onto a mirror, open
side facing the mirror. The half orange suddenly appears like a complete one. The mirror is the equivalent of the tool’s plane
that you choose from this drop-down list.

40 BONE MIRROR TOOL

MOCCA

Auto Find Center, Match Search
The Auto Find Center option is designed to help you mirror Claude Bonet maps, point and polygon selections, as well as
vertex maps. Imagine having built a character and set up half of it with bones. You might also have set the range of influence
of some of the bones with the Claude Bonet tool. Naturally, you’ll want the bone mirror tool to copy those weights properly
to the other side, too.
If you disable the Auto Find Center option, the object axis of the bone setup will be used instead. The object axis isn’t
necessarily at the center of your character’s points, though. Enabling the option will find the center of the points, which
can create very accurate results in symmetrical models.
The Match Search box is where you set an amount of tolerance with which the bone mirror tool will compensate for
irregularities within the model. If the bone mirror tool does not find exactly the same corresponding points on the other
side of the setup, it will search for them within the radius that you can set. You should experiment with this setting. Very
small values tend to produce unconvincing results.

Suffix
Here you can set a name suffix that is added to the mirrored elements. This serves organizational purposes, avoiding
confusion between the various resulting bones. If you are mirroring the left half of the character, you might set the suffix
to ‘_R’. An upper thigh named ‘ThighUp’ would, after being mirrored, create a bone with the name ‘[ThighUp_R]’ on the
right side.

Prefix
This is where you can set a prefix to be added in front of the mirrored bones. Taking the previous example (see ‘Suffix’,
above), setting the prefix to ‘R_’ will cause the right side of the upper thigh to be named ‘R_ThighUp’ after mirroring.

Replace ... With
These settings enable you to rename a bone while mirroring. For example, if you have already named a left upper thigh
‘[ThighUp_L]’, it would make little sense to leave ‘_L’ in the name of the right side. Simply type _L into the Replace box and
_R into the With box. The mirrored bone will automatically be named ‘[ThighUp_R]’.

Clone Tags
You can also mirror all the tags assigned to a bone element by enabling this option. Note that the Mirror Constraints and
Mirror Influences options are available only when Clone Tags is enabled.


Clone Animation



If this option is enabled, the chain’s existing animation tracks are cloned.



Mirror Children

When enabled, this option will mirror the children of the selected bone, as well as any control objects.
If the option is disabled, only the selected bone will be mirrored.

BONE MIRROR TOOL 41

MOCCA

Mirror Constraints
If this option is enabled, existing Restriction tags and the constraints defined in the Attribute manager will be mirrored as
well.
These restrictions are used to control which part of the body the bone may deform. Even combined vertex maps with
parented polygon models can be mirrored, despite the fact that the vertex map is not assigned to the bone but to the
Polygon object above it. The only necessary condition is that the Mirror Influences option is enabled.


Mirror Influences

When enabled, this option will mirror all influences a bone may have on a model. These influences
can refer to Restriction tags assigned to point or polygon selections as well as to vertex maps. This
option is especially useful when mirroring Claude Bonet weighting.


Mirror

MOCCA

Click this button to apply the Mirror tool to the selected bones.

6 Claude Bonet Tool

MOCCA

CLAUDE BONET TOOL 43

MOCCA

44 CLAUDE BONET TOOL

MOCCA

Claude Bonet Tool
The process of weighting bones is quick and easy with this tool. It enables you to set influences and assign them to bones
at the same time.

The Claude Bonet tool takes its name from the word ‘bone’ and from the name of the leading exponent of impressionism,
Claude Monet. Before we explain what the Claude Bonet tool does, some explanation of bone weighting is in order. Bones
are deformers. In other words, bones are objects that have no geometry themselves but are used to deform volumes (e.g.
the flesh around them). Usually, a single bone won’t be enough to set up a realistic skeleton. Instead you’ll probably use
several complete chains, where each bone has a function.
To use the bones efficiently within the chain, you’ll have to assign separate parts of the geometry to each
bone, to avoid having the foot bones curl the ears of the character, for example. This process is called
‘weighting’.
In earlier versions of CINEMA 4D, this weighting was achieved using traditional vertex map weighting tools.
Back then, you assigned weighting to points and linked them to the bones via Restriction tags. You can still
do this, but there is an easier way.
Claude Bonet makes this process far simpler by enabling you to set influences and assign them to bones simultaneously
and, as its name suggests, you paint these weightings onto the bone.
To select the Claude Bonet tool, choose Plugins > MOCCA > Claude Bonet or click the Claude Bonet icon
on the MOCCA palette.
The settings for the tool will then appear in the Attribute manager.
Once you have adjusted the settings as described below, just select a bone and ‘paint’ the weighting onto
the bone in the viewport, using the mouse.

MOCCA

CLAUDE BONET TOOL 45

Attribute Manager Settings

MOCCA

In the Attribute manager, you’ll find all the commands and options that
are needed to weight the bones.

Only Modify Visible Elements
If this option is enabled, you can paint visible elements only. Invisible elements are ignored.

Display All Bones
When enabled, this option will display the influences of all bones on the geometry in the selected chain. What you’ll see is the
color display of the existing Claude Bonet weighting range. When adjusting the weighting of a single bone, we recommend
disabling this option. Influences might overlap near their borders, making it difficult to judge a single bone’s weighting.

Left: the left leg has been weighted using the Claude Bonet tool with
Display All Bones enabled. Right: Display All Bones disabled.

46 CLAUDE BONET TOOL

MOCCA

Paint Absolute
The links between the bones and the individual points in the mesh will be saved by Claude Bonet as weighting information
within the points themselves. Normally, if you paint weighting with a strength of 20%, for example, each brush stroke will
add another 20% to the area. By holding down the Ctrl key while you paint, you can erase the weights.
Paint Absolute will disable the above behavior. You’ll then paint with the absolute Strength value only.

Force Shading
Normally, if you paint the weighting in, say, the Lines display mode, it can be difficult to weight the bones by eye. At best
the only weighting information you’ll see in the viewport will be colored lines and points. To make your work easier, enable
this option. Quick Shading will then be used.

Force Shading enabled (top) and disabled (bottom).

Set Reference

With this command, you can apply the same Claude Bonet weight to
multiple bones. This helps you to quickly set the weighting for similar
bones such as the finger bones of a hand.

MOCCA

CLAUDE BONET TOOL 47

It’s not absolutely necessary to assign all joints of a bone chain a separate weighting for the mesh. Particularly in areas where
a lot of bones control a small section, such as hands, it may be easier to simply apply the same Claude Bonet weights to all
fingers. In this case, you can set a reference weight for the first finger and reuse it for the following fingers.
This is precisely what Set Reference is implemented for. Select a bone and click this button. If you haven’t set any weights
yet, the button will have no effect. Otherwise, a list will pop up; choose the bone whose weighting information you want
to apply to the selected bone and click OK.

Strength
This is where you set the strength with which you paint. A value of 50%, for example, would allow the bone to have limited
influence on the mesh. The strength is added relatively; if you paint weighting with a strength of 20%, for example, each
brush stroke will add another 20% to the area. Enabling the Paint Absolute option turns off this relative mode and allows
you to paint with an absolute Strength value.

Set Value
This button sets the current weighting strength for the selected bone across the entire area of the assigned geometry. If you
select a character’s hip bone, for example, define a strength of 100% and click Set Value. This gives the bone full influence
over the entire geometry of the volume. This is a quick way of painting the weights across the whole chain.

Before using Set Value (left) and after (right) with Strength set to 100%.

Radius
The Radius defines the size of the brush with which you paint the weights. Experiment with the radius.

Remove Paint (This Bone)
Erases the weighting of the selected bone. You can use this function if the weighting is bad and you want to start again
instead of reworking the bad map.

MOCCA

By holding down the Ctrl key while you paint, you can erase the weighting.

48 CLAUDE BONET TOOL

MOCCA

Remove Paint (Hierarchy)
Removes the weighting of the selected bone hierarchy, from the active bone down to the last bone of the chain. If you
have to completely rebuild and re-weight a character’s arm, for example, it can make sense to keep the bones and simply
reapply the weighting to all.

Remove Paint (Scene)
Removes all weighting for the entire scene. This can be useful if you discover you have painted the character incorrectly and
would rather paint it again from the beginning, or if you want to edit the character entirely including new setups.

Further Usage Advice
When weighting bones with Claude Bonet it is important to know which of the three possible bone parameters you are
working with:
1. Smart Bone disabled.
2. Smart Bone enabled, Absolute Vertex Map disabled.
3. Smart Bone enabled, Absolute Vertex Map enabled.
Each of these properties requires a different method of application of the Claude Bonet tool because each property uses a
different algorithm to deform the mesh with the bones.
1. Smart Bones Disabled
When using bones in the classic CINEMA 4D style (the Smart Bone option was first added in version
8.5) it is important to know that every bone will influence EVERY point of an object even WITHOUT
application of the Claude Bonet tool. Therefore if you forget to paint a bone with Claude Bonet and
you have not assigned a vertex map to the bone, the bone will affect the entire mesh and this can
lead to unwanted deformations. How much the bone affects the mesh will depend on the size of
the bone and how far away it is from the points.
2. Smart Bone Enabled, Absolute Vertex Map Disabled
Generally speaking, the same applies here as with the previously described function: if no maps have
been applied, the bones will influence all points of an object, THE DIFFERENCE BEING that a different
algorithm is used. This algorithm affects substantially fewer points located a greater distance from
the bone. In principle, the Smart Bone option can be added at any time to bones already weighted
with Claude Bonet.
3. Smart Bone Enabled, Absolute Vertex Map Enabled
As mentioned in the CINEMA 4D reference manual, if Absolute Vertex Map is enabled, the maps
alone will control the entire weighting of the bones. This has the advantage that any points that are
not referenced in the map (i.e. points not painted with Claude Bonet) will NOT be deformed by the
bones — each and every point must be accounted for in the maps. In addition, none of the other
parameters such as function or strength can be used for bones within the hierarchy.

MOCCA

CLAUDE BONET TOOL 49

Examples
The difference between using smart bones and normal bones becomes clear when you take a look at the following examples.
For these examples no Claude Bonet maps were used in order to make the differences as clear as possible.
As these examples suggest, you may need a different Claude Bonet weighting when using smart bones than you do when
using normal bones.

MOCCA

Left: Here is an example of a deformation of a simple mesh without Claude
Bonet and without Smart Bone enabled (Function set to 1/r^2).
Right: Here is an example of a deformation of a simple mesh without
Claude Bonet and with Smart Bones enabled (Function set to 1/r^2) but
with Absolute Vertex Map disabled. You can see how the Smart Bone
algorithm deforms the object in a quite different manner to the classic
algorithm (without the Smart Bone function).

Here is an example of a deformation of a simple mesh without Claude
Bonet but with Smart Bone AND Absolute Vertex Map enabled. No
deformation can be seen because no maps have been applied to the
bones.

Additional Comments
The structure of the object is also very important with regard to painting maps. A highly subdivided object will be deformed
differently than an object with fewer subdivisions will.

50 CLAUDE BONET TOOL

The deformation of a cuboid with few subdivisions in a HyperNURBS
object via four bone objects (the polygonal cube was subdivided three
times using the Knife Tool). Each bone was weighted using Claude Bonet,
where the weighting overlaps the segments (right).

The deformation of a cuboid with a few more subdivisions (especially at
the joints) within a HyperNURBS object via four bones. Each bone was
weighted using Claude Bonet, where the weighting overlaps the segments
(right). Because the object contains more subdivisions at the joints, the
outer form will retain its original form more closely than will an object
with fewer subdivisions.
This does, though, require more work when painting the weighting onto
the mesh.

MOCCA

7 Cappuccino Tool

MOCCA

CAPPUCCINO TOOL 53

MOCCA

54 CAPPUCCINO TOOL

MOCCA

Cappuccino Tool
Cappuccino is MOCCA’s integrated motion capture tool. It enables you to create lifelike motion for your characters, from a
head nodding in agreement to a gecko catching a fly with its tongue.

With Cappuccino you can quickly create all kinds of realistic movements for your 3D characters and models, simply by
recording mouse movements.
Cappuccino is MOCCA’s integrated motion capture tool. Take an object, activate the function and drag it
around the viewport. All movements of your mouse will be captured and recorded frame-by-frame in the
object’s animation track.
Cappuccino is good for setting so-called secondary motions such as the movement of pigtails which you
really don’t want to animate manually. Furthermore, you can more easily animate vehicles using the top
view or move planes or birds across the sky.
Cappuccino produces a large amount of unnecessary keys since it sets a key at every frame of the animation.
It is generally a good idea to apply the Key Reducer after using Cappuccino.
To select the Cappuccino tool, choose Plugins > MOCCA > Cappuccino or click the Cappuccino icon, shown
above, which you’ll find on the MOCCA Icon Palette.
The Cappuccino dialog will open.

Cappuccino Dialog Settings

Capture your mouse movements using the options and commands in this
dialog, which opens when you choose the Cappuccino command.

MOCCA

CAPPUCCINO TOOL 55

Action Window

Here you will find the buttons for recording the keyframes in different ways.

Single Keyframe
This will record keys for the selected object(s) at the current Timeline position and according to the Where and What
selections within the dialog. Simply select an object, or objects, and click Single Keyframe.

Start Realtime
This button prepares MOCCA for multiple-keyframe recording. It tells MOCCA to start recording as soon as the mouse
button is pressed within the viewport and stop when it is released again.
Look at the Timeline: when you first press the mouse button in the viewport, the Timeline pointer will start running and
then stop abruptly when you release the button. MOCCA will record a key for each frame of the animation. By default, in
PAL mode, this will result in 25 keys per second; in NTSC mode, 30 frames per second. Use the KeyReducer tool to reduce
the number of keyframes if necessary.
Here, ‘second’ does not represent a real-time second, i.e. the actual time the object takes to move. This is also dependent
upon the speed of your processor and the scene’s complexity. A simple cube in an empty environment will behave differently
than a complex model of a car in a city landscape!
It’s important to keep these factors in mind and to deactivate objects that aren’t needed for the recording in order to free up
some of your computer’s performance if necessary. Another possibility is to work with proxy objects; for example, in the case
of animating a car, you could animate a cube in place of the car and then transfer the animation from the cube to the car.

Stop Realtime
Think of this as that ‘Quiet: Live Recording’ sign that you see in recording studios. Its sole purpose is to indicate when
the recording has finished. When you’re not recording, this button is appears ‘pressed’. During recording, it appears
‘unpressed’.

The Stop button during the recording (left) and after (right).

MOCCA

This button describes the same functionality as the record button on the Timeline. Having the function available directly in
the Cappuccino dialog is more convenient in case the Timeline is not visible for whatever reason. It is by all means conceivable
that one could mix automatic keyframes and manually set keyframes using Cappuccino.

56 CAPPUCCINO TOOL

MOCCA

When pane

Here you can define the time frame for the recording or choose to simply get going without being tied down to a specific
time frame.

Range, From, To
Use this drop-down list to choose one of four different settings that limit the range of the recording.


Document

This option uses the project settings of CINEMA 4D (Edit > Project Settings), where you can set
the frame rate (frames per second) as well as he total number of frames in the Timeline. If, say, the
project settings are set to a range of 0 to 90 frames and this option is selected, MOCCA will only
record 91 frames and no more.


Preview

With Preview selected, the preview range in the Timeline will be
used to determine the extent of the recording.

Here, the Timeline’s preview range will be used. For example, if the preview range markers are set
to frames 25 and 50, keys will be recorded from frames 25 to 50 only. This range must be set in the
Timeline first.


Render

This option uses the frame range defined in the render settings on the Output page.


User

When this option is selected, user-defined settings can be entered manually in the Cappuccino dialog.
The recording will take place between the frame numbers you set in the From and To edit boxes.

Start At Current Time
Enabling this option will allow you to choose the starting point of your animation interactively. The current position of the
time slider will define the frame at which recording begins. Simply move the time slider to the frame you want to record
from and start recording.

MOCCA

CAPPUCCINO TOOL 57

Rewind Time
This will rewind the time slider to its initial starting point once the recording has stopped. If you are not hapy with the
results of the recording, or just want to practice the movements, you can press the Start Realtime button once more and
overwrite the previously recorded animation, frame for frame.
When you rewind and click Start Realtime again, existing keyframes will be overwritten, NOT deleted. For example, if you
have previously captured frames 0 – 200 of your animation and only capture frames 0 –100 the second time around, frames
101 – 200 from the first time will be preserved. This can be useful if, say, you’ve recorded some animation and you’re happy
with the end of the recorded animation but you want to change the start — simply rewind and re-record over the frames
that you want to change. Be careful not to record over the ‘good’ part as well!

Where Window
MOCCA

Here you can choose which objects are to be recorded. If you just want to animate certain objects in the scene, you can
assign them to a specific layer in the Timeline. Then choose that layer here and Cappuccino will be unable to record keys if
you select an object that is not part of the chosen layer.
Keep in mind that each object you drag into the Timeline without assigning it a specific layer will automatically be part of
layer 1. If you haven’t assigned objects to any other layer, you can just keep on working with layer 1 for your animation.

Layer
This drop-down list gives you a choice of layers, corresponding to the layer system in the Timeline. If objects are assigned
to specific layers, this option enables you to lock or unlock object groups for recording, as described above.

Use Existing Sequences
If objects within a layer already have sequences, these will be used for recording when you enable this option. This also
means that keys can be written only where a sequence is present. Disabling this option will cause MOCCA to extend the
sequence to cover the entire recording time.
Suppose you’ve defined that, from one frame to another frame, an object should move from one point to another point;
this object therefore already has a sequence in the Timeline for this motion. Now you want to animate another object using
Cappuccino and you want this object to only move at the same time as the first object. You can either look in the Timeline
to see which frames must be used or you can use the Use Existing Sequences option to narrow down the time frame for
the movement.

58 CAPPUCCINO TOOL

MOCCA

What Window

The only remaining factor that Cappuccino needs to know is what to record, meaning what type of animation. Here you
will find the following options:

Position
Lets you record the changes in position of an object, enable this option. Position tracks will be created in the Timeline.

Scale
Lets you record changes in an object’s scaling. Scale tracks will be created in the Timeline for the selected object.

Rotation
Lets you record an object’s rotation over time. Rotation tracks will be created in the Timeline for the selected object.

PLA
Point level animation of a polygon object will be recorded with this option enabled. PLA tracks can be created with the
help of the magnet tool.

Hierarchy
In this case, not only the selected object and its predefined tracks will be keyframed, but also those of its child objects.

Selection
This drop-down list gives you a choice of two ways of object selection.
If you want to record keys for only one object, select Object manager in this list; you won’t be able to record keys for multiselected objects in this mode.
If you choose Timeline, however, you can select several objects simultaneously in the Timeline and record keys for all of
them. Remember that, if the Timeline is in manual mode, it may not show all the objects that you want to record.

MOCCA

CAPPUCCINO TOOL 59

Object Manager
The object that is selected in the Object manager will be used for recording. Simultaneous recording of several objects is
not possible here.

Timeline
The objects that are selected in the Timeline will be used for recording. Simultaneous recording of multiple objects is
possible. In other words, selecting one or more separate objects in the Timeline will enable you to record the movements
or deformations for all selected objects.

MOCCA

8 KeyReducer Tool

MOCCA

KEYREDUCER TOOL 61

MOCCA

62 KEYREDUCER TOOL

MOCCA

KeyReducer Tool
Motion captured tracks often have more keys than are necessary, making them difficult to edit. Using the KeyReducer tool,
you can quickly reduce the number of keys without losing the ones that matter.

KeyReducer is an invaluable tool when it comes to cleaning up motion capture tracks such as those created using MOCCA’s
Cappuccino tool. Most motion capture systems write a key per frame to ensure that all important data is captured. However,
this process usually generates many more keys than are necessary. When you need to edit these tracks, it can be extremely
difficult to tell what events happen at what time.
In such cases, you can remove the unnecessary keys using the KeyReducer tool. It reduces the number of keys used by the
selected tracks intelligently, keeping the important keys while removing those that are not required.
To select the KeyReducer tool, choose Plugins > MOCCA > KeyReducer or click its icon on the MOCCA palette.

Before using the KeyReducer tool (top) and after (bottom).

KeyReducer Dialog Settings

Reduce the number of keys using the Reduction slider in the KeyReducer
dialog, which opens when you select the KeyReducer tool.

Reduction
This slider controls the strength of key reduction for the selected tracks. To test this, use Cappuccino to capture the
movements of a Cube object in the viewport. Select the tracks in the Timeline. Now select the KeyReducer tool, drag the
handle and watch the keys disappear!

MOCCA

KEYREDUCER TOOL 63

As soon as you release the slider it will jump back to 0%. If you’re not satisfied with the result, simply move the slider again
or select Undo (Action) from the Edit menu.

Boost
If you reduce keys without the Boost option, you’ll still notice some unnecessary keys. These are mostly keys that fall between
the ups and downs of a curve. The Boost option eliminates these keys while still maintaining the peaks and overall shape of
the curve. Note that boosted reductions will remove the vast majority of keys within the first few positions of the slider.

Boost disabled (left) and enabled (right). Boost removes many keys while
still preserving the general shape of the curve.

The KeyReducer is especially useful when editing tracks captured using the Cappuccino tool. This is because Cappuccino
usually records many more keys than you need.
More care is needed, however, when you are using KeyReducer with motion data that has not come from Cappuccino. Simply
adjusting all tracks at once will practically never give you your desired result. It will most likely result in your bone skeleton
self-destructing because the KeyReducer views each object independently of the other and cannot take dependencies such
as distance between bones into consideration. Therefore you should deal with the tracks one by one.

MOCCA

Before applying the KeyReduction tool to the cube’s tracks (left) and
after (right).

9 TimeWarp Tool

MOCCA

TIMEWARP TOOL 65

MOCCA

66 TIMEWARP TOOL

MOCCA

TimeWarp Tool
Using this tool, you can quickly find a specific frame in an animation.

TimeWarp is your personal time machine. You might find it helpful to think of TimeWarp as a multiple frame jump dial on
your VCR when you’re skipping through a film scene that might be hundreds of frames long. Normally, it is very difficult to
find a specific frame in a scene but TimeWarp will do this for you, without you having to drag any sliders.
To use the TimeWarp tool, hold down the ‘J’ key and, in the viewport, drag left or right to move backwards or forwards
respectively in time. You can travel more slowly through the animation by holding down Ctrl at the same time.
You can also access the TimeWarp tool from the Plugins > Mocca sub-menu or by selecting its icon from the MOCCA
palette. In this case, there is no need to hold down the ‘J’ key — simply drag left or right in the viewport to step backwards
or forwards in time.
In addition, and most importantly, a Step setting is available in the Attribute Manager. This differentiates the TimeWarp
tool from the time slider.
The TimeWarp function lets you switch between frames much faster than you can using the Timeline.
This lets you check your animation much more quickly. Depending on the complexity of your scene
you can play sequences faster via TimeWarp than you can using the Timeline!

Attribute manager settings

The Step value determines how far you need to drag the mouse in order
to advance or rewind the animation by one time unit.

Step
This is where you set the relationship between length of mouse movement and time. A higher step value means less
movement of the mouse is required to reach the desired point in time. But be careful: the higher the step value, the more
difficult it will be to stop at a specific frame.

MOCCA

TIMEWARP TOOL 67

MOCCA

10 PoseMixer Tag

MOCCA

POSEMIXER TAG 69

MOCCA

70 POSEMIXER TAG

MOCCA

PoseMixer Tag
You can easily morph objects from one shape to another using this tool. It is especially useful for animating a character’s
mouth, where each mouth shape is a separate morph pose.

A default pose for eyes open (left) and a pose for eyes shut (right) suitable
for allowing you to quickly control the opening and closing of the eyes.

The PoseMixer tag is a morphing tool. Simply put, morphing is the transition of one form to another. The PoseMixer uses
deformed duplicates of an object to do this. PoseMixer works just like an audio mixer or synthesizer. The duplicates, called
poses, are like the inputs of the mixer desk. They will be assigned to the PoseMixer tag.
All you need now is the output, i.e. the object that will be morphed by the poses; this is called the destination object. You
can use the original object that the poses were duplicated from as the destination object.
PoseMixer is especially useful for animating faces — mouths in particular. The most important vowels can be assigned as
duplicates to the PoseMixer. By mixing all of them, to lesser or greater degrees, you can create virtually any mouth form
and animate it. PoseMixer also works with objects, bones, splines and points. Animated objects can also be mixed with
each other.
To add a PoserMixer tag to an object, select the object and in the Object manager choose File > Mocca Tags > PoseMixer.
Here is a typical example of a PoseMixer application using a character’s head. In the default pose (left) the character’s eyes
are open. The head was then duplicated and the eyes were manually closed using modeling tools (right). This ‘closed eyes’
object was then assigned to the PoseMixer tag as a pose. This will allow the character’s eyes to be opened and closed by
moving the tag’s slider for the pose.

MOCCA

POSEMIXER TAG 71

PoseMixer offers you the advantage that you can move between poses smoothly and new in-between poses will be
generated. The eyes should only open halfway? No problem! Simply move the slider to 50% and the eyes will be half-open.
With the endless pose mixing possibilities you can create complex animation for faces in the “blink of an eye”.
PoseMixer allows you to control objects, bones, splines and points. For example, you can define entire bone hierarchies as
poses and use these to animate hand gestures and positions.

New in-between poses can be generated quickly, simply by dragging the
slider for the pose!

Example of PoserMixer applied to a bone hierarchy. By defining a default pose for the hand open and a morph pose for the
hand clenched into a fist, you can smoothly open and close the hand by dragging the slider for the clenched fist morph
pose.
Note to users of previous versions of MOCCA
PoseMixer has been completely reworked for the new release of MOCCA. Contrary to the previous version, PoseMixer is now
a tag, NOT a separate object. This improves PoseMixer’s functionality and makes it easier to work with.

MOCCA

New in-between poses can be generated quickly, simply by dragging
the slider.

72 POSEMIXER TAG

MOCCA

When using PoseMixer to mix autonomous states you can position it to basically any object without having to take the
position of the other objects into consideration since it is not bound by hierarchies.
For the sake of compatibility, though, the old PoseMixer object is still available in CINEMA 4D and will be used when loading
older scenes that use the object. An automatic conversion to the PoseMixer tag is unfortunately not possible due to the
tag’s new inner workings.

Attribute Manager Settings

Add and record poses using these settings, which appear in the Attribute
manager when the PoseMixer tag is selected.

Record All
This button sets keyframes at the current time for the present mix of poses. For example, if you have mixed three different
poses and use Record, PoseMixer won’t just set a single key. Instead it records a separate key for each pose track, containing
the necessary amount of each pose for the resulting shape. Therefore Record makes it extremely easy to build entire
animations without having to worry about a multitude of objects.

Add Pose
Add Pose will add a new mixing track, so to speak. A new box appears into which you can drag the pose from the Object
Manager. Next to the box you’ll find a slider which controls the strength of the pose’s influence on the final mix.

Reset Sliders
This button resets all pose sliders back to 0%.

Position
You can prevent PoseMixer from changing the destination object’s position by disabling this option. This is especially
important for animating faces, for example, which generally use a different object for each expression. Previous versions of
MOCCA required you to create objects each with the exact same coordinates or simulate this with Null objects. This is no
longer necessary with the new version of MOCCA.
If, however, you want PoseMixer to assign the various positions of the objects to the destination object, enable this
option.

MOCCA

POSEMIXER TAG 73

Scale
If the objects you’ve assigned as poses are different scales, you can transfer these differences in Scale to the destination
object by enabling this option.
Note here that ‘scale’ refers to the scale values of the objects as displayed in the Coordinate Manager when the Coordinate
Manager’s middle drop-down list is set to Scale. This means, for example, that the option will have no effect at all if the
pose objects are different sizes but have the same Scale values! In such cases, enable the Points option instead if you want
the differences in size to be transferred to the destination object.
For more information on the scale values in the Coordinate Manager, please consult your CINEMA 4D reference manual.

Rotation

Points
The Points option compares the geometry data of the objects with one another and passes this information to the
destination object. This option is necessary, for example, for the animated faces already mentioned where the positions of
the points will vary from one pose to the next.

Exclude Parent
Sometimes it makes sense to group the pose objects together as children of a Null Object. However, this can change the
object coordinates for the pose objects. In such cases, it would make sense for PoseMixer to ignore the parent Null.
That’s exactly what the Exclude Parent option is designed to do. Enable the option if you want PoseMixer to ignore the
parent Null.

Destination
You can apply the PoseMixer tag to any object in your scene; it doesn’t have to be applied to the destination object (the
object that will be morphed by the poses). The choice is entirely up to you.
Because you have this freedom to choose which object to add the tag to, you need to let MOCCA know which object you
want to use as the destination object.
To choose the destination object, drag and drop the desired object from the Object Manager into the Destination box.

Default Pose
This is where you drag and drop the default pose, which serves as a reference for the other poses. MOCCA needs a default
pose to compare its rest state with the deformations of the other poses and then apply whatever differences it finds to the
destination object. Therefor we recommend using a neutral position of the object for the default pose.v

MOCCA

Enable this option if the pose objects are at different rotations and you want these differences in rotation to be transferred
to the destination object.

11 P2P Library and Manager

MOCCA

P2P LIBRARY AND MANAGER 75

MOCCA

76 P2P LIBRARY AND MANAGER

MOCCA

P2P Library and Manager
Collect and manage poses for your animation with these useful tools.

The abbreviation ‘P2P’ stands for ‘Pose to Pose’ and simply describes a process of animation that moves from one predefined
pose to the next. The P2P library serves as the archive for these poses. Before you can start adding poses to a P2P library,
you need to add a P2P Library object to the Object manager; to do this either select Plugins > MOCCA > P2P Library or click
on the Add P2P Library Object icon on the MOCCA palette.
Double-clicking the P2P library icon in the Object manager will open the P2P manager, which enables you to collect the
different poses. You can also open the P2P manager for the selected P2P library object by selecting Plugins > MOCCA >
P2P Manager.
We recommend that you define a reference, or neutral, position of your character as the first object in the P2P manager.
To do this, just drag and drop the character’s name from the Object manager into the empty space in the P2P manager.
After you let go of the mouse button, a rendered thumbnail appears in the manager window (this may take a few seconds,
depending on the geometry of your object). You can now repeat this process to add as many poses as you need to the P2P
manager.
After you’ve collected all the necessary poses, drag the P2P library onto the destination character that will be morphed by
the poses (again, it is recommended that you use a neutral pose of this character for this destination object). This works
similarly to PoseMixer and motion blending. Please note that you shouldn’t drag the library onto the destination object
beforehand; dragging the library (within an object) into the P2P manager could lead to recursion.

Pose2Pose Manager Settings

The P2P manager is where you collect all the poses that you want to store
in the P2P library.

MOCCA

P2P LIBRARY AND MANAGER 77

Record
Record will place a key for the selected pose at the current position in the Timeline. This key will not be placed on the
destination character’s track, but on the P2P library object’s Pose track. If the P2P library object is not visible in the Timeline,
you can add it to the Timeline display by dragging its name from the Object manager to the Timeline (note that this will
create a new manual selection in the Timeline - see the Timeline chapter in your CINEMA 4D reference manual for more
details).

Geometry
If you use elements, such as deformers, that deform the actual geometry of an object, within the P2P library, you need to
select this option. Otherwise, MOCCA will not recognize these deformations. This enables you to work with deformers,
points and even bones as elements of the pose.

Test temporarily applies the selected pose in the P2P manager to the destination object; if no pose is selected, Test is grayed
out. Test enables you to quickly check the pose before recording it in your animation. This makes sense, especially for very
intricate poses such as a face, where the thumbnails might not be enough to check the detail.

Edit
This command enables you to edit the poses in the P2P manager. It places a copy of the selected pose in the scene; by
default, this pose does not contain the full geometry, only nulls as placeholders for the position of the character’s parts.
Enabling the Geometry option will copy the entire geometry instead of the nulls. At this point you can edit the pose and
then replace the original pose by clicking the Sync button. You can also drag the updated pose back into the P2P manager
to create a new version.

Sync
Sync synchronizes poses in the P2P manager with the reference object in the scene. Select a pose from the manager first.
Suppose that this pose was a bit stiff and you wanted to modify it in the viewport. Edit the pose while having the pose
selected both in the P2P manager and in the Object manager and then click on Sync. The selected pose in the P2P manager
will be overwritten with the modified version. Afterwards, you can use the modified pose just like any other.

Remove
Clicking this button will delete the selected pose or folder from the P2P manager’s list.

Add Folder
Click this button to add a folder inside the P2P manager’s window, into which you can drag objects (poses) from within the
P2P manager or directly from the Object manager.
The folder will be named ‘Libn’, by default, where ‘n’ is a number that increases as you add folders. Naturally, you can always
rename a folder by double-clicking its name, typing the new name into the dialog that opens and clicking OK.

MOCCA

Test

78 P2P LIBRARY AND MANAGER

MOCCA

Attribute Manager Settings
Key Properties

Set the parameters for each key on a Pose track in this dialog.

When you select a key on the Pose track of a P2P library object, you will see the following Key Properties in the Attribute
manager.

Name
Here you can rename the pose, making it easier to document and organize your animation. Note that the naming of the
pose in the P2P manager and the key in the Attribute manager do not have to match, nor will this break the link. Name is
designed to make organization more flexible.

Time
This gives the current time of the selected key in the Pose track. To change this, you can either enter a number or simply
drag the key along the Pose track in the Timeline.

Link
This is the name of the pose to which the key is assigned. If you want a different pose to replace this one at the current time,
select that pose and click Record in the P2P manager to overwrite the old pose and key in the Timeline.

Bias
Bias modifies the transition between the selected key and the next key on the Pose track. A bias of 0% creates a linear
interpolation between both keys. A lower or higher value will create a sloped curve between the selected key and the next
key. To see the shape of the curve, click on the boxed ‘+’ icon next to the Pose track in the Timeline. This will open the pose
curve display.

EasyEase
EasyEase will create an S-shaped curve for smooth in and out transition of the animation.

MOCCA

P2P LIBRARY AND MANAGER 79

EasyEase creates a smooth in and out transition.

When you loop a Pose track within a Timeline sequence, copies of the sequence will be placed one behind the other in
the Timeline. This could lead to hard breaks between each sequence. Enabling the Smooth function will smooth out this
transition and is similar to the Soft setting of the sequence interpolation.

MOCCA

Smooth

12 Quaternion Tag

MOCCA

QUATERNION TAG 81

MOCCA

82 QUATERNION TAG

MOCCA

Quaternion Tag
The dreaded problem of gimbal lock becomes a thing of the past when you use this powerful tag.

Surely you have already heard of the dreaded ‘gimbal lock’ in connection with character animation. Or worse, you’ve already
experienced it.
Now Quaternion has stepped up to the plate!
CINEMA 4D uses Euler angles by default to interpolate the rotation of bones.
The individual components of the Eular angles are interpolated independently of one another. For example, the value midway
between HPB (0,0,0) and HPB (60,60,60) would be HPB (30,30,30).
The path from (0,0,0) over (30,30,30) to (60,60,60) is not exactly the shortest. You can test this in the viewport yourself.
What we want is the shortest possible interpolation, which any user would attempt to do manually.
This is where quaternions come in; quaternion interpolation achieves a much shorter, smoother interpolation between the
keyframes and manages to avoid the problem of gimbal lock. The quaternion path in the example will lead from 0,0,0 to
60,60,60 via 35.104, 22.83, 25.104.
You are probably wondering why a Quaternion tag isn’t simply applied to all bones! Easy – every advantage also has a
disadvantage, and here the Quaternion tag is no exception. As long as a rotation is not altered by more than 180 degrees,
Quaternion can work its magic. But anything beyond 180 degrees will cause problems because, as already mentioned,
Quaternion will strive to find the shortest path.
Let’s take an example: Suppose you want to rotate an object around an axis by more than 180 degrees.

The rotation of the object at the start of the animation (left) and at the
end (right).

MOCCA

QUATERNION TAG 83

To do this, you would record a key at frame 0 with the object in its starting rotation, move the time slider to the frame,
rotate the object as desired and record another key. The rotation of the object at the start and end of the animation is
shown in the images above.
So far so good. Now let’s take a look at what happens to the path taken by the rotation animation if it is interpolated in
the traditional way, i.e. using Euler angles. Suppose you have keyframed the object to rotate around P by –185°. The object
will rotate, from the point of view of the camera, through 185 degrees clockwise (see left image below).

MOCCA

Interpolation with Euler angles (left) and quaternion interpolation
(right).

Now let’s look at the way Quaternion behaves. As you know, this method of interpolation searches for the shortest possible
path. The shortest path, though, is not (from the point of view of the observer) clockwise 185 degrees but counterclockwise
175 degrees. See the right image above.

Attribute Manager Settings

Interpolation
You can choose from three types of interpolation for the quaternion: Linear, Spline and Losch. The differences between the
algorithms are demonstrated in the following example: A sphere should rotate from H,P,B (0,0,0) to H,P,B (45,35,-20) over
a period of 50 frames. A red marker was placed onto the sphere to clarify the path taken by the rotation.

84 QUATERNION TAG

MOCCA

The sphere prior to animation (left) and there sphere’s start and end
angles for the rotation animation (right).

In the images above, the left image shows the sphere with the red marker prior to animation. The right image shows the
start and end angles — ‘A’ and ‘B’ respectively — for the sphere’s rotation.
The following pictures demonstrate the paths taken by the sphere, where the distance between each red marker corresponds
to five frames.

Interpolation with Euler angles (left) and quaternion interpolation
(right).

The left image shows the path taken by the sphere if it doesn’t have a Quaternion tag; notice how the red markers are
bunched up near the end — this is a result of the H,P and B values operating completely independently of one another.
The Quaternion (linear) interpolation (right image) looks very different. Here the gap between each red counter is equal
and the path is a smooth, even curve.

MOCCA

QUATERNION TAG 85

These images show the path taken by the sphere with the two other types of interpolation.

So when should you use Quaternion tags?
When you are working with characters it makes sense to use Quaternion tags for all joints that probably won’t be rotated
by more than 180 degrees around any axis between two keyframes. So typically, these are joints that in real life cannot be
rotated through more than 180 degrees such as the knee.

MOCCA

The two other types of quaternion interpolation (right).

13 Motion Blending

MOCCA

MOTION BLENDING 87

MOCCA

88 MOTION BLENDING

MOCCA

Motion Blending
MOCCA’s advanced motion blending allows you to easily combine multiple separate motions into one smooth, continuous
action.

Motion blending is the successor to the MoMix object from previous versions of MOCCA. Because Motion Blend is not an
object but a Timeline function, it is much more flexible than the old MoMix object it has replaced.
Motion Blend lets you animate a character’s various movements of independently of one another. Later, you can set them
up sequentially and let MOCCA calculate the transitions between them. This can be compared to working with a non-linear
editing system.
Suppose you want to animate a character that goes from a walk into a handstand into a cartwheel. In previous versions
of CINEMA 4D, before MOCCA was available, you would have had to do the transitions between the three motions in one
of two ways: either by hand, which would require a great deal of effort, or by using Motion Sequencing, which would still
require considerable effort.
With this latest version of MOCCA, you can blend motions with the flick of a wrist. You can animate the various motions
(walking, doing a handstand, doing a cartwheel...) separately — even as different scene files if you wish — and use motion
blending to mix them.
Maybe you’re using motion capture data? No problem. Because MOCCA supports FBX you have access to Kaydara’s popular
exchange format – practically an industry standard.
Whether manually animated or animated via motion capture, you can acquire a database of movements and simply mix
them whenever you need them using Motion Blend.
In connection with the Retarget feature you can transfer movements created for one character to a completely different
character — even if they are different sizes and have completely different builds such as athletic and obese.

Testing Motion Blending
Step 1
Create two motions or load two motion capture files (BVH or FBX, for example). Create a Null object and make the motions
children of the Null. In the Object manager, keep clicking the Null‘s top visibility dot until it turns red, in order to hide the
Null in the viewport. Now set the Null’s bottom visibilty dot to red in order to hide the null in the renderer.
Using a Null object in this way allows you to build up a library of motions that you can dip in to as and when you need
them.


Step 2

Add a destination object without animation if you don’t already have one (ideally its bone hierarchy
should match that of the motions).

MOTION BLENDING 89

MOCCA



Step 3

Select the destination object and choose Plugins > MOCCA > Setup Motion Blend Tracks. Three new
tracks will be created in the Timeline: two for motion and one for the transition.


Step 4

Add a sequence to each track. For each motion sequence, drag and drop the motion you want to
assign to the sequence into the Motion box in the Attribute manager.

The transition sequence will be assigned a linear curve automatically.


Step 5

This basically completes the Motion Blend setup. You will probably notice, though, that your character
will stutter a bit at the transition between the two motions. This is because the motions don’t match
100% at the seam. You can adjust the global position and rotation data of the objects using the
Attribute manager settings for the motion sequences.

You can adjust the position and rotation using the Attribute
manager settings for the sequences.

Tip
Move the timeslider to approximately the middle of the transition sequence. This will make it easier
to adjust the coordinates.

Setup Motion Blend Tracks
This command, which is on the Plugins > MOCCA sub-menu, creates the tracks that are necessary for motion blending. In
general, you should select the top-most object in the destination’s hierarchy before calling up the command.
The command will assign three empty tracks to the selected object: Motion A, Transition and Motion B.

MOCCA

A linear curve will be assigned to the transition sequence
automatically.

90 MOTION BLENDING

MOCCA

These tracks are created automatically when you choose Setup Motion
Blend Tracks.

Add a sequence to each of these tracks. The reason why the sequences are not created automatically is that by manually
creating them yourself you can directly set them to the required positions and lengths.
To create a sequence, right-click (Windows) or Command-click (Mac OS) on the track and choose New Sequence. Use the
dialog that opens to set the sequence to the desired position.
Initially, the motion sequences will display a question mark; this indicates that a motion is not yet assigned to the
sequence.

A question mark indicates that a motion is not assigned.

The dark gray bar at the top of the sequence shows the length of the original animation. The following example illustrates
a motion that has been repeated. This lengthens the sequence but you can still tell how long the original animation is,
without repeats, via the dark gray bar.

A repeated motion.

Motion A
This is where you define the first motion that will be transferred to your character. This motion will be blended into a second
motion: Motion B.

Transition
The transition sequence allows you to define when and how the two motions should be mixed.
If the transition currently makes no sense, MOCCA will display a question mark on the sequence.

A question mark indicates that the transition makes no sense.

MOCCA

MOTION BLENDING 91

You can set up the transition sequence in many different ways. The most popular methods are:

The most popular set-ups for the transition sequence.

Motion B

In the Timeline, the usual convention when two sequences overlap is that the top-most one will overwrite the other
one. With motion blending, however, it’s the other way around: in overlapping areas the bottom motion sequence will
overwrite the top motion sequence (unless, of course, you’ve used the transition sequence to control the mixing between
the motions).

Show Transitions
You’ll find this command on the Plugins > MOCCA sub-menu. It controls whether transitions are displayed in the viewport.
You can also switch off transitions locally using the Attribute Manager settings for the sequences.

Show Transitions disabled (left) and enabled (right).

Transitions displayed in the viewport should act as a guide to help you set and fine-tune the motion sequences, i.e. how
a motion starts and how it ends. These will appear as ghosts that point out the starting and ending position of the bone
structure. If you find the ghosts annoying, or if you’re done using them, disable the option to switch them off.

MOCCA

This is where you define the second motion that will be transferred to your character. The first motion, Motion A, will blend
into this second motion.

92 MOTION BLENDING

MOCCA

Attribute Manager Settings
Motion Blend Properties

The Attribute manager settings on the Motion Blend Properties tab of a
selected motion sequence.

Motion
Drag and drop the object that contains the motion you want to assign to the motion sequence Into this box.

Color
The Color option lets you change the color of the transition displayed in the viewport and the text color of the sequence
in the Timeline.

Show Transition
Here you can choose whether the transition should be displayed a given motion. You can also switch transitions on or off
globally using the Show Transitions command on the Plugins > MOCCA submenu.

Additive Loops
If this option is enabled and loops have been set in the Sequence Properties, MOCCA will not only repeat the motion, it will
“string” the loops together to form a continuous animation.
For example, suppose that your character has a motion in which she takes four steps forwards and you want to loop this
motion so she keeps on moving forward many steps instead of just four.

MOCCA

MOTION BLENDING 93

The problem with a normal — i.e. non-additive — loop here is that when the character has reached the fourth step and the
loop kicks in, her position will jump all the way back to where she was for her very first step. She’d keep walking four steps
forwards and then jump all the way back to the start before walking the same four steps again.
Not so with additive loops. After taking her fourth step, the next loop will carry her forward another four steps instead of
putting her back to square one.

Left Trim, Right Trim, Auto Trim
Trimming is a kind of mask mode for motion blending.
Suppose you have two motions. In one of the motions the character is walking and in the other motion the character is
running and every now and then jumps.

Trimming allows you to mask out parts of a motion (the areas with a thick,
dark gray bar).

The Auto Trim feature will mask off all parts of the motion except the part that fits the transition sequence. The masked
parts are indicated by a thick dark gray bar that sits on the bottom of the sequence.
Left Trim and Right Trim allow you to manually adjust which parts of the motion are masked.

Position, Rotation

These values allow you to smooth the transition.

Here you can adjust the position and rotation data for the motion sequence in order to smooth the transition.

Auto Match
In order to blend two motions, the end of the first motion needs to match (more or less!) the start of the second motion.

MOCCA

Now you want to create a motion in which the character walks, jumps then continues walking again. You need to pluck
out a jump from the Run-Jump motion and blend it with the walk motion. You can do this by masking off everything in the
Run-Jump motion except the jump you want. See the image below.

94 MOTION BLENDING

MOCCA

Naturally, it would be difficult to match the end of a walk animation with the beginning of an animation in which the
character is sitting at a table eating dinner! It would be very difficult to find motions in these two animations that are very
similar.
Matching a walking animation to a running animation would, on the other hand, be within the realm of possibilities. Even
so, chances are such a blend the transition will not be completely smooth. Chances are that the character will slide across
the floor slightly, rather like he‘s skating on ice.
In order to avoid this, the motions must be placed in such a manner as to achieve a transition that is as seamless as possible
— the keyframe at the moment the motions are most similar must be found. Of course, this can take quite some time if
done manually. So why not let MOCCA do the work for you?
If Auto Match is enabled, MOCCA will search for matching movements in the two motions and will try to find the most
appropriate time in the animation to transition them. The Auto Match option works closely with the Treeview, which you’ll
find on the sequence’s Detail Properties tab in the Attribute manager.
The Treeview allows you to specify which object Auto Match should concentrate on. For example, you’ll usually get a better
match if you instruct Auto Match via the Treeview to match up the motions based on the position of one of the feet. MOCCA
will then search for a frame where the foot in the first motion and the foot in the second motion are almost in the exact
same position.
See also ‘Treeview’, later in this chapter.

Manual Match
Previously in this chapter we’ve seen that you can adjust the transition from Motion A to Motion B by using the position
and rotation values or by using Auto Match. Manual Match is a combination of these two methods: when you click on the
button it will automatically set the position and rotation values to what MOCCA thinks is the best place for the transition,
and you can then manually fine-tune these values using the position and rotation settings.

Offset
The offset allows you to specify the start of a path animation. The easiest way to do this is via a Null object that is placed
at the position where the animation should start. Drag and drop the Null object into this box.

Pivot
You can control orientation via an additional object using Pivot. In general, use a Null object as the pivot and place the null
in such a way that you can easily control the rotation during the animation by rotating the null.

Path
Here you can define a Spline object as a path along which the animation should move.

MOCCA

MOTION BLENDING 95

Rail
In addition to defining a path along which a character should move (see above), you can also use a rail (a spline with two
paths) to control several directions. This is useful when the character should not simply move over a surface but should
also move up and down.
A good example here is a character walking up and down a hill. One path defines the horizontal motion and the other
defines the vertical motion.

Timing
The Timing allows you to set the speed of the character’s steps or the distance between each step. If the character appears
to slide across the floor, increase or decrease the value as necessary.
The effect of the Timing value largely depends on whether the Estimate option is enabled.

If Estimate is enabled, a Timing value of 100% will correspond to the estimated step distance. See also ‘Estimate’.

Estimate
If a path has been defined along which the character should move, MOCCA won’t automatically recognize how much
distance there should be between each step.
If this option is enabled, MOCCA will estimate the ideal distance for a step based on the length of the path.
If the option is disabled, the Timing value will have a different meaning; with a Timing value of 100%, the character will
move from the start of the path to the end of the path exactly over the length of the animation.
See also ‘Timing’.

Axis
This defines which object axis should be moved tangentially along the path. For example, if a character’s +Z axis should
point in the direction in which the character is running, Axis should be set to +Z. With a setting of -Z, the character would
run backwards.

Resize To Orig. Length
When adding a new sequence, the New Sequence dialog allows you to set the length and position of the sequence. However,
at this stage you may not know how long the motion is that you will be assigning to the sequence.
If, after assigning the motion to the sequence, you click the Reset To Orig. Length button, MOCCA will set the length of the
sequence to the same length as the original motion.

MOCCA

In principle, a Timing value of 100% corresponds to the exact timing of the motion from the start of the path to the end of
path. If you set Timing to a value greater than 100% and Estimate is disabled, the character will travel all the way to the end
of the path and when it gets there it will move on the spot for a while. With a value less than 100%, the character won’t
reach the end of the path.

96 MOTION BLENDING

MOCCA

Detail Properties

The padlock icon defines which part of the character the Auto Match
option should concentrate on.

Padlock icons
If the Auto Match option on the Motion Blending page is enabled, you can use the Treeview to choose which parts of
the character Auto Match should concentrate on (called ‘weighting’) when searching for the most appropriate time in the
animation to blend between motions.
For each object that you want Auto Match to concentrate on, click the object’s right-most checkbox. A padlock icon will
appear in each of these check boxes to indicate that the object is ‘locked’ to Auto Match. To unlock a checkbox, click it
again.
See also the ‘Auto Match’ entry described earlier in this chapter.

Check Marks
In addition to being able to weight certain bones using the padlock icons, you can exclude bones, which tells MOCCA which
bones, if any, to ignore when transferring the motion. All bones without a check mark will be ignored.
For example, suppose you have two animations and you want to take the head movement only from one of the animations
and transfer it to your character. You can exclude all other bones in the Treeview (click the top-most check mark to switch
off all the check marks) and place a check next to the bones you will need — in this case, the head.

Here, MOCCA will transfer the motion of LeftHips_Dummy because it has
a check mark.

MOTION BLENDING 97

MOCCA

Transition Properties

Automatic, Bias In, Bias Out, ...
The Automatic option activates a linear transition. This is represented in the Timeline as a line in the transition sequence
— see the left image below.

MOCCA

If Automatic is enabled, the transition will be linear (left). For non-linear
transitions, such as the right example, disable the Automatic option.

If you disable the Automatic option you will have access to further settings that allow you to change the shape of the
transition curve.
You’ll find details on the following options in your CINEMA 4D reference manual:


Strength



Bias In, Bias Out



Time In, Time Out



Easy-Ease In, Easy-Ease Out

Auto Size
The Auto Size button resizes the transition sequence to neatly cover the overlap between the Motion A and Motion B
sequences. The length of the transition sequence will then automatically run from the beginning of the second motion to
the end of the first motion.

98 MOTION BLENDING

After using Auto Size.

Before using Auto Size.

MOCCA

MOCCA

MOTION BLENDING 99

MOCCA

14 Retarget Tag

MOCCA

RETARGET TAG 101

MOCCA

102 RETARGET TAG

MOCCA

Retarget Tag
With this powerful tag you can easily tranfer motion from one character to another.

The Retarget Tag lets you assign animation data from one character to another even if the characters‘ proportions don’t
match!
You‘ve just animate a dwarf for your client and your client has changed his mind and wants a giant to be animated instead?
No problem. Simply assign the dwarf’s animation to the giant! MOCCA does the re-proportioning for you thanks to the
Retarget tag.

Even though the dwarf on the right is much smaller than the giant, using
the Retarget tag you can tranfer the motion from one character to the
other.

To add a Retarget tag to the selected object(s), in the Object manager, choose File > MOCCA Tags > Retarget.
You need three things to operate motion retargeting:
1. An animated object to act as the source.
2. A target object that has not yet been animated to which the animation will be transferred.
3. A copy of the non-animated object that defines a neutral state for the character (a type of starting
position, often with the arms stretched out in a T-pose).

MOCCA

RETARGET TAG 103

Attribute Manager Settings

Source

Target
Drag and drop the object that should receive the motion (the target object) into this box . Only the highest object in the
hierarchy must be dragged into this box — its child objects will be included in the transfer automatically.

Neutral
Into this box drag and drop the object that defines the neutral state.

Use Hierarchy Instead Of Names
This option, which is enabled by default, makes the Retarget Expression compare the hierarchical structure the of reference
objects (source, target and neutral) including their children.
Objects that are in the same position in the hierarchies — such as the direct child of the top-most object in the hierarchy
— will be assigned to one another and compared. This is assuming that the source, target and neutral reference objects all
have the same hierarchical structure. For example, the hip bone must be in the same position in the hierarchy for all three
reference objects.
If the option is disabled, the Retarget Expression will orient itself according to the names used in the hierarchy. This is useful
when there are differences in the hierarchy between the source object and the target object. One example of this would be
when transferring the animination of a character that has a tail to a character that has no tail. Because a tail does not exist
in the character that is receiving the transferred motion, the tail motion data will be ignored. For this type of transfer to
work, it is essential that you use a naming convention consistently for the characters involved in the transfer. In time, every
animator develops his or her own routine for naming conventions and can make good use of these in order to marry bone
hierarchies, simply by using the naming convention!

MOCCA

Drag and drop the object whose motion you want to transfer (the source object) into this box.

15 Clothilde

MOCCA

CLOTHILDE 105

MOCCA

106 CLOTHILDE

MOCCA

Cloth NURBS
Cloth must be applied to a polygon object. Furthermore, how the polygon object is subdivided will play an important part
in how well the cloth will animate when used with Clothilde.

Cloth must be applied to a polygon object. For realistic cloth, cloth objects should ideally have as high a polygon count as
possible. This will give the cloth engine more points to simulate cloth with and will lead to higher quality results. However,
high polygon counts can result in slow editor playback. One way of avoiding this is to only have high polygon counts at
render time which can be achieved with CINEMA 4D’s HyperNURBS or Cloth NURBS. With either of these tools, a polygonal
mesh can be subdivided to create a smooth looking surface at render time. However, when using HyperNURBS with a cloth
object, there can be unexpected results because the subdivided object does not always meet the control cage’s points. This
can cause the cloth to intersect with the colliding objects when the cloth is subdivided. Cloth NURBS will always meet the
points on the polygonal cage that it is subdividing. The reason this is needed for cloth to be simulated correctly is for the
simple fact that cloth collides very close to its colliding surface. Just using HyperNURBS would allow for the character, or
colliding surface, to penetrate the subdivided cloth.

The arrowheads show which areas could lead to intersection problems
when using HyperNURBS to subdivide the cloth.

In the above image, the arrowheads show the areas where HyperNURBS would cause intersection problems during a
simulation. This is caused by the HyperNURBS object only interpolating, and not meeting, the polygonal cage’s points.

MOCCA

CLOTHILDE 107

The functionality of the Cloth NURBS object is the same as the HyperNURBS object. Place the cloth object as a child of the
Cloth NURBS object and the cloth will be smoothed or more accurately subdivided. To disable the Cloth NURBS object just
click the green check mark next to the object in the Object manager so it becomes a red ‘X’. This completely disables the
Cloth NURBS object from smoothing its child object.

Click the green check mark to disable the Cloth NURBS.

This does not mean that Cloth NURBS and Hyper NURBS can’t be used together. Cloth NURBS ensures that the subdivided
high-resolution mesh meets the points of the cloth object. Placing the Cloth NURBS object as a child of the Hyper NURBS
object can then smooth this even further.

Attrubute Manager Settings

Subdivisions
This field is very similar to the Subdivision settings located in the HyperNURBS object. A value of 1 will subdivide each
polygon of the child object into four smaller polygons, a value of 2 will subdivide each polygon of the child object into
sixteen smaller polygons and so on. The subdivision value will control how smooth the cloth object appears to be. The higher
the number, the slower the playback will be during the cloth simulation, but the nicer the results.

MOCCA

A current limitation of the Cloth NURBS object is that it does not support multiple materials or multiple UVW tags.

108 CLOTHILDE

MOCCA

The original cage object (left) and the cage smoothed with Subdivisions
set to 2.

The previous images show the original polygonal cage that has the Cloth Tag applied to it (left) and the same polygonal
cage with a Cloth NURBS object applied to it using a Subdivision value of 2. The wrinkles and bulges of the cloth become
more defined as the subdivision increases.
Due to the nature of the Cloth NURBS algorithm, wrinkles in the surface become more apparent as the subdivision increases.
This can be used to simulate cloth wrinkles. However, if this is not the desired result, use a Cloth NURBS with a very low
subdivision value inside of a HyperNURBS object; this can produce the same results without the wrinkles.

Factor
This setting will interpolate the surface normals of the polygonal cage or, more accurately, the cloth object. A value of 0%
means that the subdivided surface will not interpolate the surface normals. A value of 100% will interpolate the surface
normals when subdividing the surface.

Factor set to 0% (left), 50% (center) and 100% (right).

Above is an example of how the surface normals are interpolated as the Factor value is increased on the same object.

Limit
At many times during a cloth simulation, two points whose corresponding surface normals are adjacent to each other may
approach each other . At this point the Cloth NURBS will interpolate its subdivided surface through the control cage or cloth
object. The Limit option will prevent this from happening. Take the given situation:


With the Limit option disabled the subdivided surface will pass through the control cage.

CLOTHILDE 109

MOCCA

Limit disabled (top) and enabled (bottom).

With the Limit option enabled, the subdivided surface will not pass through the control cage’s
surface. The direction of the surface normals for the polygonal cage will determine if the Cloth NURBS
is passing through the geometry.


This is another property that separates Cloth NURBS from the HyperNURBS object. By increasing the Thickness setting, the
Cloth NURBS object will generate a form of extrusion to make the cloth look thick. The thickness of the subdivided surface
will be determined by the direction of the surface normals for the control cage. This allows for the control cage to be
modeled without thickness resulting in fewer polygons that need to be calculated during the cloth simulation.

Before reversing the normals (left) and after (right).

The left image shows the Cloth NURBS surface when using a Thickness value of 20. Also, notice that
the normals are facing up the Y-axis, which is defining the direction of the thickness.


The right image shows another Cloth NURBS surface using the Thickness setting. As opposed to
the other image, this one has the surface normals reversed.


Cloth Tag
The Cloth tag identifies an object as a cloth object.

In order to identify an object as a cloth object, its first requirement is that it is a polygon object. Using the Make Editable
command will convert a primitive into a polygon object allowing for it to inherit cloth attributes. This next part of the process
is done by applying a Cloth tag to a polygon object.

MOCCA

Thickness

110 CLOTHILDE

MOCCA

To add a Cloth Tag to an object:


Select the object and in the Object manager, choose File > Clothilde Tags > Cloth.

The object now has cloth-like properties.
The cloth tag icon in the Object Manager is dynamic in the sense that it will change its appearance based on different
settings made in the tag itself. For example, the icon for the tag will change once the simulation has been cached. This clearly
identifies what’s going on with the cloth at any time. Here is a rundown of the different states of the icons:

Initial State

This is the initial state of the Cloth tag icon. This indicates that cloth is ready to be simulated. After a garment has been
draped to a character and an Initial State has been defined, the icon will revert to this blue curtain showing that the object
is ready for simulation.

Dress State

When the icon is displayed as above, the cloth object or garment is in a dress state. This means that the cloth object will
only be allowed to drape to a character or be relaxed from real world forces.

Cached State

After a simulation has been cached, or the calculations have been stored in RAM, the icon will look as shown above. When
the icon is in this state only the cached solution will be played back. This icon will also appear when the Cache Mode option
on the Tag Properties page is enabled.

Engine Disabled State

MOCCA

CLOTHILDE 111

The tag’s icon will also change its appearance when the Cloth Engine option in the Tag Properties tab is disabled. The gray
cloth icon signals that the Cloth Engine option has been disabled.

Attribute Manager Settings
Basic Properties

The only property found on this tab is the name of the tag. This setting defaults to ‘Cloth’, but it can be changed manually
for project organizational purposes.

Tag Properties

The settings found on this tab affect the actual structure of the control cage. This also provides functions that handle the
stored calculations of the cloth simulation.

MOCCA

Basic

112 CLOTHILDE

MOCCA

Cloth Engine
This option turns the cloth simulation on and off. With a checkmark placed in the checkbox for this field, the cloth engine
is live. This turns on the engine, allowing for solutions to be solved for the cloth object.
At many points, when applying clothes to an entire character, certain pieces of cloth don’t need to be simulated and can
slow down the performance. For example: A jacket is being added to a character’s wardrobe. Now, during the simulation
it will need to collide against the shirt during the draping process. The pants wouldn’t need to be a part of this simulation,
so its Cloth Engine option could be disabled.

Stiffness
This parameter controls the overall stiffness of the cloth object. As this value is increased the internal springs will exert more
control over the points of the geometry, giving the cloth a more rigid look.

Stiffness set to 10% (left), 30% (center) and 100% (right).

Springs work much in the same way as those found in Soft Body Dynamics:

Structural springs (left), shear springs (center) and flexion springs
(right).

Stiffness Vertex Map
A vertex map placed into this field will control the effect the “Stiffness” setting will have on the cloth. For example, for any
given point: The “Stiffness” setting is set to 40% and the vertex map has a gradient ranging form 100% to 0%. All points
with an assigned weighting of 100% will then have a stiffness of 40%; any points with an assigned weighting of 50% will
have a resulting stiffness of 20%, and so on.

MOCCA

CLOTHILDE 113

Structural
This will connect each point of the cloth object to its neighboring point with an imaginary spring. These points must share
a common polygonal edge for a spring to be created. These springs are essentially the topology of the geometry that is
being used.

Shear
This will also create imaginary springs based on the geometry that is being used. These springs will connect the points
in a way that allows the cloth polygons to fold in any direction. Without this stabilization, the four-sided polygons could
collapse.

Flexion

Flexion Vertex Map
This vertex map defines how and where springs will affect the Cloth object. The following applies when a “Flexion” value of
50% is used: All points with an assigned weighting of 100% will have a “Flexion” value of 50%; all points with an assigned
weighting of 50% will have a “Flexion” value of 25%.

Rubber
This parameter controls the amount of stretching that the cloth object will be able to do. The default value of 0% will not
allow for the cloth to stretch; whereas, a value of 100% will allow the cloth to be stretched. This parameter can also be
controlled through a vertex map by using the respective field on the Effects tab.

Rubber set to 0% (left), 50% (center) and 85% (right).

The image above shows three identical cloth objects with the exclusion that the Rubber setting has been altered. The higher
that this value is, the more that the cloth objects can stretch.

Rubber Vertex Map

MOCCA

As the name says, these springs are created to allow the control cage to flex. This will create a spring that will start from a
single point on one polygon and will connect to another point on another polygon, as long as that polygon is not a direct
neighbor of the originating polygon. In other words, for any given point the spring will skip the first contiguous point and
go on to the next. The percentage value will determine the strength at which the points on the cloth will be able to flex or
bend. A high percentage value will not allow the cloth to bend as easily; whereas, a low percentage value will allow for the
cloth to bend quite easily.

114 CLOTHILDE

MOCCA

A vertex map placed into this field defines how and where a Cloth object will behave as rubber. The following applies when
a “Rubber” value of 50% is used: All points with an assigned weighting of 100% will have a”Rubber” value of 50%; all points
with an assigned weighting of 50% will have a “Rubber” value of 25%.

Bounce
This parameter controls the amount of bounce for the cloth object. This value is taken into account during a collision with
a Collider object. The higher this value the more bounce will occur from the cloth object when colliding with an object. So,
a very high value will cause the cloth to bounce away from the collision object. This value will also look at the Bounce value
found in the Collider tag for the collision object.
Providing real world examples here will aid in understanding how this parameter affects cloth collisions. With a leather
jacket, for example, this would create a high amount of bounce due to its sturdy, heavy surface. A woolen sweater, however,
would create very little bounce because of its soft, airy surface.

Bounce Vertex Map
A vertex map placed into this field will define the exact areas in which bounce will be applied during collisions. If a “Bounce”
value of 100% is used, all points with an assigned weighting of 100% will bounce 50%; all points with an assigned weighting
of 50% will bounce 25%.

Friction
This parameter is also only taken into account when the cloth object collides with a collision object. This controls how much
friction is produced when the cloth hits a collision object. The lower this value is, the less friction that will be generated
for the cloth object when a collision occurs. So with a low value in this field, the easier it is for the cloth to glide across the
colliding object. Like the Bounce parameter, this will take the value of the Friction parameter located in the Collider tag of
the collision object into account.
To prove an example of this, consider two given shirt fabrics: A cotton tank top and a silk shirt. The cotton tank top would
produce a lot of friction due to the material and its tight fit to the character. The silk shirt would produce almost zero friction
on the character surface due to its smooth surface.

Friction Vertex Map
Some areas of clothing can experience more friction with the Collider object than others (e.g. collar or shoulder areas). Using
a vertex map you can define exactly which points should behave more blunt or more smooth. A value of 0% will result in
no friction, a value of 100% will result in maximum friction.

Mass
Different parts of a cloth can contain different mass values. If a piece of clothing has pockets, a collar or a zipper, such areas
can have a greater mass due to the additional cloth required. A vertex map placed into this field lets you add or take away
mass. For example, a point with an assigned weighting of 50% will have a mass value of 1 if “Mass” is set to 2.
Size

MOCCA

CLOTHILDE 115

This value will most likely be used during the dressing phase in order to better fit the clothing. A vertex map placed into this
field allows the shrinking or expansion of individual areas of cloth, which lets you dress a figure more accurately. A value of
100% reflects the original size. An area with an assigned wighting of 50% would, logically, shrink by 50%.
A vertex map can only assume a maximum value of 100%. In order to make an area of cloth expand, the “Size” value must
be set to greater than 100%. If the “Size” value is set to 200%, areas with an assigned weighting of 50% be original size;
areas with an assigned weighting of 75% will be scaled to 150% of the original size.

MOCCA

In the image above, no vertex map was assigned to the t-shirt at the left. A vertex map was assigned to the t-shirt at the
right, with which its size can be adjusted.

Tear
This value defines the maximum length the structure of cloth can be stretched before it tears. A value of 150% lets cloth be
stretched 1.5 times its length before it tears.

Tear can also be controlled using a vertex map. As mentioned above, the tearing of cloth is based on its structure: A vertex
map placed into the Effect tab’s “Stiffness” field gives you complete control over tearing cloth.

Use Tear
If this setting is active, the Cloth engine will allow cloth to be torn during a simulation. In order for this to work, the Cloth
object must be made a child of a CNurbs object. So it’s actually the CNurbs object that is torn, not the original Cloth object.
A tear will result in accordance with the “Stiffness” setting applied to the cloth. The smaller the “Stiffness” value, the easier
the cloth will tear. Exception: A maximum value must be defined at which point tearing will occur.

116 CLOTHILDE

MOCCA

Forces Tab

Gravity
Gravity is a force that pulls the cloth object in a certain direction. The Gravity parameter will always be calculated for the Yaxis and will have an effect on the cloth object on that axis. If the number in this field is negative, Gravity will be calculated
down the Y-Axis. If it’s positive it will be calculated up the Y-axis. This value will default to –9.81, which is Gravity’s actual
force in the real world (-9.81 m/sec^2 to be exact!). By lowering this value, this will increase the amount of force that Gravity
will exert on the cloth object in the –Y direction.

Global Drag
Much like that of the Wind Drag parameter, but this parameter deals with the energy loss of the cloth object on a global
basis, meaning that this will control the dampening (energy loss) for all parameters of the cloth object not just the wind.
This can become very handy in situations where there is any extreme motion performed by a character or object and the
cloth needs to stabilize for those few frames. This parameter can be animated; increasing the value to 100% during these
frames of animation can stabilize the cloth at these moments of intense motion.

Wind Direction Settings

MOCCA

CLOTHILDE 117

These parameters define the direction of the wind. You can enter positive or negative values. For example, you can set Wind
Direction X to a negative or positive value to make the wind blow along the –X or X-axis respectively.
When dealing with wind blowing along two or three axes at the same time, a vector will be calculated between the
directions. With the given direction of –1 m / 0 m / -1 m a vector will be created at a 45-degree angle in the negative XZ
quadrant (see left image below).

In order to adjust this 45-degree angle that is created from the direction of –1 m / 0 m / -1 m, entering a value after
the positive / negative coefficient will do just this. With the given direction of –50 m / 0 m / -1 m, the wind direction
would deviate that 45-degree angle closer to the X-axis (see right image above). This would make the direction almost
perpendicular to the Z-axis

Wind Strength

Wind Strength set to 0.5 (left), 1 (center) and 2 (right).

The Wind Strength parameter controls the strength of the wind. The higher this value the more the wind will appear to
affect the cloth. The other wind parameters are multiplied from this value, so a value of 0 in this field will not exert any
wind forces on the cloth object.

Wind Turbulence Strength

MOCCA

Wind Direction set to –1 m / 0 m / -1 m (left) and –50 m / 0 m / -1 m
(right).

118 CLOTHILDE

MOCCA

Wind Turbulence Strength set to 1 (left), 5 (center) and 10 (right).

Real world wind blows in bursts. At some points it can be intense and at other points very weak. The Wind Turbulence
Strength parameter controls this variation. With the value set to 0 the wind will have no variation, by increasing this value
the wind will begin to vary the strength of the bursts.

Wind Turbulence Speed

Wind Turbulence Speed set to 1 (left), 5 (center) and 10 (right).

This parameter works in connection with the Wind Turbulence Strength parameter. Since the strength parameter controls
the variation in bursts, this parameter controls the speed at which those bursts take place. The higher this value the faster
the wind will pulsate.

Wind Drag

Wind Drag set to 0% (left), 50% (center) and 100% (right).

When wind is affecting the cloth object, this parameter controls the damping, or the energy loss of the cloth as it reacts
to the wind.

Wind Impact

MOCCA

CLOTHILDE 119

Wind Impact set to 0% (left), 50% (center) and 100% (right).

Wind Lift
Lighter cloth materials or fabrics are lifted very easily by wind forces, while heavier fabrics, much like leather, are not lifted
as easily by the wind. A value of 100% will allow for the cloth to be lifted very easily by the wind. A value of 0% will not be
lifted by the wind.

Air Resistance
As a piece of cloth travels through the air it will encounter a type of wind force, even if the wind is not blowing. The Air
Resistance parameter will simulate this pseudo wind force. A high Air Resistance value will make the cloth appear as if it is
moving through water. A low value for this parameter will make the cloth appear as though it is moving through air.

Self Repulsion

MOCCA

Any surface that deals with wind, such as cloth, will have a different tolerance at which a wind force will hit that surface.
The Wind Impact parameter controls just this. A value of 100% will determine that a wind force will hit the cloth object’s
entire surface. A value of 0% will not allow for the wind force to hit the cloth’s surface.

120 CLOTHILDE

MOCCA

Self Repulsion (left) and Self Collision (right).

Using this option together with, or instead of, the Self Collision option can speed up and improve the cloth simulation. This
will allow for the cloth points to repel one another, which can aid in situations where extreme forces or motions cause the
cloth points to intersect with its surface.

Distance
This determines the distance at which the cloth points will begin to repel one another. The default value of 10 will begin
repelling the cloth points when any one point comes within 10 units of another cloth point.

Force
Once a cloth point meets the defined Distance when approaching another cloth point, the Force parameter will specify the
speed with which the cloth points repel each other. The higher the number the faster the points will repel each other.

Damping
Damping is in essence the amount of energy loss from some sort of external force. In this case, this parameter is the amount
of energy loss or gain depending on the value after the Force is produced from the repulsion. A value of 0.5 will begin
slowing down the Force parameter. A value of 2 will double the speed (energy gain) of the Force parameter.

MOCCA

CLOTHILDE 121

Dresser Tab

Once a garment has been assigned its dress state (the original polygonal model) this mode will become active. While in this
mode, the Cloth tag will display all seams that have been created with a yellow cross-stitch for the affected polygons. The
Cloth tag will change its icon in the Object manager when this mode is active.

Relax
This command is similar to the Dress-O-Matic function, with the exception that it takes all Forces tab parameters into
consideration. When using the Dress-O-Matic button to drape the cloth onto the colliding character, the properties that
define the cloth are taken into account and not forces like Gravity. The Relax button will allow the user to apply real world
forces such as Gravity and Wind during the dressing state to the cloth object. An Initial State for the garment must be
established before running this command.

Before using Relax (left) and after (right).

Pressing the Esc key at any time during the draping simulation will stop the simulation in its current state. This means that,
if the garment is at a desired shape, but the simulation still has more Steps to calculate, the simulation can be cancelled
without having to wait for the simulation to finish playing.

MOCCA

Dress Mode

122 CLOTHILDE

MOCCA

Steps
This determines the number of times that the cloth engine will sample as it applies gravity and wind forces onto the garment.
The higher this number is, the longer the forces will affect the cloth object.

Dress-O-Matic

Before using Dress-O-Matic (left) and after (right).

This is the command that actually drapes the garment onto the character. When this command is executed, the cloth engine
will shrink the seam to the defined Width setting. As the cloth engine shrinks the seam of the garment to that width, all
points of the garment will drape with the seam. How the points move with the seam as it is draped will be determined by
parameters such as Stiffness, Flexion and Rubber. This can also be stopped at any time by hitting the Esc key.

Steps
This field determines the number of times that the cloth engine will sample as it drapes the garment onto the character. The
higher the number, the longer it will take the cloth engine to calculate the simulation, but the smoother the cloth garment
will be.

Width

MOCCA

CLOTHILDE 123

Width set to 10 m (left) and 3 m (right).

This value determines the goal distance at which the polygons of the seam will rest. With a value of 10 m, the cloth engine
will shrink the seam so that the polygons are 10m in size.

Before using Set Initial State (left) and after (right).

After the cloth garment has been dressed on the character using this command, the cloth engine will now use this current
state of the cloth as its starting pose. After using this command, Dress Mode will be automatically disabled allowing for
the cloth simulation to run.

Show Initial State
If at any point during the simulation an error is encountered, or the simulation just needs to be restarted, using this
command will return the cloth object to its initial state, which was defined by the Set Initial State command.
Set Dress State

MOCCA

Set Initial State

124 CLOTHILDE

MOCCA

In Dress Mode each polygon will have a black ‘X’ on its surface.

After modeling the clothes, using the Set Dress State command will determine the model’s original shape. Once this original
state is specified, the cloth engine can then drape the garment onto the colliding character when told to do so. Using this
function will automatically enable Dress Mode. This can easily be identified in the viewport as each polygon will have a
black ‘X’ on its surface. These will be removed once an initial state has been defined.

Show Dress State

Before using Show Dress State (left) and after (right).

If the garment has already been draped onto the character and the outcome is not the desired result, using this function
will return the garment to its original dress shape. This will allow for parameters to be adjusted and then the garment can
be draped back onto the character.

Set Fix Points

MOCCA

CLOTHILDE 125

This points indicated by the arrows have been fixed using the Set Fix
Points command.

Clear Fix Points
Much like the other Clear buttons, executing this function will remove any points that have been previously fixed for the
cloth object.

Show Fix Points
Using this command will show the selection of points that the cloth object is being fixed from.

Draw Fix Points

Draw Fix Points enabled (left) and disabled (right).

Enabling this option will highlight the fixed points in the viewport. This will clearly identify any points that have been fixed
for the cloth with large purple dots. Disabling the option will remove those fixed points from the view of the viewport.
Use fixed points whenever possible. This will improve playback and performance because the cloth engine can simulate the
cloth object from these fixed points.
Set Seam Polys

MOCCA

In reality, cloth objects such as curtains are usually affixed using a curtain rod, for example. The Set Fix command does
essentially the same thing: it will fix the selected points at their current position, allowing for the cloth to be pinned into
place. To fix points, simply select the desired points of the cloth object with a selection tool and execute the Set Fix Points
command.

126 CLOTHILDE

MOCCA

Seams are displayed bright yellow when their polygons are selected.

Most clothes are stitched together using seams. This cloth engine uses that same pronciple. As this tutorial will show,
garments are created with a front and back plane that are connected. The connection of these two planes of geometry will
be considered the seam. To define a seam, select all of the polygons that connect the front and back planes and use the
Set Seam command. This will be visually identified in the viewport with yellow cross-stitches for the selected polygons. If
the Seam is identified before a dress state is defined for a garment, the garment’s current state will be stored as the Dress
State. The Dress Mode checkbox will be enabled as well after hitting the Set Seam Polys.

Clear Seam
Using this function will clear any polygons that have been previously set as the seam.

Show Seam
This displays the selection of polygons that define the seam for the garment.
Before defining the garment’s seam, select the polygons for both the front and back planes and use the Subdivide command
to increase the resolution of the garment. The seam will be identified by the point order of the garment, so setting the seam
before increasing the subdivision would cause the seam to break because point orders would change after subdividing.

CLOTHILDE 127

MOCCA

Cache Tab

If this mode is active, the Cloth engine will play a cached solution of the simulation. This lets you quickly play the simulation
without having to wait for it to be calculated anew.

Calculate Cache
This function lets you cache a cloth calculation. Clicking on the button will play the animation and will cache the simulation.
The cache mode will subsequently be automatically activated and the cached solution can be viewed.
To the right of this button, a value will be displayed which represents the percentage of the scene that is saved. Directly
below this value, the amount of memory this calculation will require is also displayed.
Note:
To use scene motion blur, the Cloth simulation must be cached in order to make the effect visible.
A cached solution is also necessary for CINEMA 4D NET rendering.

Empty Cache
Click this button to delete the cached calculation. The Cloth object will return to its initial state.

Update Frame
If a solution has been cached, it may be necessary to adjust Clothilde settings for several frames in order to make the cloth
behave correctly. If such errors are found after caching the solution, the corresponding settings can be adjusted in the
Attribute Manager and simulated anew. After adjustments have been made, the “Update Frame” command will only update
the current frame for the cached solution.

MOCCA

Cache Mode

128 CLOTHILDE

MOCCA

In order to adjust individual frames, the cache mode must be deactivated so that Clothilde can calculate the changes
according to the current settings, and not according to the cached settings.
Load / Save
The new “Cache” tool (see below) made it necessary to save calculations of the simulation, which was previously stored to
the clipboard, to the hard drive. The reason: The normal undo function would not be able to handle the amount of data
required to store the simulation. The “Cache” tool allows you to save a starting position, which can be loaded again using
“Load...”.

Cache
This settings shows the memory required for this calculation in megabytes. Once the solution has reached the value shown
in this setting, the cached solution can be deleted using the undo function. This can be necessary if the cached solution has
reached the maximum value and is slowing down the operation of the application as a whole.

Expert Tab

These settings control how the cloth engine solves for solutions during the cloth simulation. Here you’ll find settings such
as the sub sampling and mass values that need to be solved for the cloth object. All settings found within the Cloth tag will
be calculated from these settings.

CLOTHILDE 129

MOCCA

Sub Sampling
This setting determines the amount of depth that the cloth simulation may undergo while finding solutions for the cloth
object. Many things like collisions and real world forces can affect the cloth objects at fractions of a second. CINEMA 4D
will play back the animation in frames, but the cloth engine may need to calculate the simulation between these frames.
The Sub Sampling value will determine how many times the cloth engine will calculate for the simulation in between each
frame. The higher the number, the more accurate that the simulation will be, but this will begin slowing down the speed at
which the cloth is simulated and played back.

Self Collision

Point Collision
With this option enabled, the cloth engine will calculate collisions for every point in any cloth object’s geometry. This
means that once any point that belongs to the cloth object hits another surface, it will not be allowed to pass through that
surface.
About collision settings
Cloth usually collides against some kind of surface. Whether it’s a shirt colliding against a character’s
body or a tablecloth colliding against a table, for the most part, cloth will collide with some kind of
object. The cloth engine will take these numerous factors into account whenever the cloth is being
simulated. How the cloth engine calculates the collision for the geometry can be specified manually
by placing a checkmark next to the corresponding polygonal geometry types. By default, Point, Edge,
and Polygon will be enabled, but any of these geometry types can be disabled.

Point EPS

The higher the EPS value, the farther apart the cloth points will collide
against the collider object’s points.

MOCCA

As the name suggests, the Cloth objects’s collisions can be controlled using its own points. This prevents the surface of
the cloth intersecting itself when the simulation is played. Playing the simulation in the editor, though, will be slower since
Clothilde will have to process many more calculations. If extreme forces are used, intersection may still occur. Using “Self
Repulsion” in addition or in place of “Self Collision” can help keep this from occurring.

130 CLOTHILDE

MOCCA

The EPS stands for epsilon. Think of this setting as an imaginary field that surrounds each point of the cloth object. The
higher the EPS value, the farther apart the cloth points will collide against the collider object’s points. If points begin falling
through the collider object, the Point EPS setting needs to be increased.

Edge Collision
With this option enabled, the cloth engine will calculate collisions for every edge in any cloth object’s geometry. This
means that once any edge that belongs to the cloth object hits another surface, it will not be allowed to pass through that
surface.

Edge EPS

The higher the EPS value, the farther apart the cloth points will collide
against the collider object’s edges.

Think of this setting as an imaginary field that surrounds each edge for both cloth and collider objects. The higher the EPS
value, the farther apart the cloth edges will collide against the collider object’s edges. If edges begin falling through the
collider object, the Edge EPS setting will need to be increased.

Poly Collision
With this option enabled, the cloth engine will calculate collisions for every polygon in any cloth object’s geometry. This
means that, once any polygon that belongs to the cloth object hits another surface, it will not be allowed to pass through
that surface.

Poly EPS

CLOTHILDE 131

MOCCA

The higher the EPS value, the farther apart the cloth points will collide
against the collider object’s polygons.

Global Intersection Analysis
During animation, either intentionally or by accident, an area such as the armpit of a bipedal character can trap the cloth
object. This can cause some cloth engines to come to a complete halt being that the engine cannot find a solution. Global
Intersection Analysis (GIA) will find the best possible solution that will allow the cloth engine to continue its simulation
.
Include
Any objects that are placed within this box will be the objects included in the calculations.
You can place all kinds of CINEMA 4D forces or forces from the Dynamics Module here, which will be included in the Clothilde
calculations. The following forces can be used:

CINEMA 4D particle system modifiers:


Attractor



Gravity



Rotation



Turbulence



Wind

All other particle modifiers will have not influence.

Dynamics:

MOCCA

Think of this setting as an imaginary field that surrounds each polygon for both cloth and collider objects. The higher the
EPS value, the farther apart the cloth polygons will collide against the collider object’s polygons. If polygons begin falling
through the collider object, the Poly EPS setting will need to be increased.

132 CLOTHILDE



Gravity



Friction



Wind

MOCCA

Note:
If different forces overlap, their effect will, as a rule, be additive. In some instances, though, forces
can either cancel one another out or their effect(s) will be multiplied.

Collider Tag
The Cloth tag identifies an object as a cloth object.

Specifying what object will collide with the cloth objects is done in the same way as defining a cloth object: by adding a
Collider tag to the desired object.

To add a Collider tag to an object:


Select the object and in the Object manager, choose File > Clothilde Tags > Collider.

The Collider tag will be applied to the selected object that can now collide with any cloth object.

Attribute Manager Settings
Basic Properties

Name
The only parameter on this tab is the Name of the Collider tag. It will always default to ‘Collider’ unless otherwise
specified.

MOCCA

CLOTHILDE 133

Tag Properties

This is the tab that contains all the properties that will control how the collision object interacts with the cloth objects.

Use Collider

Bounce
This setting is also found in the Tag Properties tab of the Cloth tag. Keep in mind that these two fields work together. For
example, a nylon piece of cloth will always have the same Bounce value. If this piece of nylon collides against two objects,
one being a piece of cloth and the other being concrete, the Bounce value for the nylon will remain the same; however,
the two objects have completely different Bounce values. The concrete will not allow much, if any, bounce for the nylon
whereas the cloth that the nylon collides against will produce a lot of bounce for the nylon.

Friction
This setting is also found in the Tag Properties tab of the Cloth tag. Keep in mind that these two fields found in both tags
work together. The surface that a cloth object collides against can have a different Friction value. For example, a nylon piece
of cloth will always have the same Friction value. If this piece of nylon collides against two objects, one being a rock and the
other being a block of ice, the Friction value for the nylon will remain the same; however, the two objects have completely
different friction values. The block of ice will produce almost no friction, whereas the rock will produce a fair amount of
friction for the nylon as it collides against the rock’s surface.

Exclude Polys
This will exclude any specified polygons of the collision object from being calculated in the collision. In many cases, when
a shirt is being draped onto a character, only the chest and arms of the character need to be included in the collision. With
that, the polygons that form the head and legs could be excluded to speed up calculation times.

Set
Using this function will set any selected polygons of the collision object as excluded polygons.

MOCCA

By enabling this, the object that has the Collider tag applied to it will be able to collide with any cloth object in the scene.
Disabling this will not allow any cloth objects to collide against the collision object.

134 CLOTHILDE

MOCCA

Clear
This will remove any excluded polygons for the collision object.

Show
At some point, different polygons may be deselected or new ones may be selected for the collision object. Using the Show
function will display the selection of polygons that have been excluded for the collision object. This easily shows what
polygons are being excluded, overwriting the current selection.

Draw

Draw disabled (left) and enabled (right).

With this enabled, all excluded polygons of the collision object will be displayed in the viewport with red edges. Internally,
the collision object is always calculated in triangles, so the displayed excluded polygons will be triangulated. Disabling the
Draw option will remove the display of the excluded polygons in the viewport.
The excluded polys will be drawn in their non-deformed state. The exclusion will still use the deformed polygons, but the
Draw option will only draw them at their original modeled position.

Belt Tag
Belt On
The object that is defined in this box will be the cloth’s Belt object. When an object is specified in this box, cloth points that
are set for the belt will be able to move with that deforming surface.

CLOTHILDE 135

MOCCA

Belt Points

When a Belt object is specified, any selected point can be attached to the deformed character model. The Set Belt Points
will define what points will be attached to the deformed mesh.

About Belting
Let’s think about what an actual belt does for real-world clothing before moving on. When pants are belted, they stay
attached to the person no matter where he moves. With a digital character the principle is the same but the bones deform
the actual geometry to simulate movement, so attaching the cloth to the character needs to be handled a little differently
than just fixing the points. Fixing the points will just keep the points in a single fixed position. What belting does is attach
specified points to a specified deformed polygon object. This allows for the cloth to stay attached to the deformed points
of the character at a definable distance.
This can be used for more than just a belt on a character. Buttons on a shirt are a further example of what can be done using
belting. Another time this may come in handy is when going from a character’s T-pose to its start pose at the beginning of
the animation. If the character starts the animation in an extreme pose, belting all points of the garments to the character’s
geometry will aid in getting the garments into position for that extreme pose. After the garments have been properly
simulated into position, defining this position as its Initial State in the Dresser tab will allow the simulation to start from
this position or state.
Note:
You can assign your clothing any number of Belt Tags to fix it at several locations.

Set Belt Points
When this command is executed, the current selected points of the cloth object will be set as the belted points.

Clear Belt Points
This will remove any points that have been assigned to the belt object.

MOCCA

You can choose which points will be attached to the Belt object.

136 CLOTHILDE

MOCCA

Show Belt Points
This will reselect any of the points that have been assigned to the Belt object. If this command is executed while in any other
mode than points, CINEMA 4D will automatically switch over to Points mode.

Draw Belt Points
Enabling this checkbox will display every point that is belted as a yellow dot. A line or sample will be drawn from this point
to a relatively close area on the deforming object. This is represented as a yellow line in the viewport. Disabling the option
will remove the display in the viewport.

Draw Belt Points disabled (left) and enabled (right).

When the points of a cloth object are belted to a deformed object, a sample is sent out from each of the belted points
within a reasonable area on the deformed surface. These samples can be adjusted using parameters that are found within
the Forces tab: Belt Influence and Belt Hover.

Animating Belt Objects
The Belt On text box on the Dresser tab can be animated, meaning that multiple Belt objects can be used to influence the
same piece of cloth. The problem with this is that the belted points that are defined with the ‘Set’ button can’t be animated;
however, vertex maps can be animated to achieve this same type of effect.
To do this you will first need to belt all points that will be influenced by any Belt object. Using the Live Selection or new
Brush tool, paint the points that need to be influenced by the first Belt object with 100% weight. Another vertex map will
need to be created for the points that will be influenced to the second Belt object. Drag and drop the first vertex map into
the Influence text box on the Effects tab and set a keyframe for this tex box using the gray dot.
Record a keyframe when the change between the two Belt objects occurs by Ctrl-clicking on the gray dot next to the Belt
text box. At this same frame, you need to switch from the first vertex map to the second one by dragging and dropping it
into the text box. Ctrl-click the gray dot to create a keyframe for this change.

MOCCA

CLOTHILDE 137

Belt Influence
This percentage value will determine how much influence the Belt object has on the cloth object. A value of 0% will not
allow for the Belt object to influence the cloth object at all, whereas a value of 100% will have complete influence on the
cloth object. The area of Influence can be controlled through a vertex map using the corresponding section on the Effects
page.

Belt Hover

MOCCA

Belt Hover set to 0% (left), 100% (center) and 200% (right).

This value controls how far or how close the cloth object will be to the Belt object. When the cloth points sample to the
deformed geometry, they have an initial distance that represents the Hover value at 100%. This means that, if the value
is decreased to 50%, the cloth points will be half the distance from their initial state. A value of 200% will be twice the
distance from the points’ initial state.

Hover Map
Generally, the material of a pair of pants follows the shape of a belt more closely at the hips than at the crotch. Using a vertex
map in this field lets you achieve this hovering effect more accurately. The hovering of the belt is based on the distance
between the Belt object and the Belt points.

Modeling Clothes

Before using the Knife tool to cut the garment (left) and after (right).
Create quadrangles in preference to triangles.

138 CLOTHILDE

MOCCA

After the front plane of the garment has been modeled, make sure all of the polygons are selected, then apply the Clone
function. This will mirror the geometry to create the back surface of the garment. Usually, using a Clone value of 1 and a
180-degree rotation around the Y-axis will work for this type of construction. Select the edges where the garment will need
to be “sewn” together. Remember to exclude the edges where the garment will fit around the character: collar, sleeves,
and shirt bottom.

Select the edges where the garment will need to be “sewn” together.
Remember to exclude the edges where the garment will fit around the
character: collar, sleeves, shirt bottom.

Now the seams between these two planes need to be created. Use the Stitch and Sew tool to create the geometry for the
seams. Holding the Shift modifier for this tool will add geometry, which is needed for the seams, as opposed to merging
the edges.

Use CINEMA 4D’s Stitch And Sew tool to create the seams.

Keep the polygons of the front and back planes selected. It is at this point that you will want to subdivide the garment
(Functions > Subdivide). A value of 3 subdivisions will usually suffice. Invert the selection so that the geometry of the seam
is selected (Selection > Invert).

MOCCA

CLOTHILDE 139

Subdivide the polygons.

Before using the functions on the Dresser tab to drape the garment onto
the character (left) and after (right).

Keep in mind that Clothilde is as much a modeling tool as it is an animation tool. At any point, the Cloth tag can be deleted
and the cloth can be treated as regular geometry. Even deleting the Cloth tag and modeling areas like collars at a later time
is still possible. Then just re-apply a Cloth tag to the new model and start the simulation from there.

Procedures for Animation
As the screen shots show, it’s best to drape a garment while a character is in the T-pose. An animation never has a character
start in the T-pose, though. The trick here is to animate the character from the T-pose at a negative frame, usually –10, but
this depends on how extreme the start pose is.
On the Tag Properties tab of the Cloth tag, you can disable the Auto option and manually specify from Frame –10 to Frame
0. Once the simulation arrives at Frame 0 you can define that point as the new Initial State and the simulation will be able
to start calculating the garment from that state.

MOCCA

At this point, a Cloth tag can be applied to the garment to drape the geometry onto the character. Using the functions on
the Dresser tab, such as Set Seam Polys and Dress-O-Matic, will perform this draping process. Prior to doing this you will
also want to apply a Collider tag on the geometry of the character; otherwise, the cloth engine will not know onto what it
schould drape the geometry.

140 CLOTHILDE

MOCCA

It’s best to drape a garment while the character is in the T-pose (left).
Naturally, you’ll want to start the animation from a different pose (right).
The trick here is to record the T- pose before frame 0, such as at frame -10.

Remember that if the starting pose is really extreme, you can belt all the points of the garment during the simulation. Once
the cloth object is in place, you can remove the belted points and set the Initial State of the garment.

Cache Tool

General
This tool lets you subsequently precisely edit stored calculations of simulations. This is often necessary since Clothilde is a
physical simulation that, despite its realistic results, may have to be fine-tuned occasionally if a fold here or a wrinkle there
isn’t visually quite right.
How does the “Cache” tool work?
First, you will need a saved calculated simulation. Now, call up the “Cache” tool (“Plugins / Clothilde – select a point on the
cloth object).

CLOTHILDE 141

MOCCA

Left: Only one point selected; right: All points selected. The piece of cloth
is hanging from the point at the top left.

An editable spline is now displayed as the selected point’s motion path.

As soon as you click on a spline point, the following will occur:
Click and release the mouse button: The animation will jump to the respective frame.
Click, hold and move the mouse button: The “Cache” tool will have an effect in accordance to the
settings described below.

It is not necessary to click on the “Update Frame” button after editing the spline.
Since the “Undo” command can’t handle complex objects or long animations, the “Load...” and “Save...” options in the
“Cache” tab give you the opportunity to load or save your calculated simulations as you work.
NOTE:
The saved simulation uses local coordinates, which means the object can be easily moved and rotated
without it jumping back to its original animation.

MOCCA

If you approach a point on the spline with the cursor, the temporal area, which the “Cache” tool will influence will change
color (“Frames + / -“ setting).

142 CLOTHILDE

MOCCA

Settings

Mode
Select from “Smear” and “Smooth”.

Left: prior to tool being used; top: Using “Smear”: bottom: Using
“Smooth”.

Smear: Moves the selected point. The neighboring points, defined by “Frames + / -“, will follow the
Fall-Off function (described below).
Smooth: The selected point is of less importance here. This function smoothes the spline in the area
defined in the “Frames + / -“ setting using the Fall-Off function, described below.

Show + / Use this setting to define within which temporal range or, as the case may be, how many spline points before and after the
actual time should be displayed.

Frames + / This is the temporal range in frames or, as the case may be, the spline points before and after the actual time that should
be influenced by the “Cache” tool.

MOCCA

CLOTHILDE 143

Strength
This is a global factor that symbolizes the “Cache” tool’s strength.

Fall-Off
Use this setting to define the type of falloff. You will find this function in chapter 10, “Magnet”, p. 542 in your CINEMA 4D
reference manual. If “Spline” is selected, the curve in the field below can be adjusted manually.

Width
Use this setting to define how soft or hard the influence of the magnets should fall off.
MOCCA

Index

INDEX • 145

MOCCA

142 • INDEX
INDEX 142

MOCCA

Index
A
Add
anchor to bone 26
bone with bone tool 33
child bone 33
pose 72
pose to library 76
root goal 26
tip goal to bone 26
up vector to bone 27
Additive Loops 92
Air Resistance 119
Anchor 13
add to bone 26
Animating Clothes 139
Auto Find Center 40
Auto IK-Lock 27
Auto Match 93
Auto Redraw 27
Auto Size 97
Auto Trim 93

B
Belting 135
Belt Hover 137
Belt Influence 136
Bone
adding child 33
adding with bone tool 33
add anchor 26
add root goal 26
add tip goal 26
add up vector 27
null, add with bone tool 34
null, update with bone tool 34
split with bone tool 34
tool 33
weight, removing 47
weighting 44
Bone Mirror tool 38
Boost 63
Bounce 114, 133

C
Cache Tool 140
Chain
IK, setting up 26
limit position of 21

Child
bone, adding 33
Children
of bones, mirroring 40
Chopsticks 19
Claude Bonet
tool 44
Clear Belt Points 135
Clear Seam 126
Clone
tags 40
Clothilde
introduction 106
Collision Detection 129
Constraint
goal 18
mirror 41
Soft IK 17
strength 18
up vector 19
Constraint page
Soft IK 17

D
Display All Bones 45
Drag
Soft IK 14
Draw 134
Draw Belt Points 136
Dress-O-Matic 122
Dresser 121
Dress Mode 121
Dynamics
Soft IK 14

G
Global Drag 116
Global Intersection Analysis 131
Goal
add root to bone 26
add tip to bone 26
Goal constraint 18
Gravity 116
Soft IK 15

H
How does the “Cache” tool work?
140

I
IK <-> FK 16
IK Chain
setting up 26
Inertia
Soft IK 15
Initial State 123
Inverse kinematics 8

K
Keyframes
finding easily 66
recording in realtime 55
Kinematics
forward 8
inverse 8

E

L

Edge EPS 130
Estimate 95
Exclude Polys 133
Expert settings 127

Layout
configuration 4
MOCCA 4
Left Trim 93
Library
of poses 76
P2P 76
Limit
position of Soft IK chain 21
rotation in Soft IK chain 23
strength of in Soft IK chain 21
Limit page
Soft IK 20

F
Find
keyframes 66
Fix Points 124
Force Position 24
Force Shading 46
Forward kinematics 8
Frames
finding easily 66
Friction 114, 133

INDEX • 143
143 INDEX

MOCCA

R

Manager
P2P 76
Manual Match 94
Match Search 40
Mirror
children of bone 40
constraint 41
Mixing
poses 70
Mocca.l4d 4
MOCCA IK Tag 12
MOCCA Layout 4
MOCCA Palette 4
Motion A 90
Motion B 91
Multiple use II

Rail 95
Realtime
keyframe recording 55
Record
key for selected pose 77
poses 72
Reduction 62
Relax 121
Remove
bone weight 47
Reset
chain to rest state 24
Resize To Orig. Length 95
Rest rotation
set for bone chain 27
Rest State
position 25
reset chain to 24
rotation 25, 27
Retarget Tag 102
Rewind Time 57
Right Trim 93
Rotation
limit of in Soft IK chain 23
rest state 25

N
Network operation II
Null
bone 34

O
Object
up vector 19
Only Modify Visible Elements 45

P
P2P Manager 76
Painting
bone weights 44
Palette
MOCCA 4
Pivot 94
Point EPS 129
Poly EPS 130
Pose
add 72
library 76
mixing 70
recording 72
record key 77
PoseMixer
tag 70
Position
limit of in Soft IK chain 21
rest state 25

S
Seam Polys 125
Secrecy IV
Self Repulsion 119
Setup IK chain 26
Setup Motion Blend Tracks 89
Set Belt Points 135
Set Chain Rest Position 27
Set Chain Rest Rotation 27
Set Fix Points 124
Set Initial State 123
Set Reference 46
Show Belt Points 135
Show Dress State 124
Show Initial State 123
Show Seam 126
Show Transition 92
Show Transitions 91
Soft IK 4
adding tag 26
anchor 13
constraint 17
drag 14
dynamics 14
gravity 15

inertia 15
limit position 21
limit rotation 23
speed 14
strength 14
tag 12
Speed
of SOFT IK playback 14
Start At Current Time 56
Start Realtime 55
Stop Realtime 55
Strength
of constraints 18
of limits in Soft IK chain 21
Soft IK 14
Sub Sampling 128

T
Tag
adding Soft IK 26
cloning 40
Soft IK 12
TimeWarp
tool 66
Tip effector 9
Tool
bone 33
Claude Bonet 44
PoseMixer 70
TimeWarp 66
Transfer III
Transition 90

U
Update
null bone with bone tool 34
Up Vector 19
add to bone 27
Use As Pole 18
Use Collider 133
Use Existing Sequences 57
Use UK 13

W
Weight
bones, removing 47
Weighting
bones 44

MOCCA

M



Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 161
XMP Toolkit                     : XMP toolkit 2.9.1-14, framework 1.6
About                           : uuid:a08c3ab2-93fd-11da-b9df-000a95ba6d86
Create Date                     : 2004:09:13 21:48:11Z
Modify Date                     : 2006:02:02 16:07:29+01:00
Metadata Date                   : 2006:02:02 16:07:29+01:00
Creator Tool                    : Adobe InDesign 2.0.1
Version ID                      : 1
Rendition Class                 : proof:pdf
Document ID                     : adobe:docid:indd:39f0ea01-05c6-11d9-b736-98e5931586e1
Rendition Of Document ID        : adobe:docid:indd:39f0ea01-05c6-11d9-b736-98e5931586e1
Rendition Of Version ID         : 1
Rendition Of Rendition Class    : default
Format                          : application/pdf
Title                           : MOCCA BOOK.indb
Tagged PDF                      : Yes
Trapped                         : False
Creator                         : Adobe InDesign 2.0.1
Producer                        : Adobe PDF Library 5.0
EXIF Metadata provided by EXIF.tools

Navigation menu