Maxon Cinema 4D 9.0 Reference Guide C4D Us

Cinema 4D - 9.5 - Reference Guide C4D_9.5_us User Guide for Maxon Cinema 4D Software, Free Instruction Manual

User Manual: maxon Cinema 4D - 9.0 - Reference Guide Free User Guide for Maxon Cinema 4D Software, Manual

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

DownloadMaxon  Cinema 4D - 9.0 Reference Guide C4D Us
Open PDF In BrowserView PDF
Reference Manual

CINEMA 4D
Programming Team

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.
Graphics & Icons
Eric Adermann, Heike Bauer, Dirk Beichert, Jörn Gollob, Janine Pauke, Onur Pekdemir.
Layout
Oliver Becker, Harald Egel, Michael Giebel, David Link, Luke Stacy, Jeff Walker.
Translation
Oliver Becker, Michael Giebel, Arno Löwecke, Björn Marl, Janine Pauke, Luke Stacy,
Marco Tillmann, Scot Wardlaw.
Special Thanks
Kevin Aguirre, Phil ‘Captain 3D’ McNally, NAAM, Kai Pedersen, Christian Rambow,
Holger Schlömann, Bunk Timmer.
Copyright © 2004 by MAXON Computer GmbH. All rights reserved.
English Translation Copyright © 2004 by MAXON Computer GmbH / 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.

MAXON Computer End User License Agreement
NOTICE TO USER
WITH THE INSTALLATION OF CINEMA 4D (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.
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.
5. Updates
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 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 (Bundesdatenschutzgesetz). 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.
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
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.
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.

Contents
1 Getting to Know CINEMA 4D.............................................................................3
Important notes .................................................................................................................................... 3
What’s new in R9................................................................................................................................... 4
Starting CINEMA 4D .............................................................................................................................. 8
Quitting CINEMA 4D.............................................................................................................................. 8
Mouse techniques ................................................................................................................................. 8
Hotkeys 1 to 7........................................................................................................................................ 9
The user interface ................................................................................................................................ 10
A quick tour ......................................................................................................................................... 12

2 Views and Viewports ....................................................................................... 19
Edit Menu ............................................................................................................................................ 20
Undo View / Redo View .................................................................................................................. 20
Film Move, Film Magnify, Film Zoom.............................................................................................. 20
Zoom In, Zoom Out ........................................................................................................................ 20
Frame commands ........................................................................................................................... 21
Use as Render View ........................................................................................................................ 21
Redraw............................................................................................................................................ 21
Configure, Configure All ................................................................................................................. 22
Display tab ................................................................................................................................. 23
Filter tab .................................................................................................................................... 27
View tab .................................................................................................................................... 28
Back tab ..................................................................................................................................... 31
HUD tab ..................................................................................................................................... 33
Cameras Menu..................................................................................................................................... 34
Scene Cameras................................................................................................................................ 34
Link Active Object........................................................................................................................... 34
Editor Camera ................................................................................................................................. 34
Projections ...................................................................................................................................... 34
Display Menu ....................................................................................................................................... 36
Level Of Detail ................................................................................................................................ 36
Display Filter ................................................................................................................................... 37
Default Light ................................................................................................................................... 37
Shading modes ............................................................................................................................... 38
Display Tags .................................................................................................................................... 40
Backface Culling ............................................................................................................................. 40

Textures .......................................................................................................................................... 41
X-Ray............................................................................................................................................... 42
Stacked Materials............................................................................................................................ 42
View Menu .......................................................................................................................................... 43
Panels.............................................................................................................................................. 43
Toggle Active View ......................................................................................................................... 43
Views .............................................................................................................................................. 43

3 Configuration................................................................................................... 47
Configuration dialogs .......................................................................................................................... 47
Configuration managers...................................................................................................................... 48
Other settings...................................................................................................................................... 48
Graphical User Interface ...................................................................................................................... 49
Windows......................................................................................................................................... 49
Tabs................................................................................................................................................. 52
Icon Palettes ................................................................................................................................... 53
The Command Manager ................................................................................................................. 57
The Menu Manager ........................................................................................................................ 60
The Pin’s Menu ............................................................................................................................... 63
Preferences .......................................................................................................................................... 64
Common ......................................................................................................................................... 64
Macintosh (Mac OS only)........................................................................................................... 66
Interface ......................................................................................................................................... 67
Colors.............................................................................................................................................. 68
Viewport......................................................................................................................................... 69
OpenGL Shading ........................................................................................................................ 70
Software Shading ...................................................................................................................... 74
Colors......................................................................................................................................... 75
Document ....................................................................................................................................... 76
Import/Export................................................................................................................................. 77
3D Studio Import / Export ......................................................................................................... 77
Biovision BVH Import................................................................................................................. 77
CINEMA 4D XML Export ............................................................................................................ 78
DEM Import ............................................................................................................................... 78
DXF Export................................................................................................................................. 78
DXF Import ................................................................................................................................ 79
Direct3D Export ......................................................................................................................... 80
FBX Import / Export ................................................................................................................... 82
Illustrator Import ....................................................................................................................... 89
LightWave Import ...................................................................................................................... 90
Monzoom Import ...................................................................................................................... 91
QuickDraw 3D Export ................................................................................................................ 91

QuickDraw 3D Import................................................................................................................ 92
STL Import / Export.................................................................................................................... 92
Shockwave 3D Export ................................................................................................................ 93
UZR Export................................................................................................................................. 98
VRML 1 Export ......................................................................................................................... 102
VRML 1 Import ........................................................................................................................ 103
VRML 2 Export ......................................................................................................................... 104
VRML 2 Import ........................................................................................................................ 105
Wavefront Import / Export ...................................................................................................... 106
Texture Paths ................................................................................................................................ 107
Units ............................................................................................................................................. 107
XPresso ..........................................................................................................................................114
Project Settings ..................................................................................................................................115

4 Workflow........................................................................................................ 119
Asynchronous access to parameters ................................................................................................. 120
Selection rays..................................................................................................................................... 120
Smartpointer ..................................................................................................................................... 121
Multiple selection .............................................................................................................................. 121
Working with Layouts........................................................................................................................ 123
Window > Layout Submenu ........................................................................................................ 123
The Browser ....................................................................................................................................... 124
File Menu ...................................................................................................................................... 127
Edit Menu ..................................................................................................................................... 131
Function Menu ............................................................................................................................. 133
Initialization Files ............................................................................................................................... 135
Function graphs................................................................................................................................. 136
The HUD............................................................................................................................................. 138
Using the HUD .............................................................................................................................. 139
General information ................................................................................................................ 139
HUD Settings ........................................................................................................................... 140

5 File Menu........................................................................................................ 145
New ................................................................................................................................................... 145
Open .................................................................................................................................................. 145
Merge ................................................................................................................................................ 146
Revert To Saved ................................................................................................................................. 146
Close .................................................................................................................................................. 146
Close All ............................................................................................................................................. 146
Save ................................................................................................................................................... 147
Save As .............................................................................................................................................. 147
Save All .............................................................................................................................................. 147

Save Project ....................................................................................................................................... 147
Export ................................................................................................................................................ 148
Recent Files ........................................................................................................................................ 149
Quit.................................................................................................................................................... 149

6 Edit Menu....................................................................................................... 153
The undo buffer................................................................................................................................. 153
The clipboard..................................................................................................................................... 155
Selection ............................................................................................................................................ 157
The drawing pipeline ......................................................................................................................... 157
The display order .......................................................................................................................... 160
Settings.............................................................................................................................................. 161

7 Objects Menu ................................................................................................. 165
Attribute manager settings ............................................................................................................... 166
Primitives ........................................................................................................................................... 169
Cone ............................................................................................................................................. 171
Cube ............................................................................................................................................. 175
Cylinder......................................................................................................................................... 177
Disc ............................................................................................................................................... 180
Plane ............................................................................................................................................. 182
Polygon......................................................................................................................................... 184
Sphere........................................................................................................................................... 186
Torus ............................................................................................................................................. 188
Capsule ......................................................................................................................................... 191
Oil Tank ......................................................................................................................................... 193
Tube .............................................................................................................................................. 196
Pyramid......................................................................................................................................... 199
Platonic ......................................................................................................................................... 201
Figure............................................................................................................................................ 203
Landscape..................................................................................................................................... 204
Relief............................................................................................................................................. 208
NURBS.................................................................................................................................................211
HyperNURBS ................................................................................................................................. 212
Weighting HyperNURBS models .............................................................................................. 215
Modeling with HyperNURBS.................................................................................................... 216
HyperNURBS and n-gons ......................................................................................................... 218
Extrude NURBS ............................................................................................................................. 219
Lathe NURBS ................................................................................................................................. 221
Loft NURBS ................................................................................................................................... 223
Sweep NURBS ............................................................................................................................... 226
Bezier NURBS ................................................................................................................................ 231

Caps And Rounding ...................................................................................................................... 233
Different materials for the hull, caps and rounding ................................................................ 236
Splines ............................................................................................................................................... 237
Spline Object ................................................................................................................................ 237
Create Spline (Curves)................................................................................................................... 245
Freehand.................................................................................................................................. 245
Bezier, B-Spline, Linear, Cubic, Akima...................................................................................... 246
Spline Primitives............................................................................................................................ 247
Arc ........................................................................................................................................... 249
Circle ........................................................................................................................................ 251
Helix ......................................................................................................................................... 253
n-Side....................................................................................................................................... 256
Rectangle ................................................................................................................................. 258
Star .......................................................................................................................................... 259
Text .......................................................................................................................................... 261
Vectorizer................................................................................................................................. 263
4-Side....................................................................................................................................... 265
Cissoid ..................................................................................................................................... 267
Cogwheel................................................................................................................................. 269
Cycloid ..................................................................................................................................... 271
Formula.................................................................................................................................... 275
Flower ...................................................................................................................................... 279
Profile....................................................................................................................................... 280
Special Modeling Tools ...................................................................................................................... 283
Null Object.................................................................................................................................... 283
Polygon Object ............................................................................................................................. 286
Array Object.................................................................................................................................. 290
Atom Array Object........................................................................................................................ 291
Boole............................................................................................................................................. 293
Instance Object............................................................................................................................. 296
Metaball Object ............................................................................................................................ 297
Symmetry Object .......................................................................................................................... 299
Construction Plane Object............................................................................................................ 300
Cameras ............................................................................................................................................. 301
Camera Object .............................................................................................................................. 301
Adjusting the camera interactively ............................................................................................... 305
Animating camera movements..................................................................................................... 306
Cameras Menu.............................................................................................................................. 307
Scene Cameras......................................................................................................................... 307
Target Camera .............................................................................................................................. 308
Lighting ............................................................................................................................................. 309
Light Object .................................................................................................................................. 309

Target Light................................................................................................................................... 346
Sun Light....................................................................................................................................... 347
Sun tag .................................................................................................................................... 348
Making gels .................................................................................................................................. 350
Particles ............................................................................................................................................. 351
Baking Particles............................................................................................................................. 353
Emitter .......................................................................................................................................... 354
Attractor ....................................................................................................................................... 357
Deflector ....................................................................................................................................... 358
Destructor..................................................................................................................................... 360
Friction.......................................................................................................................................... 361
Gravity .......................................................................................................................................... 362
Rotation ........................................................................................................................................ 363
Turbulence .................................................................................................................................... 364
Wind ............................................................................................................................................. 365
Examples....................................................................................................................................... 366
Particle animation with light sources ...................................................................................... 366
Metaparticles........................................................................................................................... 367
Deformers.......................................................................................................................................... 369
Bend.............................................................................................................................................. 371
Bone.............................................................................................................................................. 373
Laying out a bones hierarchy................................................................................................... 378
Bulge............................................................................................................................................. 383
Explosion FX ................................................................................................................................. 385
Explosion ...................................................................................................................................... 391
FFD................................................................................................................................................ 393
Formula......................................................................................................................................... 394
Melt .............................................................................................................................................. 396
Polygon Reduction........................................................................................................................ 398
Further usage advice................................................................................................................ 401
Hints and tips........................................................................................................................... 402
Shatter .......................................................................................................................................... 406
Shear............................................................................................................................................. 408
Spherify ........................................................................................................................................ 410
Spline Deformer.............................................................................................................................411
Spline Rail ..................................................................................................................................... 414
Taper ............................................................................................................................................. 421
Twist ............................................................................................................................................. 423
Wind ............................................................................................................................................. 425
Wrap ............................................................................................................................................. 427
Managing your environment ............................................................................................................. 429
Floor Object .................................................................................................................................. 429

Sky Object..................................................................................................................................... 430
Environment Object...................................................................................................................... 431
Foreground Object, Background Object....................................................................................... 433
Stage Object ................................................................................................................................. 435
Selection Object ........................................................................................................................... 436
Sound ................................................................................................................................................ 437
Playing and scrubbing sound ....................................................................................................... 437
Loudspeaker ................................................................................................................................. 438
Mono Microphone........................................................................................................................ 440
Stereo Microphone ....................................................................................................................... 443
Stereo ........................................................................................................................................... 444
DTS 5.1.......................................................................................................................................... 445
DDS EX 6.1 .................................................................................................................................... 446
SDDS 7.1........................................................................................................................................ 447
Object Library .................................................................................................................................... 449
Adding models to the object library............................................................................................. 449
Turbo Squid community ................................................................................................................ 449

8 Tools Menu.....................................................................................................453
Move.................................................................................................................................................. 453
Moving multiple objects............................................................................................................... 454
Scale .................................................................................................................................................. 458
Scaling multiple objects ............................................................................................................... 459
Rotate ................................................................................................................................................ 460
Rotating multiple objects ............................................................................................................. 462
Move, Scale and Rotate with mouse and keyboard .......................................................................... 463
Magnify ............................................................................................................................................. 464
Modeling modes................................................................................................................................ 465
Default Mode................................................................................................................................ 465
Auto Switch Mode ........................................................................................................................ 465
Tweak Mode ................................................................................................................................. 466
N-gon Triangulation .......................................................................................................................... 466
Use Isoline Editing ............................................................................................................................. 467
Show Axis .......................................................................................................................................... 467
Camera .............................................................................................................................................. 468
Object ................................................................................................................................................ 469
Points................................................................................................................................................. 470
Edges ................................................................................................................................................. 471
Polygons ............................................................................................................................................ 471
Object Axis ........................................................................................................................................ 472
Model ................................................................................................................................................ 473
Texture............................................................................................................................................... 475

Texture Axis ....................................................................................................................................... 476
Inverse Kinematics ............................................................................................................................. 477
Multi-target kinematics ..................................................................................................................... 478
Animation.......................................................................................................................................... 480
The Axes ............................................................................................................................................ 480
Coordinate System............................................................................................................................. 481
Camera Rotation................................................................................................................................ 483

9 Selection Menu ..............................................................................................487
Selection Filter ................................................................................................................................... 487
Select Tool .................................................................................................................................... 487
Create Selection Object ................................................................................................................ 489
Main selection tools .......................................................................................................................... 490
Loop Selection ................................................................................................................................... 495
Ring Selection.................................................................................................................................... 497
Outline Selection ............................................................................................................................... 497
Fill Selection....................................................................................................................................... 498
Convert Selection .............................................................................................................................. 498
Select All, Deselect All ....................................................................................................................... 499
Invert ................................................................................................................................................. 499
Select Connected............................................................................................................................... 499
Grow Selection .................................................................................................................................. 500
Shrink Selection ................................................................................................................................. 500
Hide Selected..................................................................................................................................... 500
Hide Unselected................................................................................................................................. 501
Unhide All .......................................................................................................................................... 501
Set Selection ...................................................................................................................................... 501
Set Vertex Weight.............................................................................................................................. 503

10 Structure Menu ............................................................................................507
Modeling modes................................................................................................................................ 507
Attribute manager settings ............................................................................................................... 508
Tool ............................................................................................................................................... 508
Snap Settings................................................................................................................................ 509
Edit Spline.......................................................................................................................................... 514
Hard Interpolation ........................................................................................................................ 514
Soft Interpolation ......................................................................................................................... 514
Equal Tangent Length ....................................................................................................................515
Equal Tangent Direction ................................................................................................................515
Join Segment ................................................................................................................................ 516
Break Segment.............................................................................................................................. 516
Explode Segments ........................................................................................................................ 516

Set First Point.................................................................................................................................517
Reverse Sequence ..........................................................................................................................517
Move Down Sequence, Move Up Sequence ..................................................................................517
Chamfer ........................................................................................................................................ 518
Create Outline................................................................................................................................519
Cross Section ................................................................................................................................ 520
Disconnect .................................................................................................................................... 521
Edge To Spline .............................................................................................................................. 522
Line Up.......................................................................................................................................... 522
Project........................................................................................................................................... 523
Round ........................................................................................................................................... 524
Split............................................................................................................................................... 525
Add Point........................................................................................................................................... 526
Bridge ................................................................................................................................................ 528
Brush.................................................................................................................................................. 531
Close Polygon Hole ............................................................................................................................ 534
Create Polygon .................................................................................................................................. 534
Edge Cut ............................................................................................................................................ 537
Iron .................................................................................................................................................... 538
Knife .................................................................................................................................................. 539
Magnet .............................................................................................................................................. 542
Mirror ................................................................................................................................................ 544
Set Point Value................................................................................................................................... 546
Slide ................................................................................................................................................... 548
Stitch And Sew .................................................................................................................................. 549
Weld .................................................................................................................................................. 551
Weight HyperNURBS.......................................................................................................................... 551
Bevel .................................................................................................................................................. 552
Extrude .............................................................................................................................................. 558
Extrude Inner ..................................................................................................................................... 561
Matrix Extrude ................................................................................................................................... 563
Smooth Shift...................................................................................................................................... 566
Normal Move ..................................................................................................................................... 567
Normal Scale...................................................................................................................................... 568
Normal Rotate ................................................................................................................................... 568
Structure Context Menu .................................................................................................................... 569

11 Functions Menu............................................................................................ 573
Make Editable .................................................................................................................................... 573
Arrange.............................................................................................................................................. 573
Center ................................................................................................................................................ 580
Connect ............................................................................................................................................. 581

Current State To Object ..................................................................................................................... 581
Duplicate ........................................................................................................................................... 582
Measure & Construction.................................................................................................................... 583
Transfer.............................................................................................................................................. 587
Randomize ......................................................................................................................................... 587
Reset System...................................................................................................................................... 588
Align Normals .................................................................................................................................... 590
Reverse Normals ................................................................................................................................ 592
Move Down Sequence, Move Up Sequence ...................................................................................... 592
Collapse ............................................................................................................................................. 593
Melt ................................................................................................................................................... 593
Optimize ............................................................................................................................................ 595
Subdivide ........................................................................................................................................... 596
Triangulate......................................................................................................................................... 597
Untriangulate..................................................................................................................................... 597
Retriangulate N-gons......................................................................................................................... 597
Remove N-gons ................................................................................................................................. 598
Array .................................................................................................................................................. 598
Clone ................................................................................................................................................. 600
Disconnect ......................................................................................................................................... 602
Explode Segments ............................................................................................................................. 602
Break Phong Shading......................................................................................................................... 602
Unbreak Phong Shading .................................................................................................................... 602
Select Broken Phong Edges ............................................................................................................... 602
Increase/Decrease HN Subdivision..................................................................................................... 602

12 Plugins ..........................................................................................................605
Execute Last Plugin ............................................................................................................................ 605
ASCII Animation Import .................................................................................................................... 606
FlashEx ............................................................................................................................................... 609
General tab ................................................................................................................................... 609
Lines tab ........................................................................................................................................612
HTML tab ...................................................................................................................................... 613
FlashEx Tag ................................................................................................................................... 614
FlashEx FAQs ................................................................................................................................. 614
SpaceMouse ...................................................................................................................................... 616

13 Rendering ..................................................................................................... 619
Render Alerts ..................................................................................................................................... 619
Render Active Object ......................................................................................................................... 620
Render Region ................................................................................................................................... 620
Render To Picture Viewer................................................................................................................... 620

Batch Rendering ................................................................................................................................ 621
Make Preview..................................................................................................................................... 621
Render Settings ................................................................................................................................. 622
New Render Settings ......................................................................................................................... 623
Delete Render Settings ...................................................................................................................... 623
Flush Illumination Caches .................................................................................................................. 623
Bake Texture (formerly SLA ‘Baker’) .................................................................................................. 624
Calculate Dirt ..................................................................................................................................... 627
Render Settings ................................................................................................................................. 631
General ......................................................................................................................................... 631
Output .......................................................................................................................................... 634
Save .............................................................................................................................................. 637
Radiosity, Caustics ........................................................................................................................ 648
Effects........................................................................................................................................... 649
Options ......................................................................................................................................... 657
Multi-Pass ..................................................................................................................................... 662
QuickTime VR................................................................................................................................ 668
Movie Formats ................................................................................................................................... 671

14 Window Menu.............................................................................................. 675
Layout ........................................................................................................................................... 675
New View Panel ............................................................................................................................ 677
Object Manager............................................................................................................................ 678
Material Manager ......................................................................................................................... 678
Timeline ........................................................................................................................................ 678
F-Curve Manager .......................................................................................................................... 679
Attribute Manager........................................................................................................................ 679
Picture Viewer............................................................................................................................... 680
Coordinate Manager..................................................................................................................... 680
Structure Manager........................................................................................................................ 681
Browser......................................................................................................................................... 681
Console ......................................................................................................................................... 681
Global Status Bar .......................................................................................................................... 682
Selection Info................................................................................................................................ 682
Structure Info................................................................................................................................ 682
Other Scene Windows .................................................................................................................. 682

15 Help Menu ....................................................................................................685
MAXON Online ............................................................................................................................. 685
Help (CINEMA 4D) ........................................................................................................................ 685
Personalize.................................................................................................................................... 685
Info ............................................................................................................................................... 685

16 Coordinate Manager ....................................................................................689
17 Object Manager ...........................................................................................693
File Menu ........................................................................................................................................... 696
CINEMA 4D tags ........................................................................................................................... 696
Restore Selection .......................................................................................................................... 718
Save Objects As ............................................................................................................................ 719
Display Tags .................................................................................................................................. 719
Close ............................................................................................................................................. 719
Edit Menu .......................................................................................................................................... 720
Undo ............................................................................................................................................. 720
Redo.............................................................................................................................................. 720
Cut ................................................................................................................................................ 720
Copy.............................................................................................................................................. 720
Paste ............................................................................................................................................. 720
Delete ........................................................................................................................................... 720
Select All, Deselect All .................................................................................................................. 720
Select Children.............................................................................................................................. 720
Show Objects................................................................................................................................ 721
Hide Objects ................................................................................................................................. 721
Invert Object Selection ................................................................................................................. 721
Objects Menu .................................................................................................................................... 722
Object Display............................................................................................................................... 722
Search ........................................................................................................................................... 724
Search First Active Object ............................................................................................................. 726
Edit Object .................................................................................................................................... 726
Rename Object ............................................................................................................................. 726
Group Objects .............................................................................................................................. 726
Expand Object Group ................................................................................................................... 726
Make Editable ............................................................................................................................... 726
Current State To Object ................................................................................................................ 726
Connect ........................................................................................................................................ 727
Select Children.............................................................................................................................. 727
Show Tracks .................................................................................................................................. 727
Show F-Curves .............................................................................................................................. 727
Object Information ....................................................................................................................... 727
Scene Information ........................................................................................................................ 727
Fold All.......................................................................................................................................... 728
Unfold All...................................................................................................................................... 728
Fix Bones....................................................................................................................................... 728
Reset Bones .................................................................................................................................. 728

Bake Particles ................................................................................................................................ 728
Tags Menu ......................................................................................................................................... 730
Edit Tag ......................................................................................................................................... 730
Copy Tag To Children .................................................................................................................... 730
Select Identical Child Tags ............................................................................................................ 730
Texture Menu..................................................................................................................................... 731
Generate UVW Coordinates.......................................................................................................... 731
Assign UVW Coordinates.............................................................................................................. 732
Fit To Object, Fit To Image, Fit To Region ..................................................................................... 733
Adapt To Object Axis, Adapt To World Axis, Adapt To View ........................................................ 733
Mirror Horizontally, Mirror Vertically............................................................................................ 734

18 Material Manager......................................................................................... 737
File Menu ........................................................................................................................................... 738
New Material ................................................................................................................................ 738
Shader........................................................................................................................................... 738
Load Materials .............................................................................................................................. 738
Save Materials As.......................................................................................................................... 738
Save All Materials As..................................................................................................................... 738
Close ............................................................................................................................................. 738
Edit Menu .......................................................................................................................................... 739
Undo, Redo ................................................................................................................................... 739
Cut ................................................................................................................................................ 739
Copy.............................................................................................................................................. 739
Paste ............................................................................................................................................. 739
Delete ........................................................................................................................................... 739
Select All, Deselect All .................................................................................................................. 739
Material List .................................................................................................................................. 740
Mini Icons, Small Icons, Medium Icons, Large Icons..................................................................... 740
Function Menu ...................................................................................................................................741
Select Materials Of Active Objects.................................................................................................741
Find First Active Material ...............................................................................................................741
Render Materials, Render All Materials .........................................................................................741
New Material Group, Remove Material Group ..............................................................................741
Sort Materials ............................................................................................................................... 742
Edit ............................................................................................................................................... 742
Apply ............................................................................................................................................ 743
Rename ......................................................................................................................................... 743
Remove Unused Materials ............................................................................................................ 743
Remove Duplicate Materials ......................................................................................................... 743
Select Texture Tags ....................................................................................................................... 743

The Material Editor ............................................................................................................................ 745
Material Preview ...................................................................................................................... 746
Color chooser........................................................................................................................... 748
Texture settings ....................................................................................................................... 748
Color ............................................................................................................................................. 756
Diffusion ....................................................................................................................................... 757
Luminance .................................................................................................................................... 758
Transparency................................................................................................................................. 759
Reflection...................................................................................................................................... 764
Environment ................................................................................................................................. 767
Fog................................................................................................................................................ 769
Bump ............................................................................................................................................ 770
Alpha ............................................................................................................................................ 772
Specular ........................................................................................................................................ 775
Specular Color .............................................................................................................................. 777
Glow ............................................................................................................................................. 778
Displacement ................................................................................................................................ 780
Illumination .................................................................................................................................. 783
Assignment................................................................................................................................... 785
The Shaders ....................................................................................................................................... 787
Channel shaders ........................................................................................................................... 788
Color ........................................................................................................................................ 790
Noise ........................................................................................................................................ 790
Gradient................................................................................................................................... 794
Fresnel ..................................................................................................................................... 798
Filter......................................................................................................................................... 799
Fusion ...................................................................................................................................... 801
Layer ........................................................................................................................................ 804
Colorizer .................................................................................................................................. 806
Posterizer ................................................................................................................................. 807
Backlight .................................................................................................................................. 807
Dirt........................................................................................................................................... 808
Distorter................................................................................................................................... 809
Falloff....................................................................................................................................... 810
Lumas .......................................................................................................................................811
Normal Direction (previously ‘Buffy’) ...................................................................................... 815
Projector .................................................................................................................................. 816
Proximal ................................................................................................................................... 817
Ripple....................................................................................................................................... 820
Spectral.................................................................................................................................... 821
Spline ....................................................................................................................................... 824
Vertex Map .............................................................................................................................. 827

Brick ......................................................................................................................................... 827
Checkerboard .......................................................................................................................... 828
Cloud ....................................................................................................................................... 828
Cyclone .................................................................................................................................... 829
Earth ........................................................................................................................................ 829
Fire ........................................................................................................................................... 830
Flame ....................................................................................................................................... 830
Galaxy ...................................................................................................................................... 831
Marble ..................................................................................................................................... 831
Metal ....................................................................................................................................... 832
Planet....................................................................................................................................... 832
Rust.......................................................................................................................................... 834
Simple Noise ............................................................................................................................ 834
Simple Turbulence ................................................................................................................... 835
Starfield ................................................................................................................................... 835
Stars ......................................................................................................................................... 836
Sunburst .................................................................................................................................. 836
Tiles.......................................................................................................................................... 837
Types of Tile Pattern ................................................................................................................ 839
Venus ....................................................................................................................................... 840
Water ....................................................................................................................................... 840
Wood ....................................................................................................................................... 841
Material shaders ........................................................................................................................... 842
Fog........................................................................................................................................... 842
Terrain...................................................................................................................................... 843
The former SLA volume shaders ................................................................................................... 844
Banji ......................................................................................................................................... 844
Banzi ........................................................................................................................................ 845
Cheen....................................................................................................................................... 847
Danel........................................................................................................................................ 849
Mabel....................................................................................................................................... 849
Nukei........................................................................................................................................ 851
Alpha A page ........................................................................................................................... 854
Texture Mapping ............................................................................................................................... 867
Texture tag settings ...................................................................................................................... 867
Types of mapping .................................................................................................................... 874
Mixing textures........................................................................................................................ 879
Putting a label on a bottle....................................................................................................... 882
Different materials for the hull, caps and rounding ................................................................ 883

19 Timeline ........................................................................................................887
Animation Toolbar ............................................................................................................................. 888
Commands.................................................................................................................................... 888
Options ......................................................................................................................................... 890
Animation Menu................................................................................................................................ 892
Record........................................................................................................................................... 892
Keyframe....................................................................................................................................... 892
Play Mode ..................................................................................................................................... 893
Working in the Timeline .................................................................................................................... 894
Improving workflow ..................................................................................................................... 894
Drag-and-drop......................................................................................................................... 894
Navigation ............................................................................................................................... 894
Context menus......................................................................................................................... 895
The Objects area ........................................................................................................................... 895
Automatic mode ...................................................................................................................... 895
Manual mode........................................................................................................................... 896
Moving the time slider without animation.............................................................................. 896
Layer system ............................................................................................................................ 896
Timeline ruler and preview range ............................................................................................ 897
Markers .................................................................................................................................... 897
Recording animation .................................................................................................................... 899
Keyframing with the Record button ........................................................................................ 899
Keyframing in the Attribute manager ..................................................................................... 900
Autokeying (automatic recording)........................................................................................... 901
Keyframing in the Timeline...................................................................................................... 902
Selecting elements ....................................................................................................................... 904
Rectangle selection.................................................................................................................. 904
Selecting individual vector components.................................................................................. 904
Using drag and drop to copy and move ....................................................................................... 905
Moving animations hierarchically ............................................................................................ 905
Moving tracks, sequences and keys......................................................................................... 905
File Menu ........................................................................................................................................... 907
New Track > Parameter ................................................................................................................ 907
New Track > Morph...................................................................................................................... 910
New Track > PLA .......................................................................................................................... 913
New Track > Sound ...................................................................................................................... 915
New Track > Time......................................................................................................................... 917
New Sequence .............................................................................................................................. 920
New Key........................................................................................................................................ 923
New Marker .................................................................................................................................. 926
2D Sound Rendering..................................................................................................................... 927
3D Sound Rendering..................................................................................................................... 928

Close ............................................................................................................................................. 929
Edit Menu .......................................................................................................................................... 930
Undo ............................................................................................................................................. 930
Redo.............................................................................................................................................. 930
Cut ................................................................................................................................................ 930
Copy.............................................................................................................................................. 930
Paste ............................................................................................................................................. 930
Delete ........................................................................................................................................... 931
Delete All Markers ........................................................................................................................ 931
Select All ....................................................................................................................................... 931
Deselect All ................................................................................................................................... 931
Selections ..................................................................................................................................... 931
Arrange Mode............................................................................................................................... 932
Show All Animated ....................................................................................................................... 932
Remove Object, Remove All.......................................................................................................... 932
Snap To Frame .............................................................................................................................. 932
Project Settings ............................................................................................................................ 933
Link To Object Manager................................................................................................................ 933
Automatic Mode........................................................................................................................... 933
View Menu ........................................................................................................................................ 935
Frame All....................................................................................................................................... 935
Frame Selection ............................................................................................................................ 935
Frame Start ................................................................................................................................... 935
Frame End..................................................................................................................................... 935
Frame Active Time ........................................................................................................................ 935
Frame Time ................................................................................................................................... 935
Frame Marker................................................................................................................................ 935
Frame Right Marker, Frame Left Marker ....................................................................................... 935
Zoom In, Zoom Out ...................................................................................................................... 935
Filter Menu ........................................................................................................................................ 936
Objects Menu .................................................................................................................................... 937
Rename Object ............................................................................................................................. 937
Search Active Object..................................................................................................................... 937
Fold All, Unfold All........................................................................................................................ 937
Bake Object................................................................................................................................... 937
Position Track To Spline ................................................................................................................ 937
Spline To Position Track ................................................................................................................ 938
Sequences Menu........................................................................................................................... 939
Record Selected ............................................................................................................................ 939
Insert Preview Range .................................................................................................................... 939
Delete Preview Range ................................................................................................................... 939
Adjust ........................................................................................................................................... 939

Connect ........................................................................................................................................ 940
Divide............................................................................................................................................ 940
Markers From Selection ................................................................................................................ 940
Move/Scale ................................................................................................................................... 941
Quantize ....................................................................................................................................... 941
Layer Menu ........................................................................................................................................ 942
Color Selection ............................................................................................................................. 942
Select Layer................................................................................................................................... 942
Toggle Layer.................................................................................................................................. 942
Solo Layer ..................................................................................................................................... 942
All Layers ...................................................................................................................................... 942
Loading XL R7 scenes ........................................................................................................................ 943
Animating materials .......................................................................................................................... 943

20 F-Curve Manager..........................................................................................947
F-Curves in the Timeline .................................................................................................................... 951
Edit Menu .......................................................................................................................................... 952
Undo, Redo ................................................................................................................................... 952
Delete ........................................................................................................................................... 952
Select All, Deselect All, Invert All.................................................................................................. 952
Remove All .................................................................................................................................... 952
F-Curve List ................................................................................................................................... 952
Snap To Frame .............................................................................................................................. 952
Automatic Mode........................................................................................................................... 952
View Menu ........................................................................................................................................ 953
Frame All....................................................................................................................................... 953
Frame Selection ............................................................................................................................ 953
Auto Relative ................................................................................................................................ 953
Reset Relative................................................................................................................................ 953
Crosshairs ..................................................................................................................................... 953
Grid............................................................................................................................................... 953
Velocity ......................................................................................................................................... 954
Curves Menu...................................................................................................................................... 954
Custom Tangents .......................................................................................................................... 954
Function........................................................................................................................................ 955
Ease In, Ease Out .......................................................................................................................... 956
Easy Ease....................................................................................................................................... 956
Hold .............................................................................................................................................. 956
Clamp ........................................................................................................................................... 957
Move............................................................................................................................................. 957
Scale ............................................................................................................................................. 957
Mirror X, Mirror Y ......................................................................................................................... 957

Cycle ............................................................................................................................................. 957
Cycle With Offset.......................................................................................................................... 958
Bake Curve .................................................................................................................................... 958
Simplify Curve............................................................................................................................... 958

21 Attribute Manager ....................................................................................... 961
Editing parameters ............................................................................................................................ 962
Navigating the Attribute manager .................................................................................................... 962
The Attribute manager’s context menu ............................................................................................ 964
Animation ..................................................................................................................................... 964
User Interface ............................................................................................................................... 967
Show Subchannels........................................................................................................................ 967
Copy, Paste ................................................................................................................................... 967
Paste Identical............................................................................................................................... 967
Select All, Deselect All .................................................................................................................. 968
Edit Entry ...................................................................................................................................... 968
Remove Entry................................................................................................................................ 968
Load Data, Save Data.................................................................................................................... 968
Add To HUD .................................................................................................................................. 968
Multiple selection .............................................................................................................................. 968
The Attribute manager’s menu.......................................................................................................... 969
Mode ............................................................................................................................................ 969
Edit ............................................................................................................................................... 970
User Data ...................................................................................................................................... 971

22 XPresso Editor .............................................................................................. 975
XGroups............................................................................................................................................. 976
Nodes................................................................................................................................................. 977
Ports .................................................................................................................................................. 978
Wires.................................................................................................................................................. 979
Creating a new XPresso expression ................................................................................................... 980
Setting the priority ....................................................................................................................... 980
Data types..................................................................................................................................... 981
XPresso Editor Menus ........................................................................................................................ 985
File Menu ...................................................................................................................................... 985
Edit Menu ..................................................................................................................................... 985
Layout Menu................................................................................................................................. 986
View Menu.................................................................................................................................... 986
Custom Menu ............................................................................................................................... 987
Calculate Menu............................................................................................................................. 987
XPresso Context Menus..................................................................................................................... 988
Context menu for nodes and XGroups ......................................................................................... 988

New XGroup ............................................................................................................................ 988
New Node ................................................................................................................................ 988
Unpack XGroup........................................................................................................................ 989
Convert To XGroup .................................................................................................................. 989
Align To Grid............................................................................................................................ 989
Zoom........................................................................................................................................ 989
View......................................................................................................................................... 989
Content.................................................................................................................................... 989
Connections............................................................................................................................. 989
Ports ........................................................................................................................................ 990
Delete ...................................................................................................................................... 990
Rename .................................................................................................................................... 990
Optimize .................................................................................................................................. 990
Select Connected..................................................................................................................... 990
Disable ..................................................................................................................................... 991
Context menu for ports ................................................................................................................ 991
Port Information ...................................................................................................................... 991
Remove Wires .......................................................................................................................... 991
Rename Ports........................................................................................................................... 991
Delete Port............................................................................................................................... 991
The XPresso Manager ........................................................................................................................ 992
The XPresso Pool ............................................................................................................................... 993
Edit Menu ..................................................................................................................................... 994
XPresso Nodes ................................................................................................................................... 995
General Group .............................................................................................................................. 995
Bounding Box .......................................................................................................................... 995
Collision ................................................................................................................................... 996
Constant .................................................................................................................................. 998
FlipFlop .................................................................................................................................... 998
Freeze....................................................................................................................................... 999
Link List.................................................................................................................................... 999
Memory ................................................................................................................................. 1000
MonoFlop .............................................................................................................................. 1001
Noise ...................................................................................................................................... 1002
Object .................................................................................................................................... 1004
ObjectIndex ........................................................................................................................... 1007
Point ...................................................................................................................................... 1008
Polygon.................................................................................................................................. 1009
Random ................................................................................................................................. 1010
Ray Collision............................................................................................................................1011
Reference ................................................................................................................................1013
Remark....................................................................................................................................1013

Result, Spy ..............................................................................................................................1014
Sound .....................................................................................................................................1014
Spline ......................................................................................................................................1015
Time ........................................................................................................................................1017
Real .........................................................................................................................................1017
Weightmap .............................................................................................................................1018
Adapter Group.............................................................................................................................1019
Matrix2Vectors .......................................................................................................................1019
Reals2Vector ...........................................................................................................................1019
Universal .................................................................................................................................1019
Vector2Reals .......................................................................................................................... 1020
Vectors2Matrix ...................................................................................................................... 1020
Bool Group ................................................................................................................................. 1021
Bool........................................................................................................................................ 1021
NOT........................................................................................................................................ 1022
Switch .................................................................................................................................... 1022
Calculate Group .......................................................................................................................... 1023
Absolute ................................................................................................................................ 1023
C.O.F.F.E.E. ............................................................................................................................. 1023
Clamp..................................................................................................................................... 1024
Colorspace ............................................................................................................................. 1024
Cross Product......................................................................................................................... 1025
Degree ................................................................................................................................... 1025
Distance ................................................................................................................................. 1025
Dot Product ........................................................................................................................... 1026
FloatFunc ............................................................................................................................... 1026
FloatMath .............................................................................................................................. 1027
Formula.................................................................................................................................. 1028
Invert ..................................................................................................................................... 1028
Math ...................................................................................................................................... 1029
Matrix2HPB ............................................................................................................................ 1029
MatrixMulVector.................................................................................................................... 1030
Mix ......................................................................................................................................... 1030
Negate ................................................................................................................................... 1030
Range Mapper ....................................................................................................................... 1031
Trigonometric ........................................................................................................................ 1033
Vector2Matrix ........................................................................................................................ 1033
Logic Group ................................................................................................................................ 1034
Compare ................................................................................................................................ 1034
Condition ............................................................................................................................... 1035
Equal ...................................................................................................................................... 1035
Is Null ..................................................................................................................................... 1035

Order...................................................................................................................................... 1036
Iterator........................................................................................................................................ 1037
Hierarchy................................................................................................................................ 1037
Iteration ................................................................................................................................. 1040
Material ................................................................................................................................. 1041
ObjectList............................................................................................................................... 1042
Selection ................................................................................................................................ 1042
Tag ......................................................................................................................................... 1043
Set Driven Keys ................................................................................................................................ 1045
Relative Driven Keys.................................................................................................................... 1046

23 Structure Manager..................................................................................... 1049
Navigating the Structure manager .................................................................................................. 1050
File Menu ......................................................................................................................................... 1051
New Line ..................................................................................................................................... 1051
Import ASCII Data....................................................................................................................... 1051
Export ASCII Data ....................................................................................................................... 1052
Close ........................................................................................................................................... 1052
Edit Menu ........................................................................................................................................ 1053
Undo, Redo ................................................................................................................................. 1053
Select All, Deselect All, Invert All................................................................................................ 1053
Select Area.................................................................................................................................. 1053
View Menu ...................................................................................................................................... 1053
Jump Last Selection, Jump Next Selection ................................................................................. 1053
Jump Page Up, Jump Page Down ............................................................................................... 1053
Jump Home, Jump End ............................................................................................................... 1053
Mode Menu ..................................................................................................................................... 1054
Points.......................................................................................................................................... 1054
Polygons ..................................................................................................................................... 1054
UVW ........................................................................................................................................... 1054
Vertex Map ................................................................................................................................. 1054
N-Gons........................................................................................................................................ 1054

24 Picture Viewer ............................................................................................ 1057
File Menu ......................................................................................................................................... 1058
Open ........................................................................................................................................... 1058
Save Picture As ........................................................................................................................... 1058
Stop Rendering .......................................................................................................................... 1058
Close .......................................................................................................................................... 1059
Edit Menu ....................................................................................................................................... 1059
Copy............................................................................................................................................ 1059
Channels Menu................................................................................................................................ 1059

Multi-Layer Display ..................................................................................................................... 1059
Image.......................................................................................................................................... 1059
Alpha ......................................................................................................................................... 1059
Components Menu .......................................................................................................................... 1060
Red, Green, Blue ........................................................................................................................ 1060
Grayscale ................................................................................................................................... 1060
View Menu ...................................................................................................................................... 1060
Fit To Size ................................................................................................................................... 1060
Zoom Factors .............................................................................................................................. 1060
Zoom In, Zoom Out ................................................................................................................... 1060
Show Renderline......................................................................................................................... 1060

Appendix ......................................................................................................... 1063
Formulae.......................................................................................................................................... 1063
Programming plugins ...................................................................................................................... 1065
The COFFEE programming language ......................................................................................... 1065
The SDK....................................................................................................................................... 1065
COFFEE support .......................................................................................................................... 1066
File Formats ..................................................................................................................................... 1066
Image Formats............................................................................................................................ 1066
Animation Formats ..................................................................................................................... 1069
3D Formats ................................................................................................................................. 1069
Sound Formats ........................................................................................................................... 1072
Support ........................................................................................................................................... 1073

Index................................................................................................................ 1077

1 Getting to Know

GETTING TO KNOW CINEMA 4D • 3

1 Getting to Know CINEMA 4D
Important notes
OpenGL
CINEMA 4D starts in OpenGL mode. If you experience OpenGL problems, quit CINEMA 4D and
restart CINEMA 4D with the Shift key held down until the splash screen shown below has closed.

Hold down Shift while CINEMA 4D starts to activate software shading mode.

CINEMA 4D will then start in software shading mode. Once the program has loaded, experiment
with the OpenGL options in the preferences. Start by disabling the following options before you
switch OpenGL back on, add the options back one by one until you find out which option is causing
the problem:
-

Smart Window Refresh
Smart Live Selection
Active Object Plane
Highlight Plane
OpenGL Hardware Lighting
Shared Textures
Antialiased Lines

Once you’ve found out which option(s) is causing the incompatibility, keep that option disabled.
OpenGL should now function correctly.

Installing QuickTime
We recommend that QuickTime is installed on your system. QuickTime makes additional image
formats available to CINEMA 4D and in addition allows you to render QuickTime movies. You can
download the QuickTime installer from www.apple.com/quicktime.

4 • CHAPTER 1

What’s new in R9
If you’ve used a previous version of CINEMA 4D, you’re no doubt itching to know what’s new. In
these pages you’ll find a brief description of some of the key new features in R9. To find out more
about a particular feature, look it up in the index or in the relevant chapter.

Modeling
N-gons support

Without n-gons (left) and with n-gons (right).

CINEMA 4D now supports n-gons. N-gons help to keep the mesh clean and easier and faster to
work with. An n-gon is a polygon that has more than four corner points. Prior to R9, CINEMA 4D
was limited to polygons with three or four corner points (triangles or quadrangles). Now a polygon
can have an unlimited number of corner points.
New Measure & Construction tool
Not only can you measure distances and angles with this new tool, you can also use it to line up
objects and change the distances and angles — either by eye (drag and drop) or by entering values.
Tweak mode
Editing objects is faster than ever with the new tweak mode. When putting the finishing touches
to models, you often need to edit a point here, an edge there, a polygon there. The advantage of
tweak mode is that it’s like you are working in the point, edge and polygon modes all at the same
time: you can edit points, edges and polygons without having to keep changing the mode.
Enhanced modeling toolset
Many of the existing modeling tools are now non-modal. This means instant updates to the changes
that you choose to make.

GETTING TO KNOW CINEMA 4D • 5

Brush tool
Paint detail, smoothness and much more directly onto your models.
Improved Knife tool
Optimized for R9’s n-gons, you can now make cleaner cuts.
Stitch & Sew
This new tool makes it easy to close holes between objects.
Melt
Great for simplifying needlessly complicated parts of your model, this fabulous tool will melt
multiple polygons into a single n-gon.
Background pictures
Background pictures will now come in at the right width to height ratio. New features allow you to
adjust the opacity of background pictures and use their alpha channel masks.

Interface
HUD
Using this amazing tool, you can display and even adjust parameters directly in the viewport!
Highlighting
The new highlighting mode clearly shows you what you’re selecting, be it an object axis, point,
edge or polygon. Further, selected polygons become tinted, ensuring that you can always see
what’s selected and what isn’t.
Dockable context menus
All context menus can now be docked directly into the interface. Ideal for all those tools that you
use most often.
Improved Open GL performance
Open GL is now better than ever. When working in split views, refresh rates are now much faster.
OS X users will now benefit from support for dual plane technology, which massively improves
editor playback performance in scenes with only one object moving.
Shortcut hierarchies
Now you can assign multiple key commands as a shortcut. For example, hitting ‘a’ could access one
shortcut, whereas ‘a’ swiftly followed by ‘b’ could access an entirely different one.

6 • CHAPTER 1

Layout
As requested by many users, the interface is slightly darker than before. This ensures the editor
window takes centre stage and you’re not distracted by the rest of the interface.
Drag and drop
We’ve added yet more drag and drop functionality. You can now drag and drop names into boxes.
For example, you can drag and drop a Polygon Selection tag into the Selection box of a Texture tag
to restrict the texture to that selection. Previously, you had to type the name in.
Tags and Expressions
It’s easier to find the tags that you want. Tags and expressions are now separated by module and
plugin on the Object manager’s File menu.
Improved axis stems, new axis bands
You can now drag an axis stem to constrain movement, scale or direction to that axis (previously
you could drag the axis handle to do this but not the stem). Using the viewport settings you can
now add axis bands that when dragged will constrain the direction to a plane.
Menus
The main menu has been restructured for improved clarity. For example, commands from the old
Edit Surface submenu have been moved to the Functions menu.

Selections
Multiple object editing
You can now edit the points, edges or polygons of multiple selected objects (previously you could
only edit points, edges or polygons if a single object was selected).
New selection tools
Combined with the highlighting tools, you can now easily select rings and loops of points, polys or
edges using new selection tools. By simply hovering the mouse pointer over the model, rings and
loops of polys will automatically be highlighted.
Soft selections
Selecting polys with soft selection allows you to move them with a smooth interpolation between
themselves and the unselected polygons.
Isoline editing
This new mode makes it easier to select points, edges and polygons when working with
HyperNURBS objects. It works by projecting the points, edges and polygons directly onto the
smoothed mesh. No longer will parts your cage be hidden behind the smoothed surface!

GETTING TO KNOW CINEMA 4D • 7

Rendering
Ray Depth
The maximum Ray Depth value (render settings > Options) has been increased from 50 to 500. This
is ideal for anyone rendering scenes containing complicated reflections, transparencies or alpha
maps where a value of 50 wouldn’t be high enough.
Intelligent cached Shadow Maps
Shadow maps are cached when you render the first time and are reused for subsequent renders to
speed up render times. Intelligence is built into the cache to detect situations when the maps need
to be recalculated such as when the light’s settings have been changed.
Control over strength of Fresnel reflections
A new setting allows you to control the strength of Fresnel reflections for better looking glass and
so on. You’ll find the new Fresnel Reflectivity setting in the Material editor on the Transparency
page.

Animation
Attribute Manager & Material manager
Animation keys can now be recorded by Ctrl-clicking the circle icons next to parameter names in the
Attribute manager or Material manager.

Import/Export
Even more third party support
R9 users can enjoy support for Final Cut Pro, After Effects 6.5 and Combustion 3.

Other
New search tool
The Object manager includes a powerful new search tool for finding objects and tags (Object
manager: Objects > Search).

8 • CHAPTER 1

Starting CINEMA 4D
To start CINEMA 4D, do one of the following:
- Double-click on the program icon.
- Double-click on a scene file.
- Use the Start menu (Windows).
Alternatively, drag-and-drop one or more CINEMA 4D files from Explorer (Windows) or Finder
(Mac OS) onto the CINEMA 4D application icon or directly into the program.
Template.c4d
If the CINEMA 4D root folder contains a scene named ‘Template.c4d’, this is loaded during startup
and all the settings defined there become effective.

Quitting CINEMA 4D
File > Quit quits the program. If any unsaved changes are detected, a dialog asks you if you wish to
save these before quitting. Clicking on Cancel in this dialog returns you to the program.



To save the layout automatically each time you quit the program, open the Preferences and on
the Common page enable the Save Layout At Program End option.

Mouse techniques
CINEMA 4D gives you these extra mouse features:
- To simulate the right mouse button on the Mac, Command-click.
- If you want to drag an object onto a window displayed as a tab but the window is behind
another tab, drag and hold the object over the window’s tab. After a short delay, the window will
become the front tab and you can drop the object on the target.
- If you are using a wheel mouse, you can rotate the wheel to scroll sliders such as a material’s
brightness sliders or the Time slider. You can also use the wheel to increment and decrement
numbers in numerical text boxes.
- CINEMA 4D supports the middle, fourth and fifth mouse buttons. You can incorporate these
buttons into short-cuts using the Command manager.
- middle mouse button
- fourth mouse button
- fifth mouse button

MMB
MX1
MX2

GETTING TO KNOW CINEMA 4D • 9

Hotkeys 1 to 7
To use a hotkey, hold down the key and drag the mouse. The default hotkeys for the view panel are:
Result

Action

Move camera left/right/up/down

1 + drag

Move camera forwards/backwards

2 + drag

Zoom camera (changes focal length) 2 + right-drag (Windows) or 2 + Command-drag (Mac OS)
Rotate camera (X and Y axes)

3 + drag

Rotate camera (Z-axis)

3 + right-drag (Windows) or 3 + Command-drag (Mac OS)

Move selected objects

4 + drag

Scale selected objects (animating)

5 + drag

Rotate selected objects

6 + drag

Scale selected objects (modeling)

7 + drag

10 • CHAPTER 1

The user interface
The CINEMA 4D user interface has many features you won't find in the Windows or Mac OS GUI:
- You can dock all windows into the main window.
- When you move a docked window, the surrounding windows are resized automatically..
- You can display windows as tabs to save display space.

The CINEMA 4D GUI is freely configurable. You can create your own icon palettes (including folded
icons) and edit the menus. You can define various layouts and switch between them freely. For
example, you may find it helpful to create a layout for modeling, a layout for texturing and a layout
for animation since these tasks use different managers. A further powerful feature is that plugins
can be integrated into the GUI and make use of its features.

GETTING TO KNOW CINEMA 4D • 11

Example modeling layout.

Example texturing layout.

Example animation layout.

The fastest way to switch layouts is to click the topmost icon of the left tools palette. Choose the
desired layout from the list of freely configurable layouts and menus that appears. You can add
your own layouts to this list.

To switch to one of the other preset
layouts, click the topmost icon in the lefthand toolbar and choose the desired layout
from the list.

12 • CHAPTER 1

A quick tour
This section guides you through the GUI as it appears when you first start CINEMA 4D.

Managers
Managers are the main program elements in CINEMA 4D. Each manager has its own window and
runs alongside the other managers. This means that each manager can operate independently, so
that it is multi-threaded. This makes it possible — among other things — to render an animation in
the Picture viewer while you work in the view panel. Although the managers operate independently,
each manager reacts immediately to relevant changes made in other managers. For example,
when you move an object in the viewport, the object’s position values update automatically in the
Coordinate manager.

Windows
Each manager has its own window. You can place windows freely or dock them into CINEMA 4D’s
main window. In the default layout, most managers are docked. If you change the size of a docked
window, the surrounding windows are resized automatically.
To undock a window, click on its pin icon and choose Undock. To re-dock the window, drag-anddrop its pin icon onto the main window. A black line will indicate the insertion position. To change
a window’s size, first move the mouse pointer to its border; the pointer will change into a double
arrow to indicate the direction (either vertical or horizontal) in which you can drag the border. Drag
the window as required. The other windows in the group will adapt to the change.

Menu bars
Each manager has a local menu bar. Menu bars have the following features:
- Submenus.
- Commands that cannot be chosen are grayed out.
- Enabled options are indicated with a check mark.
- All shortcuts, including any you have defined yourself, are shown to the right of the menu option.

GETTING TO KNOW CINEMA 4D • 13

If there is not enough space to display the full menu bar, a black triangle is shown. Click the triangle
to reveal the remaining menu entries.

Icon palettes
The default layout has two icon palettes (aka toolbars) containing the most popular commands as
icons. Some of the icons have a small black triangle, indicating a folded group of commands. To
access the group of commands, click and hold the left mouse button. Note that the icon shown
before unfolding the group is the most recently used command (provided that Lock Icon is disabled
on the folded group’s context menu).

Tabs
You can display windows and icon palettes as tabs. For example, the Object manager, Structure
manager and Browser are displayed as tabs in the default layout. This saves display space and helps
you to reach a manager or icon palette quickly. If the tabs cannot all be displayed in the available
display space, a torn tab is shown. Scroll the tabs by clicking the small triangle icons in the top right
of the window or by dragging one of the tabs.

Context menus
To open a context menu, right-click (Windows) or Command-click (Mac OS).

Input boxes
Input boxes with two arrowheads (one pointing up, the other pointing down) offer the following
features:
- Click an arrowhead to increment or decrement the value by one.
- Drag an arrowhead to increase or decrease the value rapidly.

14 • CHAPTER 1

- Rotate the mouse wheel in a text box to increase or decrease the value.
In addition, you can enter math operators into text boxes. See the appendices.

View panel
The View panel is a collection of up to four viewports and is the heart of the program. This is where
you build and animate your 3D models.

Object manager
The Object manager contains all your scene’s elements (objects). You can group objects hierarchically.
For example, you can make a leaf a child of a branch and the branch a child of a tree. If you want to
edit an object, first select it by clicking its name or icon in the Object manager. The object’s name will
turn red to indicate selection. Most objects have tags that add properties to them such as materials or
Phong shading,

Material manager
The Material manager contains all the materials for the scene. If you double-click on a material icon,
the Material Editor will open so that you can edit the material. You can add a material to an object
by dragging and dropping the material from the Material manager onto the object.

Browser
In the default layout, the Browser is displayed as a tab. The Browser is a library for all files that can
be read by CINEMA 4D. You can drag-and-drop files from the Browser onto other managers to have
them displayed there. For example, if you drag and drop a scene onto the view panel, the scene is
loaded; if you drag and drop a scene onto the Material manager, the scene’s materials are loaded.

Coordinate manager
You can use the Coordinate manager for precision modeling or manipulation. For example, rather
than scale an object in the view panel, you can enter the exact size in the Coordinate manager. As
with all numerical text boxes, you can also enter mathematical operators.

Animation toolbar
This palette — described in Chapter 19, ‘Timeline’ — gives you simple animation controls. For more
advanced animation tools, open the Timeline.

GETTING TO KNOW CINEMA 4D • 15

Snap settings
Many types of snapping are available. For example, you can snap to the grid or snap to other
elements.

Attribute manager
The Attribute manager gives you access to all properties of the selected objects, materials, shaders,
tags, nodes, sequences, keys and tool options. See Chapter 21, ‘Attribute Manager’.

2 Views and Viewports

VIEWS AND VIEWPORTS • 19

2 Views and Viewports
You can open as many view panels as you like. Each view panel has its own display settings. A view
panel can display up to four viewports (views of a scene), each with its own display settings.

Viewport icons



When you orbit the camera, it usually rotates around the selected object’s origin; however,
if you hold down Ctrl at the same time while you orbit the camera, the camera will rotate
around its own origin instead. Or if you hold down Shift at the same time, the camera will
rotate around the center of the view taking into account the selected object’s Z distance or, if
no objects are selected, the world origin’s Z distance.

In the top right of each viewport you’ll find four icons. The right-most icon toggles the active view.
The remaining three icons move, zoom and rotate the camera (drag from the icon to see the effect).

20 • CHAPTER 2

Edit Menu
Undo View / Redo View

Each viewport has its own Undo View/Redo View functions (the Undo/Redo functions of the main
window do not affect editor cameras, i.e. those in viewports).



The short-cut for Undo View is Ctrl+Shift+Z. For Redo View, use Ctrl+Shift+Y.

Film Move, Film Magnify, Film Zoom

The arrows point in exactly the same directions before (left) and after (right) using the Film Move and Film Zoom
commands.

These three tools work in the same way as the viewport navigation icons except they preserve the
perspective, i.e. the angles of lines will remain the same. For example, the sides of a house will be
at exactly the same angles in the view before and after using the Film Move, Film Magnify and Film
Zoom tools.
To test these tools, first activate the view and create a camera (Objects > Scene > Camera). Attach
the camera to the view by choosing the camera’s name from the view’s Cameras > Scene Cameras
menu. If you now change the portion of the picture shown using the Film Move, Film Magnify and
Film Zoom tools, you’ll see that the camera’s values for Focal Length, Field Of View, Offset X and
Offset Y have been changed accordingly.

Zoom In, Zoom Out
Here you can zoom in and out.

VIEWS AND VIEWPORTS • 21

Frame commands



Hold down the Shift key when using the following short-cuts to zoom all views instead of the
active view only: Frame Selected Elements (“S”), Frame Active Objects (“O”) and Frame Scene
Without Camera/Light (“H”).

Frame Selected Elements
The camera will move so that the selected elements (e.g. objects, polygons) fill the viewport and
are centered.
Frame Active Objects
The camera will move so that the active objects fill the viewport and are centered.
Frame Scene Without Camera/Light
The camera will move so that all objects apart from lights and cameras fill the active viewport and
are centered.
Frame Scene
The camera will move so that all objects including lights and cameras fill the active viewport and
are centered.
Frame Default
This function resets the viewport to the default values, as if you had just started CINEMA 4D.

Use as Render View
If this option is enabled, the active camera will be used for the rendering in the Picture Viewer.

Redraw
This function redraws the scene. Usually, CINEMA 4D updates viewports automatically. Sometimes
this is not possible, such as when you use several CPU-intensive commands in a short space of time.

22 • CHAPTER 2

Configure, Configure All
The following conventions apply when using the viewport settings:
- All options and parameters in bold are saved globally; they apply to all views and will be used
each time you restart CINEMA 4D, create a new scene or open a file.
- All other options and parameters are saved in the scene file.
- Local options and local parameters affect the active view or selected views only. You can select
multiple views by Shift-clicking the views in the position indicated by the mouse pointer in Figure
1. Multiple selected views have a green frame.

Figure 1.

- The Configure All command selects all existing views. You can then edit the settings of all views
at the same time in the Attribute manager.
- You can make any parameter or option global or local. To do this, select the element, right-click
(Windows) or Command-click (Mac OS) on the element and, from the context menu that appears
(Figure 2), choose Make Parameter Global or Make Parameter Local.

Figure 2.

Global definitions always override local definitions. For example, suppose you have disabled the
global Normals option to switch off the display of normals in the viewports. You then open a
CINEMA 4D file in which the Normals options is enabled locally. In this case, the normals won’t be
displayed.

VIEWS AND VIEWPORTS • 23

Display tab

These settings mostly control how active and inactive objects will be displayed in the viewport.
Title
Here you can change the view’s name. This is the name displayed in the viewport provided
Projection is enabled on the HUD tab in the viewport settings.

Active Object
Shading, Wire
These settings define the display mode used for active objects.
Display Tags
If this option is enabled, the active object will use the display mode defined in its Display tag (if
present) instead of the setting defined here in the viewport settings.
Normals
If you enable this option, surface normals will be displayed in the viewport for the selected
polygons. Each normal is displayed as a small auxiliary line perpendicular to the polygon’s surface.
By convention, the direction of a normal represents the direction of its polygon.
For example, backface culling checks the direction of each normal to determine whether its surface
should be drawn — if the normal points away from the camera, the surface is not drawn (the
surface is assumed to point away from the camera, just like its normal).

24 • CHAPTER 2

Selected Only
Disable this option to display all normals of the selected objects.
Animation Path
Enable this option to display the active object’s animation path as a yellow curve in the viewport.
Edit the animation path as you would a spline, i.e. drag curve points to new positions. The tangents
cannot be edited. Editing the animation path in this way allows you to adjust it without having to
edit the keys.
X-Ray
To enter X-Ray mode, enable this option. If the active object is a polygon object, it will become
semi-transparent so that you can see all of its points and edges.
Stacked Materials
This option controls how multiple alpha maps on the same object are displayed in the viewport.
Enable the option to display all of the alpha channels, but keep in mind that this will slow down the
viewport display. You’ll also find the option on the viewport’s Display menu.
Tinted Poly Selection

Tinted poly selection with normals enabled (left) and disabled (right).

If this option is enabled, the front and back faces of the selected polygons will be colored pink and
blue respectively.
Tinted Poly Normals
If you have enabled Tinted Poly Selection in, for example, the perspective view and you want to
hide the yellow normals that usually appear, disable this option. The normals will still be displayed
in the other views.

VIEWS AND VIEWPORTS • 25

Isoline Editing

Isoline Editing enabled (top) and disabled (bottom).

If this option is enabled, all the elements of the HyperNURBS cage object — i.e. its points, edges
and polygons — will be projected onto the smoothed HyperNURBS object. This allows you to
select these elements directly on the smoothed object. Although it may look like you are selected
smoothed parts of the object, you are, in factm selecting cage elements!



Some tools such as Close Polygon Hole do not support this mode. These tools will temporarily
switch over to the conventional mode. The Use Isoline Editing mode will become active again
as soon as you switch to a tool that does support the mode.

Deformed Editing

A cube deformed by a Bulge object with Deformed
Editing disabled (left) and enabled (right).

In versions of CINEMA 4D prior to R9, when you edited a polygon object that was being deformed
by a deformer, the polygon object would revert to its undeformed state as soon as you changed to
point, edge or polygon mode. Now CINEMA 4D allows you to edit polygon objects while they are
still in the deformed state — simply enable the Deformed Editing option.



As with Isoline Editing, some tools do not support Deformed Editing mode. While you are
using such tools the polygon object will temporarily revert to its undeformed state.

26 • CHAPTER 2

Edge Points
If you want object points to be displayed while you are working in edge mode, enable this option.
Shaded Axis
This option controls whether the object’s axis handles are shaded.
Active Axis Stems
If you want the object axis stems to have the same functionality as the object axis handles, enable
this option. You can then, say, move an object along its Z-axis by dragging the Z-axis stem instead
of having to drag the axis handle.
Rotation Bands

Rotation Bands enabled (left) and disabled (right).

Here you can choose whether either rotation bands or spherical handles are displayed for the
selected objects when the Rotate tool is selected.
Sel.: Bounding Box, Sel. : Wireframe, Children
Here you can define how active objects and their children should be displayed in the viewport: in
wireframe, with a bounding box or both.

Inactive Object
Separate Settings
Enable this option if you want the inactive objects to be displayed using different modes to the
ones specified on the viewport’s Display menu.
Shading, Wire
These settings define the display mode used for inactive objects.
Display Tags
If this option is enabled, the inactive objects will use the display mode defined in their Display tags
(if present) instead of the setting defined here in the viewport settings.

VIEWS AND VIEWPORTS • 27

Filter tab

Almost any type of element that can be displayed in the viewport can be switched on or off here on
the Filter tab. The options are self-explanatory except for the following:
N-gon Lines

N-Gon Lines disabled (left) and enabled (right).

Each n-gon will be internally triangulated for rendering or animation. You can display these
triangles in the viewport by enabling this option.
Other
This refers to elements that do not fall into any other category such as construction planes and
loudspeakers.
Axis Bands
This refers to the axis bands that appear in the viewport when the Move tool or Scale tool is
selected (these bands enable you to move or scale along a plane).
Multi-Select Axes
This refers to the small object axis that appears for each selected object when multiple objects are
selected.

28 • CHAPTER 2

Scene
This refers to scene objects such as the Floor object and Sky object.

View tab

Projection
You can use this setting to change the projection type (e.g. to Perspective, Bird, Dimetric).
Linked Camera
This box does the same job as the viewport’s Cameras > Scene Cameras submenu — in other
words, it allows you to choose which camera the viewport is linked to. Drag and drop the desired
camera from the Object manager into this box.
Textures
To switch off realtime texture mapping, enable this option.
Backface Culling
You can select this option to switch on backface culling.



Backface culling hides an object’s concealed points and edges. If you disable backface culling,
you will still see objects behind other objects in wireframe display mode.

VIEWS AND VIEWPORTS • 29

Safe Frames

Render Safe
Action Safe

Safe frames are areas that will be in full view when played back on the target medium.
Render Safe
If this option is enabled, the boundaries of the film format are shown in the viewport. The aspect
ratio of the film format is determined by the renderer.
Title Safe, Size
If this option is enabled, a frame is shown in the 3D viewport. To change the size of the frame,
enter a new percentage value into the Size box. The percentage is based on the film format that
is selected in the render settings. Title Safe marks out a region in which it is safe to place opening
credits, final credits and other text, where there will be a minimum of distortion when the movie is
played back on the target medium.
Many television sets have a dome-shaped picture-tube whose curvature increases towards the
edges. Pictures displayed on these sets tend to be distorted at the edges. Text such as film titles
should not be placed in these areas.
Action Safe, Size
If this option is enabled, a frame appears in the 3D viewport to mark out the region in which it is
safe for action to take place so that it will be in full view when played back on the target medium
(monitor, TV screen, cinema screen). To adjust the size of the frame, enter a new percentage value
into the Size box. The percentage is based on the film format that is selected in the render settings.
If you’re a frequent moviegoer, you may have noticed that the screen’s curtains are pulled closer or
further apart depending on the format of the film that’s playing. Even with TV screens, some of the
picture may be lost. Use Action Safe to ensure the viewer sees everything that matters.
Semi-Transparent Axes, Opacity
If this option is enabled, the axes of objects are semi-transparent. Enter the strength of
transparency into the Opacity box. If the option is disabled, the axes are fully opaque.

30 • CHAPTER 2

Scale Axes With Object, Axes Scale
If Scale Axes With Object is enabled, when you scale an object with the Object tool, the axes
displayed in the viewport will also be scaled. Large or small axes can make it difficult to perform quick
actions (move, scale, rotate) by dragging a particular axis. If the option is disabled, the object axes will
stay the same size when the object is scaled.
You can manually adjust the scale of the axes using the Axes Scale value.
Normals Scale
Defines the length of the polygon normals.
Rotation Scale
The rotation bands are the bands that appear in the viewport when the Roatate tool is selected
(provided Rotation Bands is enabled on the Display tab). The Rotation Scale value defines the
thickness of these rotation bands.
Band Position, Band Size

These parameters control the position and size of the axis bands.
The axis bands are the bands that appear in the viewport when the Move tool or Scale tool is
selected (provided Axis Bands is enabled on the Filter tab). The axis bands enable you to move or
scale along a plane.
Point Handle Size

Point Handle Size set to a low value
(left) and high value (right).

Here you can define the size of the object points that are displayed in point mode. These points will
always directly face the camera; this can sometimes result in points being partially hidden behind
object surfaces.

VIEWS AND VIEWPORTS • 31

Editor Axis Position, Editor Axis Type, Editor Axis Scale, Editor Axis Text
By default a small axis system is displayed in the bottom left of each view. Editor Axis Position
defines whether — and if so, where — the editor axis system is displayed.
Editor Axis Type defines which axis system is displayed: object or world. This axis system is
especially useful for indicating the editor camera’s orientation when the world grid is switched off.
Editor Axis Scale defines the size of the axis system. Editor Axis Text determines whether the axis
labels ‘X’, ‘Y’ and ‘Z’ are displayed.

Back tab

This allows you to place a background picture in a planar view for use as a modeling aid. For
example, suppose you are building a model of a car — you can load scale diagrams of the car into
the top, right and front views and use the diagrams to help you model the car accurately. The
picture will be zoomed automatically when you zoom the view.

Back
Image
Click the three dots button and use the file selector that opens to choose the background picture.
Show Picture
Here you can temporarily switch a background picture on or off.
Keep Aspect Ratio
Ensures that the background picture will keep its original proportions when scaled.
Offset X, Offset Y, Size X, Size Y
Here you can move or scale the background picture horizontally or vertically.

32 • CHAPTER 2

Rotation (OpenGL only)
This parameter allows you to rotate the background picture.
Transparency (OpenGL only)
Defines the transparency of the background picture.
Alpha Mode (OpenGL only)
If the background picture has an alpha channel you can use this setting to specify how the alpha
channel should be evaluated.
None
The alpha channel is ignored.
Normal
Uses the alpha channel to mask (i.e. hide) parts of the picture.
Invert
Same as Normal except swaps around which parts are masked and which are displayed.

World Grid
This is where you choose the properties of the world grid, which is also the default construction
plane and is displayed in all views by default. When enabled, this gives you a working grid within
the various 2D and 3D viewports. It also displays the world axes.
Enable
Here you can enable or disable the world grid. Remember that you may have one or more
construction plane objects in your scene as well, in which case you will still see a grid on your
display even if the world grid is disabled.
Grid Spacing, Lines
Grid Spacing is the distance between grid lines.
Lines enables you to choose the total number of grid lines (stretching over the X-axis and Z-axis);
the default value is 100 m. When you choose a higher value, the grid will extend further towards
the horizon. This setting is only relevant in the perspective views.
Major Lines Every nth
The grid contains major interval lines that stand out from the others by their darker color. With this
option you can choose how often these interval lines should occur.

VIEWS AND VIEWPORTS • 33

Dynamic Grid



If the Grid Spacing of the world grid is too large in relation to the object, this can result in
jumps when moving it or its elements. In such cases use a lower Grid Spacing value.

With this option you always get an optimal grid width on the screen, independently of the chosen
grid spacing. This applies to the 2D viewports only. Use the drop-down list to choose the factors for
the dynamic grid.
If you select None, the grid is not dynamic and the grid spacing (with its default value of 100)
remains constant, no matter how much you zoom. But if you select, say, 1...10, the grid is adjusted
in steps of 10 as you zoom. If you zoom in and the spacing becomes too wide for the view,
CINEMA 4D switches automatically to a grid spacing of 10. If you zoom in nearer still, it is changed
to 1. If you zoom out from the default grid and the grid width of 100 becomes too dense for clarity,
it is first switched to a grid spacing of 1000 and then higher still as necessary should you zoom out
further. There are no restrictions up or down.
Selecting 1...5...10 means that grid widths of 1, 5, 10, 50, 100, 500 etc. can be achieved, whereas
selecting 1...2...5...10 means that values such as 0.1, 0.2, 0.5, 1, 2, 5, 10, 20, 50, and so on, are
possible.

HUD tab

Information
Here you can choose which types of data informatino will be displayed in the HUD.

Controls
These settings allow you to adjust the look and feel of the HUD (its colors and transparency).

34 • CHAPTER 2

Cameras Menu
Each viewport has its own independent camera, called the editor camera. The editor camera is
active by default, but you can create and activate your own cameras. Unlike the editor camera, your
own cameras are shown as objects in the Object manager.

Scene Cameras
To link a camera in the scene to the view so that the view ‘looks though’ this camera, choose the
desired camera from this submenu.

Link Active Object
Choose this command to view the scene from the origin of the active object. Your view will point in
the direction of the object’s Z-axis. This command can be useful, among other things, for checking
which objects a light source can 'see'. Keep in mind that in some display modes your view may be
blocked by the active object’s surfaces.

Editor Camera
This command activates the editor camera.

Projections
Here you choose the projection mode for the camera. You can choose from over a dozen modes.
The Perspective view shows a horizon line, which corresponds to the horizon at infinity.

Perspective: The default
projection mode for the
viewport. It shows you the scene
as though looking through a
conventional camera.

Parallel: The vanishing point is
infinitely distant. All lines are
parallel.

VIEWS AND VIEWPORTS • 35

Left: The YZ view.

Right: The ZY view.

Front: The XY view.

Back: The YX view.

Top: The XZ view.

Bottom: The ZX view.

Military: X:Y:Z = 1:1:1.

Frog: X:Y:Z = 1:2:1.

Bird: X:Y:Z = 1:0.5:1.

Gentleman: X:Y:Z = 1:1:0.5.
This is a popular choice for
architecture.

Isometric. A popular choice
for technical subjects (e.g.
machinery). The X:Y:Z format is
1:1:1.

Dimetric. Similar to Isometric,
but with an X:Y:Z format of 1:
1:0.5.

36 • CHAPTER 2

Display Menu
On this meny you’ll find display-related options such as the shading mode.



To switch on realtime antialiasing, enable the Antialiased Lines option on the OpenGL Shading
page of the preferences.

Level Of Detail
Choose from Low, Medium or High. The setting affects the level of detail (LOD) shown for objects
that support LOD. The lower the setting, the faster the display.
Use Render LOD for Editor Rendering

Enable this option if you want rendering in the viewport to be as detailed as rendering to the
Picture Viewer. For example, suppose you’re using a HyperNURBS model and you’ve set its
Subdivision Editor value to 2 and Subdivision Renderer value to 5. If you render in the viewport with
the option enabled, the Subdivision Renderer value will be used instead of the Subdivision Editor
value.

VIEWS AND VIEWPORTS • 37

Display Filter



To enable one option and disable all others, hold down Ctrl and from the menu choose the
option that you want to enable.

Use this menu to choose which types of objects are displayed in the viewports; by default, all types
are enabled and therefore displayed. To hide, say, all splines in the viewport, choose Spline from the
menu. To display splines again, choose Spline once more.



If you select the name of a hidden object in the Object manager, the object’s axis system
appears in the viewport. You can still position, scale and rotate the hidden object using its
axis system and the Move, Scale and Rotate tools.

Alternatively, use the filter in the viewport settings instead.

Default Light

This command opens the Default Light manager. Using this manager you can quickly light the
selected objects from any angle. Simply click-drag the shaded sphere to set the lighting to the
desired angle (the display mode will change to Quick Shading automatically).
To reset the default light to its original angle, right-click (Windows) or Command-click (Mac OS) on
the shaded sphere.

38 • CHAPTER 2

If your scene contains lights, the default light will be ignored when you render. Each viewport has
its own independent default light. The default light settings are saved in the scene file.



To use the lights in your scene once more instead of the default light, switch the display mode
back to Gouraud Shading.



The default light is in fact made up of two light sources that are opposite each other. This
ensures that the entire scene, not just half, is illuminated. When you render, however, only
one of these light sources will be evaluated.

Shading modes
The shading modes described in these pages apply to inactive objects. You can also define these
settings separately for each view using the viewport settings.
The modes:
- Gouraud Shading
- Gouraud Shading (Lines)
- Quick Shading
- Quick Shading (Lines)
- Constant Shading
- Hidden Line
- Lines
can be combined with the modes:
- Wireframe
- Isoparms
- Box
- Skeleton
Test the various combinations to discover a wealth of possibilities!
Gouraud Shading
The highest quality display mode for viewports. All objects are shaded with
smoothing and light sources are taken into account. The redraw rate is affected most
by processor speed and graphics card speed — the faster your CPU and graphics
display card, the faster scenes will redraw. If the display update becomes too slow, try
reducing the size of the viewport.

VIEWS AND VIEWPORTS • 39

Gouraud Shading (Lines)
In this mode you can add wireframes or isoparms to the Gouraud shading by
choosing Wireframe or Isoparms from the Display menu.

Quick Shading
This is almost identical to Gouraud Shading. The difference is that the auto light is
used instead of the scene’s lights to calculate the shading. This can lead to a faster
redraw rate.

Quick Shading (Lines)
In this mode you can add wireframes or isoparms to the Quick shading by choosing
Wireframe or Isoparms from the Display menu.

Constant Shading
Strictly speaking this is not a shading mode because it applies the texture colors to
the object without shading. Here too you can blend in wireframes or isoparms by
choosing Wireframe or Isoparms from the Display menu.

Hidden Line
In contrast to Lines mode, hidden lines are not displayed.

Lines
The Lines mode allows the complete display of the polygon mesh including hidden
lines. The lines are colored by the textures.

40 • CHAPTER 2

Wireframe
The wireframe mode draws lines on the objects if combined with a mode that allows
this such as Gouraud Shading (Lines).

Isoparms
This mode displays isoparm lines for objects that use them such as NURBS objects.
Other objects such as polygon objects will be displayed in wireframe. This mode
will only have an effect if used in combination with a mode that supports it such as
Gouraud Shading (Lines).

Box
This mode displays each object as a box. Each box has the same dimensions as the
object it represents. Box is the second fastest display mode available, making it useful
for extremely demanding scenes.

Skeleton
This is the fastest display mode of all. It is only suitable for hierarchical structures.
Each object origin is shown as a small dot and the dots are connected according
to the hierarchy. This mode can be useful for character animation. Not only is it
extremely fast, it also removes all non-critical lines to expose the skeleton.

Display Tags
If this option is enabled, the objects will use the display mode defined in their Display tags (if
present). Objects without a Display tag will continue to use the viewport’s shading mode.

Backface Culling
Use this option to toggle backface culling on or off when in Lines mode. Backface culling can
speed up the display and make the scene easier to understand and edit. With backface culling, all
concealed surfaces are hidden. A backface is a surface that points away from the camera.
CINEMA 4D knows the direction of a surface by looking at its surface normal. If the surface normal points
towards the camera, the surface is a front face. If the surface normal points away from the camera, the
surface is a backface and is not drawn when Backface Culling is enabled. Figure 1 demonstrates the
backface principle.

VIEWS AND VIEWPORTS • 41

Figure 1.

Figure 2.

By convention, the normals should point outwards from their surfaces, as in Figure 1. Objects with
normals that point inwards may cause display errors. To remedy, reverse the normals, as illustrated
in Figure 2, using the Reverse Normals command (Functions menu).
The following picture demonstrates how backface culling applied to a sphere.

Backface Culling disabled (left) and enabled (right).

Textures
CINEMA 4D’s realtime texture mapping (RTTM) allows you to see textures in the view panel in
realtime. The Textures option controls whether textures are shown in the viewport (provided
the view’s current shading mode can display textures). RTTM can display the following material
channels:
-

Color
Diffusion
Luminance
Transparency
Bump
Alpha
Specular

In the Object manager, you can use a Display tag to switch RTTM on or off for each object (File >
CINEMA 4D Tags > Display).

42 • CHAPTER 2

Use Textures enabled in the Display tag (Attribute manager).

Keep in mind that RTTM is only an approximation of the rendered result. RTTM may differ
significantly, especially with large objects that extend towards the horizon.



RTTM supports multiple textures. In other words, if you map several textures onto an object,
all of these textures are shown in the viewport in realtime. This applies to textures restricted
to frozen selections also.



If you select a Texture tag in the Object manager, only the texture it represents will be
displayed in the viewport – no other textures will be shown. For this reason, deactivate all
texture tags if you want to see all textures.

X-Ray

X-ray mode off.

X-ray mode on.

To activate the X-ray effect, enable this option. If the active object is a polygon object, it will
become semi-transparent so that you can see its concealed points and edges. This is particularly
helpful with polygon-based modeling, since it enables you to see concealed surfaces in the Gouraud
shading and quick shading modes.

Stacked Materials
This option controls how multiple alpha maps on the same object are displayed in the viewport.
Enable the option to display all of the alpha channels, but keep in mind that this will slow down the
viewport display. You’ll also find the option in the viewport settings.

VIEWS AND VIEWPORTS • 43

View Menu
Each view panel can have up to four viewports. Each of these viewports may have its own:
-

camera
projection type
display mode

Panels
You can choose a single-view mode or all-views mode. Choose from:
Single-View

3 Views Left Split

4 Views Left Split

2 Views Stacked

3 Views Right Split

4 Views Right Split

2 Views Side by Side

4 Views

4 Views Stacked

3 Views Top Split

4 Views Top Split

4 Views Side by Side

3 Views Bottom Split

4 Views Bottom Split

Toggle Active View
This option toggles between the single-view mode and the all-views mode. When you want to
toggle from all-views to a single view, choose the Toggle Active View command from the viewport
that you want to use in single-view mode.

Views
Here you can switch between the single-views and the all-view mode. You can change each view’s
projection type via its Cameras menu. The default projections are:
View 1
View 2
View 3
View 4
All Views

F1
F2
F3
F4
F5

perspective
top
right
front
all views

3 Configuration

CONFIGURATION • 47

3 Configuration
CINEMA 4D has hundreds of commands and a freely configurable GUI. This means that there are
many settings also. To keep CINEMA 4D easy to use, the settings have been placed in various,
relevant parts of the program. This chapter shows you where to find these settings and how to use
them.

Configuration dialogs
Preferences
These settings control the general behavior of CINEMA 4D. For example, you can change the
background color used by viewports. To access the preferences, choose Edit > Preferences from the
main menu. The preferences are described later in this chapter.

Project settings
These settings, such as the frame rate, apply to the active project only. To access the project
settings, choose Edit > Project Settings from the main menu or Edit > Project Settings from the
Timeline’s menu. The project settings are saved whenever you save the scene.



You can create your own default layout. To do this, arrange the layout as required, then save
the scene using the filename ‘template.c4d’.

Viewport settings
Here you control aspects of viewport display such as the shading mode used for selected objects
and the shading mode used for other objects. Each viewport has its own settings. To access the
viewport settings, in the viewport choose Edit > Configure. The viewport settings are saved when
you save the scene.

Render settings
These settings define how the active scene will be rendered — e.g. you can set the save path and
output resolution. To access the render settings, choose Render > Render Settings from the main
menu. The render settings are saved when you save the scene.

Import / Export settings
These settings affect file import and file export. For example, 3ds files can be scaled up by a factor
of ten on import. To access the import/export settings, choose Edit > Preferences from the main
menu. The import/export settings are described later in this chapter.

48 • CHAPTER 3

Browser settings
Here you can control the display of thumbnails in the Browser such as the size of the thumbnails
and the file formats shown. To access the browser settings, choose Edit > Preferences from the
Browser’s menu. The browser’s settings are saved when you save the scene.

Snap settings
These settings control the behavior of snapping. The snap settings are available for various tools
and will appear in the Attribute manager when one of these tools is selected. The snap settings are
saved when you save the scene.

Configuration managers
Command manager
Use this manager to create or edit palettes and short-cuts. To access the Command manager,
choose Window > Layout > Command Manager from the main menu. The Command manager’s
settings are saved when you quit CINEMA 4D.



Short-cuts are saved automatically when you quit CINEMA 4D.

Menu manager
Here you can create your own menu structure for each manager. To access the Menu manager,
choose Window > Layout > Menu Manager from the main menu. The Menu manager’s settings are
saved when you quit CINEMA 4D. You can also save the settings by clicking the Save All Changes
button in the Menu manager.

Other settings
There are many settings in addition to those mentioned above. These settings are always saved in
the scene file. Each setting is documented in the relevant chapter.

CONFIGURATION • 49

Graphical User Interface
In this section you’ll learn how to configure the CINEMA 4D GUI. Among other things, you can tab
windows, create your own icon palettes and change the menu structure.

Windows
Arranging



You can load a previously saved layout or revert to the default layout at any time using the
Window > Layout submenu.

To change the position of a window, drag the window’s pin icon to the new position. A dark line
will appear while you drag to indicate the new position.

A layout for modeling: large viewport and various
modeling commands on palettes.

A layout for texturing: a vertical Material manager and a
large Object manager.

A layout for a left-handed user.

Staging your scene is easier with a custom layout.

50 • CHAPTER 3

Re-sizing

Before moving the window’s edge.

After moving the window’s edge.

To change a window’s width or height, first move the mouse pointer to a window border; the
mouse pointer changes to a double arrow to indicate the direction — vertical or horizontal — in
which you can drag the border. Drag the border to re-size. The neighboring windows are re-sized
automatically to make room.

Undocking



You can insert a window or a icon palette into an undocked window to form a new GUI
group. This can help in particular if you are using more than one monitor.

To undock a window, click the window’s pin icon and choose Undock from the menu that appears.
The window becomes freestanding and floats above the main window.

Choose Undock.

Undocked window.

Undocked windows are fully functional. The advantage of docked windows is automatic
justification when you re-size a window.

CONFIGURATION • 51

Docking
New windows are undocked by default. To dock a window, drag its pin icon to the docking position.
A dark line will appear while you drag to indicate where the window will be inserted.
To test the docking feature, first add a new view panel by choosing Main menu: Window > New View
Panel. Drag the new view panel’s pin to the desired position in the interface such as between the
Object manager and Attribute manager (wait until you see the dark line appear before releasing the
mouse button).

New view, still undocked.

The new view docked.

To remove a window, click the window’s pin and choose Undock. Click the pin once more and this
time choose Close.

Naming
You’ll find the Rename command on the pin’s menu. This lets you rename a window or icon palette.
An icon palette’s name will only be displayed if the palette has a tab.

52 • CHAPTER 3

Tabs



When you drop a pin onto another pin, both become tabs, even if the target was not a tab.

You can display a window or icon palette as a tab. To create the tab, click the pin icon and choose
Make Tab. To move a tab from one group to another, drag the tab’s pin onto a tab or pin in the
target group. The mouse pointer changes to a hand to indicate where the tab will be inserted.

Insertion is possible when the
pointer changes to a hand.

Icon palettes make great tabs!

If you drop the tab onto a pin, it is inserted after the pin’s tab. If you drop the tab onto a tab, it
is inserted before the pin’s tab provided you released the hand icon on the left half of the tab;
otherwise, it will be inserted after the tab. You can use the icon palettes as tabs as well.

Converting tabs to windows
To convert a window displayed as a tab to a freestanding window, drag the tab’s pin slightly to the
left and release the mouse button.

Here the Object manager is being undocked.

The undocked Object manager.

CONFIGURATION • 53

Icon Palettes



An undocked palette is a window in its own right. For example, it can contain several icon
palettes and windows. This is especially useful if you are using more than one monitor.

Icon palettes, also known as toolbars, may contain any command that can be selected from a
menu. Commands in palettes can be displayed as icons, text or as icons and text. Icon palettes help
you to reach important commands quickly. You can edit the existing palettes and you can create
new palettes and dock them into the layout.
Commands for saving, loading and changing the appearance of icon palettes are available from the
icon palette’s context menu. To access the icon palette’s context menu, right-click (Windows) or
Command-click (Mac OS) on the icon palette.

Creating a new icon palette

A new, empty icon palette.

To create a new, empty icon palette, do one of the following:
- Choose Window > Layout > New Icon Palette (main window).
- Click any window’s pin (top-left corner of window) and choose New Icon Palette from the pin’s
menu.

54 • CHAPTER 3

- Right-click (WIndows) or Command-click (Mac OS) an existing icon palette to open the icon
palette’s context menu. From this menu, choose New Icon Palette.
Commands can only be added when the Edit Palettes option is enabled. You can add commands
to the palette in two ways: drag commands from an existing palette into the new palette, or drag
commands from the Command manager into the new palette. Once the Edit Palettes option is
enabled, drag the first command onto the Empty Palette box of the new palette. When you drag
further commands onto the palette, a dark line appears indicate the insertion position.

Add a command to the new palette.

From left to right: icons only, text only, icons and
text.

Changing the sequence
To move a command to a different position in the palette, drag the command to the new position
(a dark line indicates the insertion position).

Icons or text?

Enable the Icons option to display the commands as icons; enable the Text option to display the
commands as text; enable both options to display text and icons for the commands. Enable the
Vertical option to display text below each icon instead of to the right (provided Icons and Text are
enabled).

Saving an icon palette
Save Toolbar As saves an individual palette. The file extension ‘.l4d’ is added automatically.
To save the entire layout instead including the toolbar, choose Save Layout As or Save As
Startup Layout from the Window > Layout submenu.
To save the layout and custom palettes automatically when you quit CINEMA 4D, enable Save Layout
At Program End in the preferences (Common page).

CONFIGURATION • 55

Loading an icon palette
Use the Load Toolbar command to load a previously saved icon palette. The toolbar appears as a
freestanding window that can be integrated into the layout.

Vertical or horizontal?
Choose Transpose to toggle between vertical and horizontal alignment of commands.

Rows and columns

The value you select for Rows/Columns defines the number of rows or columns used for a palette.
If Transpose is set to Vertical, this setting refers to the number of columns or, if Transpose is set to
Horizontal, the number of rows.
Think of this as the number of lines. For example, if you have 20 icons, setting this value to 2 will
create two lines with ten icons in each line. A value of 3 would create three lines, this time with
seven icons in the first two lines and six in the third line.

Icon size



If an icon is displayed at a different pixel size from its original size, it must be resampled. This
may lead to a visible reduction in picture quality.

Choose the size of icons from the Icon Size submenu: Large (32x32 pixels), Medium (24x24 pixels)
or Small (16x16 pixels).

Large
32 x 32 pixels.

Medium
24 x 24 pixels.

Small
16 x 16 pixels.

The original icon sizes are defined in the icon resource file (‘Resource/icons/c4d_icons.res’). The
original sizes usually correspond to Large icons.

Creating folded command groups
You can group commands to form a folded palette. To do this, ensure that the Edit Palettes
option is enabled, then position the mouse pointer over a command and right-click (Windows) or
Command-click (Mac OS) to open the context menu. From this menu, choose Fold Palette. Now only
one command is visible. This is called the visible command. The small arrow in the icon’s bottom
right corner indicates that it contains other commands.

56 • CHAPTER 3

Next, disable the Edit Palettes option. Click and hold down the mouse button on the visible
command. The folded palette appears. Either release the mouse button and select the desired
command or position the mouse pointer over the desired command before you release the mouse
button. Note that the visible command is also a hidden command.
If the Lock Icon command of the context menu is disabled, the visible command will be the most
recently selected command. For example, if the visible command is Cube and you select the Cone
command, the Cone command becomes the visible command. The order of the commands in the
folded palette corresponds to their order at fold time. Therefore, arrange the commands before you
fold them.
You can drag and drop a visible command onto another palette. This enables you to use several
folded command groups within the same palette. To create a palette with several folded command
groups, first create two empty icon palettes. Use the first palette to create a folded command
group. Drag and drop the folded commands (i.e. the visible command) onto the second palette.
Create the second folded group in the first palette, drag and drop it onto the second palette, and
so on. Once you’ve finished creating and adding the folded commands, close the redundant palette.
You can also use text-only display with folded palettes.

Unfolding command groups
You can unfold a command group into a palette of individual commands. Right-click (Windows) or
Command-click (Mac OS) the visible command to open its context menu. From this menu, choose
Unfold Command.

The lock icon
If the Lock Icon option in the context menu is disabled, the visible command for a folded group of
commands is the most recently selected command. For example, if the visible command is Cube and
you select the hidden Cone command, the Cone command becomes the visible command. If this
option is enabled, the current visible icon will be locked, meaning that no matter which tools you
then use from the folded palette the visible command remains the same.

Deleting commands from palettes
To delete a command from a palette, move the mouse pointer over the command and right-click
(Windows) or Command-click (Mac OS) to open the context menu. From this menu, choose Delete
Command.

Editing a palette
Commands can only be added when the Edit Palettes option is enabled. Position the mouse pointer
over a command and right-click (Windows) or Command-click (Mac OS). Choose Edit Palettes to
enable or disable the option.
To dock a palette window, enable the Edit Palette option, click on the palette double separator and
drag and drop the separator to the desired position.

CONFIGURATION • 57

The Command Manager
The Command manager lists all of the commands that are available in CINEMA 4D. Use this
manager to drag and drop commands onto custom palettes or submenus. You can also use the
Command manager to define short-cuts.

Inserting commands into palettes
Enable the Edit Palettes option and drag-and-drop commands onto the palette. A dark line indicates
where a command will be inserted. You can also drag separators onto palettes to visually separate
commands into logical groups. Separator 1 is a line, Separator 2 is a space. Again, a dark line
indicates the insertion point.
To remove separators, create an empty palette window, drag and drop the separators into it and
close the palette window.
Use the drop-down list to the right of the pin to choose which command category is displayed in
the list. Each category refers to a particular menu or manager. Some commands do not have icons.

Allocating short-cuts



Do not allocate short-cuts that are used by OS commands.

You can allocate a short-cut (for example, press Ctrl+B to open the Render Settings dialog) to any
command. Use the Command manager to allocate the short-cuts. You can also use the Command
manager to define a second short-cut for the same command. This can be useful when two keys
are common alternatives for a particular command. For example, the Delete and Backspace keys
are both short-cuts for the Delete command. The second short-cut is also useful for standard
commands that have different short-cuts under Windows and Mac OS.



Some keys are reserved and cannot be allocated as short-cuts (e.g. left arrow, right arrow).

58 • CHAPTER 3

To create a short-cut:
- In the Command manager, click a command in the list to choose it.
- Click in the Assign text box and press the desired short-cut.
- Click the green tick to the right of the text box. The short-cut appears in the Current box. To
remove the short-cut, click the red cross.
Valid short-cuts are:
a single key
Ctrl + a key
Shift + a key
Ctrl and Shift + a key



The short-cuts are saved in the “c4d_shortcuts.res” file within CINEMA 4D’s “Prefs” folder.

CINEMA 4D’s built-in hotkeys are extremely useful. For example, if you hold down the ‘1’ key you
can move the camera no matter which tool is active. These hotkeys come at a price — you cannot
use them for short-cuts, even if you combine them with Ctrl or Shift or both. If a short-cut has
already been allocated, the command that uses the short-cut is displayed below the text boxes. You
should remove the short-cut before reallocating it. (To remove the short-cut, select the command
that currently uses the short-cut and click the red cross).
Short-cut hierarchies
Short-cut hierarchies are called by pressing two or more keys one after the other. When you
press the first key a menu will appear that lists all commands in the hierarchy of the key that you
pressed. Press the second key to call the desired command. You can freely configure the short-cut
hierarchies.

CONFIGURATION • 59

Assigning a short-cut hierarchy (main) and calling the short-cut (inset).

Click in the second Assign box and press two or more keys one after the other. A tilde (‘~’) will be
placed between the keys. Click the green tick.

60 • CHAPTER 3

The Menu Manager

Use the Menu manager to edit submenus and drop-down lists. You can also add new submenus.
The Menu manager and the Command manager enable you to configure CINEMA 4D’s interface
freely to the way you like to work.

The menus
CINEMA 4D has more than a dozen menus. Use the drop-down list at the top of the manager to
choose which menu is shown in the list. Submenus are prefixed with Submenu. To open or close a
submenu, double-click it.

CONFIGURATION • 61

Inserting commands

The Command manager lists CINEMA 4D’s commands. Drag-and-drop commands from the
Command manager into the Menu manager. The mouse pointer will indicate the insertion mode.
Copy, Paste, Delete/Cut
Use these commands to copy, paste, cut or delete the selected command. Standard submenu items
cannot be deleted.
Rename
This command allows you to rename your submenus.
Move Up, Move Down, New Submenu
Use these commands to move the selected menu entry one position up or down the list and insert a
new submenu above the selected entry. You can add commands or further submenus.
Apply, Save All Changes, Revert To Saved, Revert To Original
Apply applies the changes; Save All Changes saves all menu changes; Revert To Saved discards all
settings and reverts to the most recently saved menu structure; Revert To Original reactivates the
standard menu settings, which are permanently stored in the program (the ‘factory’ settings).
Changing to a new menu will apply all changes to the current menu.

62 • CHAPTER 3



To reset the menus to the factory settings, delete the “Prefs” folder within the CINEMA 4D
program folder. Caution! This will also delete any keyboard shortcuts and menus you have
defined.

The quick access

The quick access gives you a fast way to access menus. Be default you can call the quick access by
pressing the ‘v’ key. You’ll see several groups of commands appear.
To choose a command using the quick access, do one of the following:
- Hold down the ‘v’ key and click the menu item that you want to select.
- Hold down the ‘v’ key, move the mouse pointer over the item you want to select and release the
mouse button.
Configuring the quick access

You can freely configure the quick access groups and choose which commands they contain: choose

Windows > Layout > Menu Manager. In the Menu manager, set the drop-down list to M_GLOBAL_
POPUP. Configure the quick access the same way you would a normal CINEMA 4D menu.

CONFIGURATION • 63

The Pin’s Menu
Each manager has a pin that you can click to open a menu. Earlier we explained how to use the pin
to arrange managers. The remaining commands on this menu are described below except for those
described previously in this chapter.
Undock
Removes the current manager from the main window. The manager becomes a freestanding
window that floats above the main window.

Undock a tab to convert a manager to a floating window.

Rename
Renames a window or tab. An icon palette’s name will only appear if the palette has a tab.
Make Tab
Converts the window or manager to a tab.

Hide Window Title
Hides the window title to free up the display space it normally takes up.
New Icon Palette
Creates an empty palette. Use the Command manager to drag and drop commands into the palette.
Close
Closes the manager. To open the manager again, choose its name from the main Window menu.

64 • CHAPTER 3

Preferences


To reset the preferences to the factory settings, delete the file named ‘CINEMA 4D.prf’ in
CINEMA 4D’s Prefs folder. The next time you start CINEMA 4D, the factory settings will be
used and a new ‘CINEMA 4D.prf’ file will be created with these factory settings.

In the preferences you’ll find settings that enable you to change the editor’s appearance and
influence the operation of commands. To open this dialog, choose Edit > Preferences.

Common

Language
Chose a language for CINEMA 4D’s interface from the installed language sets. After quitting and relaunching CINEMA 4D, all messages, menus and dialogs will change to the new language.
Scheme
Choose one of the installed schemes from this drop-down list.
Adapt Thread Priority
If you enable this option, the system assigns a higher priority, i.e. more computing time, to
CINEMA 4D than to other applications that are also running. If enabled, these other applications
will run more slowly than usual. If you want to work in other applications while rendering in
CINEMA 4D, you may find it useful to disable this option.

CONFIGURATION • 65

Use QuickTime



QuickTime may crash if you use damaged image files; this is not due to CINEMA 4D and hence
we offer the option to disable QuickTime.

If you enable this option, CINEMA 4D uses QuickTime if it is installed on your system. Additional file
formats will then be available. If the option is disabled, the Browser will work slightly more quickly
because it then has fewer file formats to check.
Graphics Tablet, Use Hi-Res Coordinates
If you experience problems when using a graphics tablet with CINEMA 4D, enable the Graphics
Tablet option. If you still experience problems and you’re using the latest driver for your tablet,
disable Use Hi-Res Coordinates to use the tablet in mouse mode. Although you’ll lose some of the
tablet’s resolution, you should barely notice the difference.
Save Layout At Program End



Always save a new layout under a unique filename, even if you intend to use the layout as
your startup one. To save the layout, choose Window > Layout > Save Layout As.

If this option is enabled, the current layout will be saved when you quit CINEMA 4D. When you
next start the program, the layout will be in the same state that you left it in. This may lead to
unwelcome effects. For example, perhaps your usual layout is biased towards modeling (e.g. a
large perspective view). You decide to create a layout specifically for texturing (e.g. a large Material
manager). You save the texturing layout under its own name and quit the program. If the Save
Layout At Program End option is enabled, the texturing layout will overwrite your usual layout.
Realtime Spinner
Disable this option to prevent realtime refresh in the viewport while you are changing parameter
values in the Attribute manager. In other words, with this option disabled, the viewport will only be
refreshed once you’ve released the slider or mouse button. This can help to prevent viewport slowdown when working with complex scenes.
Realtime Manager Update (During Animation)
If this option is enabled, animated parameters are displayed in the Attribute manager in realtime
when you play the animation.
Recalculate Scene On Rewind
This option affects Dynamics and Thinking Particles scenes only (optional CINEMA 4D modules). If
you drag the time slider left while the option is enabled, the scene is recalculated from frame 0 to
the current frame to ensure a correct result.
Reverse Orbit
This option inverts the direction the camera rotates in when you drag the mouse (applies to the
editor camera and the Camera tool). This is mostly of interest if you have used 3ds max or Maya.

66 • CHAPTER 3

Render Threads
Use this drop-down list to set the number of render threads (the number of render lines in the
viewport or Picture Viewer). On single-processor systems, there is little point in using several
threads because this may reduce render performance and the threads may be assigned different
portions of render time (unequal distribution in the viewport).
Choose from Optimal (CINEMA 4D sets the number of threads automatically), 1 (switches off
multithreading on multi-processor systems), 2, 4 or 8.
Attribute Manager Limit
Defines the maximum number of elements such as objects or keys that can be edited in the
Attribute manager. For example, if the value is set to 10 and 477 objects are selected, only the first
ten elements will be taken into account. The value of 10 used in this example has little practical use;
use a much higher value.
Sub-Polygon Displacement Memory (MB)



This setting will only have an effect if the optional Advance Render module is installed.

When rendering sub-poly displacement, CINEMA 4D must work with a huge number of polygons
— up to several hundred million. The cache that would be required to calculate the displacement
samples would be larger than the hardware could cope with! Therefore, only part of the samples
are stored in memory at any one time. The amount of RAM that is used to store these samples is
defined by the Sub-Polygon Displacement Memory value.
Strike a balance between a low value and a high value. A low value makes for long render times
while a high value can also slow down rendering if it is set so high that virtual memory must be
used. In most cases the default value is sufficient. In cases where you are using extremely high SPD
subdivisions, try to speed up the rendering by optimizing the value.

Macintosh (Mac OS only)

Exchange CTRL <–> COMMAND-key
CINEMA 4D uses the Ctrl (Control) key as the default modifier key. The Command key is used for
simulating the right mouse button (Command-click). If you want it to work the other way around,
enable this option.
Deny Power Cycle
Disables the power cycle on the Macintosh.

CONFIGURATION • 67

Interface

Dialogs
Use Style to control the order of the OK and Cancel buttons in dialogs. Windows uses OK on the
left and Cancel on the right, while the reverse is true under Mac OS. Use Alignment to choose the
alignment of the OK and Cancel buttons: left-aligned, centered or right-aligned.

Help Text
If the Help Text In Statusbar option is enabled, hover the mouse pointer over an icon an explanation
of that icon will appear in the status bar at the bottom of the screen. If the Bubble Help option is
enabled, help information appears next to the pointer when the pointer is over an icon.

Menus
Here you choose whether, in addition to the normal command descriptions for menu items,
CINEMA 4D displays icons (Show Icons enabled) and/or keyboard short-cuts (Show Short-cuts
option enabled).

Look & Feel
In this part of the dialog you can modify the look and feel of the program’s interface.
Fonts



The font changes will be effective only after you quit and restart CINEMA 4D.

Choose the font used by CINEMA 4D for displaying text in menus, dialogs, etc. Choose the font type
from the drop-down list and click the F button. In the dialog that opens, choose the font and its
size. Clicking the R button reverts to your active system font.

68 • CHAPTER 3

Delays
If you are a Windows user you may have noticed that windows and menus open much faster in
CINEMA 4D than on your desktop. You can use the options under Delays to simulate this delayed
reaction for various actions within CINEMA 4D. Choose the action from the drop-down list. Set the
delay for this action in the text box to the right.

Colors

Using the settings on this page, you can change the color of nearly all GUI elements in CINEMA 4D.
Live Refresh
The colors are changed in realtime. If this causes your system to slow down, disable the option and
the color will be changed after you’ve released the mouse button.
RGB
Define the color of the GUI element using RGB sliders.
Bitmap
Enables you to load a 2D image as a background for the interface.
Reference
Choose Reference to open a list of presets for the GUI elements. In the list, click a preset’s name to
enable its settings.

CONFIGURATION • 69

Viewport

Options
CINEMA 4D shades (i.e. draws) the objects in the viewport using one of two modes: Software
Shading or OpenGL Shading (you’ll find options for these two modes on the Software Shading and
OpenGL Shading pages).
In Software Shading mode CINEMA 4D uses its own fast, optimized viewport shading engine. In
OpenGL mode your graphics card’s OpenGL feature accelerates viewport shading (provided your
card supports OpenGL). Which mode is fastest depends on your hardware setup. Test both modes
with a scene that has many surfaces and use the fastest mode.

View
Refresh Active View Only (Modeling / Animation)
CINEMA 4D refreshes all views simultaneously by default. If you’re working with a complex scene
that uses a high level of shading such as Gouraud Shading you may experience slowdown in the
viewport. In such cases, enable either or both options to speed up viewport shading. Depending on
which options are enabled when you model or play back the animation, only the active viewport is
refreshed in realtime. The other viewports are refreshed only once the action has been completed
(e.g. after an object has been dragged to a new position and the mouse button has been released
or after you’ve clicked the Stop button to stop the animation).
3D Grid
Controls whether the viewport grid is drawn in 3D (option enabled) or as a 2D grid placed behind
the objects (option disabled).
Redraw Limit
With some complex scenes, you may be unable to move objects smoothly in the viewports with full
shading due to hardware limitations such as processor speed. To help resolve this issue, CINEMA 4D
estimates how long it will take to refresh the viewports. If the estimated time exceeds the redraw
time limit specified here, a faster display mode will be used automatically. For example, Quick
Shading will be reduced to Wireframe. Or, if the wireframe mode is still too slow, Box will be used
instead.

70 • CHAPTER 3

The default value is 600 milliseconds. To prevent a less detailed display mode from being used, set
Redraw Limit to a very high value such as 10000 milliseconds.
Editor : Pixel
These values specify the ratio of a pixel’s on-screen width to its on-screen height. The pixel ratio
for most monitors is 1:1. However, some display media use a pixel ratio other than 1:1. This will
lead to distortion unless the pixel ratio is adjusted accordingly. For example, circles will appear to
be ellipses. To calculate the pixel ratio manually, expand the editor window to fill the entire screen.
Select the side view and create a cube. Measure the width and height of the cube with a ruler and
enter these values into the corresponding boxes.

OpenGL Shading

Refresh
Smart Window Refresh



Some OpenGL cards do not support Smart Window Refresh and will display errors if this
option is enabled.

When enabled, this option accelerates window refresh under OpenGL if, for example, you move an
undocked manager over the viewports. If the option is disabled, OpenGL must refresh the entire
screen each time.
Smart Live Selection



Some OpenGL cards do not support Smart Live Selection and will display errors.

If this option is enabled, live selection under OpenGL is accelerated — only the selected polygons or
points are redrawn, rather than the entire screen.

CONFIGURATION • 71

Textures
Use Textures



You can work more smoothly in the viewports if you disable this option.

This option defines whether textures can be displayed in the viewport. This setting is applied
globally, i.e. it affects all viewports. You can define this option separately for each viewport using
the viewport settings, which apply to the active viewport only.
Texture Interpolation

Texture Interpolation set to Nearest (top right) and Linear (bottom right).

Texture Interpolation controls which method is used to interpolate the textures when you zoom
objects in the viewport: Nearest or Linear. Nearest uses the color of the nearest pixel in the texture,
causing hard transitions in the zoomed texture. Linear uses linear gradients (i.e. linear interpolation)
to create smooth or blurry transitions in the zoomed texture.
Back Image Mode
If you have loaded a back image in the viewport settings, when you zoom in the viewport the back
image will also be zoomed. Back Image Mode defines which type of interpolation is used for the
back image. Try each mode and use that one that gives the best result.

Extensions
These settings enable you to optimize OpenGL for CINEMA 4D. The best settings depend on your
system’s hardware and drivers. Try each option to find out which settings work best.
Active Object Plane, Highlight Plane
These options speed up the movement of objects and refresh rate of the highlight plane (the yellow
highlighting that appears when the mouse pointer is over polygons in polygon mode). Only relevant
parts of the screen will be redrawn; complex background areas may not have to be redrawn.

72 • CHAPTER 3

Up to three internal planes are created depending on which of the two options are enabled:
Both options disabled
Uses a single plane that should work with any graphics card.
Active Object Plane enabled, Highlight Plane disabled
Two planes are created. The second plane is used exclusively to redraw the highlighting.
Both options enabled
Three planes are created. The active objects are drawn on the second plane; the highlighting is
drawn on the third plane. Depending on which view you are working in, only the relevant plane
must be updated, which naturally provides a faster viewport refresh.
Use ARB Extension For Dual Planes
This option switches to an alternative method for displaying dual planes. Depending on the
hardware, this method may provide a faster viewport refresh. The option will be ghosted if it is not
supported by your graphics card’s driver.
OpenGL Hardware Lighting
If you enable this option, your graphics card will take over the task of lighting the objects in the
scene. This will usually give you a faster refresh rate in the viewport, depending on the performance
of your graphics card.
OpenGL hardware lighting supports the following features only:
Environment object
- Environment Color
- Fog (3D view only)
Light source objects
- Omni, Spot, Distance and Parallel lights
- Color, Brightness
- No Diffuse option, No Specular option
- Up to eight lights are supported
Materials
- Specular, inc. Width and Height
- Specular Color
- Texture in the Color channel with Specular highlights
Shared Textures
If this option is enabled, OpenGL will load a single texture for all views. Otherwise, a separate
texture will be loaded for each view (this will use more memory but is more compatible).

CONFIGURATION • 73

Use Line Polygons
Enable this option for faster wireframe display. It affects wireframe display only.
Use OGL Points For Handles
Enable this option for faster display of object points (the points that are displayed when you select
the Points tool). Some graphics cards do not support this feature.
Antialiased Lines
If this option is enabled, lines are smoothed (antialiased) by the OpenGL implementation provided
the mode is supported.
Rotate Quads
A quadrangle is made up of four points: A, B, C and D. This can be broken down into the triangles
ABC/ACD or ABD/DBC. CINEMA 4D uses the first variant. The variant used by OpenGL depends on
the driver. If you notice display artefacts, try toggling the option to adapt the OpenGL display to the
internal algorithms.
uses one variant here, the other variant there. This can lead to display artefacts. Should this
happen, toggle the option.

Rotate Quads disabled (left) and enabled (right). With some graphics cards it’s the other way around.

74 • CHAPTER 3

Software Shading

Textures
Use Textures



You can work more smoothly in the viewports if you disable this option.

This option defines whether textures can be displayed in the viewport. The setting is applied
globally, i.e. it affects all viewports. You can define this option separately for each viewport using
the viewport settings, which apply to the active viewport only.
Perspective Correction
If this option and Use Textures are enabled, the material previews will be corrected for perspective
in the viewports.

CONFIGURATION • 75

Colors

Use this page to define the colors used in the viewports. Select the element whose color you want
to change from the list and pick the new color using the sliders or system color dialog. You’ll see
either three color sliders or a color table depending on the Color System setting on the Units page.
The color preview is displayed to the left of the sliders. If you click on this color box, the system
color dialog will open.
If you click the triangle button below the color box, a menu appears. Use this menu to change the
color model or to switch to the color table. This setting is retained for as long as the dialog is open.
As soon as you close the dialog, the setting on the Units page is used once more.

76 • CHAPTER 3

Document

Save RTTM Textures
If you have enabled realtime texture mapping (Textures enabled in the viewport settings), small
temporary textures will be created so that you can see textures in the viewports. These textures take a
noticeable time to create and they must be calculated each time you load the scene. To speed up the
loading process, enable Save RTTM Textures. The RTTM textures will then be saved in the scene file.
Save Particles
Suppose you’ve saved a scene containing particles in which the time slider is past frame 0. When
you next load the scene, the particle stream must be generated to match the current frame, slowing
down the loading process. If you enable this option, the current particle data is saved when you
save the scene. This speeds up the loading time for the scene (but increases the file size).
Create New Objects In View Center
By default, CINEMA 4D creates objects at the origin of the world coordinate system. However, If the
origin is off-screen, a new object may be created out of sight. If this option is enabled, new objects
are created in the center of the active view instead, i.e. always within view.
Generate Backup Copies, Backup Copies
When you save a scene using a filename that already exists in the destination folder, by default the
original scene will be overwritten. If Generate Backup Copies is enabled, CINEMA 4D renames the
original file before creating the new file. Backup Copies defines the maximum number of backup
copies that can be saved for a scene (provided that Generate Backup Copies is enabled).
Undo Depth
The maximum number of changes that can be undone consecutively.
Recent File List
The maximum number of files on the File menu’s Recent Files list.

CONFIGURATION • 77

Import/Export
About the Maximum Size value
Some export filters allow you to control the size of the textures that are exported by setting a
Maximum Size value. The value defines the maximum length of each texture’s longest side; the
shorter side will be scaled automatically to constrain the proportions.

3D Studio Import / Export

Scale



This option is for import and export.

Determines whether and by how much 3DS files are scaled when they are loaded or saved.
Adapt Textures



This option is for import only. Only the name is changed. You still need to convert the image.

3D Studio does not support as many graphics file formats for textures etc. as CINEMA 4D. Its main
format is TIFF. If you enable this option, all texture filename extensions are changed to that which
you have specified in the Suffix box (for example ‘frame.jpg’ becomes ‘frame.tif’).

Biovision BVH Import

This import filter enables you to use Biovision motion capture data in your scenes. If you load a bvh
file, a keyframe’s hierarchy of bones appears in the Object manager. In the Timeline you’ll see that
each bone has a position and rotation track, with a key for every frame. With complex skeletons,
there are thousands of keys and the animation may not play back smoothly on slower processors.

78 • CHAPTER 3

To combine the bones with the 3D model, first move, scale and rotate the model to fit the bones.
This is much simpler than the reverse, i.e. adapting the bones to fit the model, due to the bones’
keyframes. Now place the bones and model in the same hierarchy, and the bones then control the
model. As mentioned previously, you may experience difficulties when using many keyframes. In
this case, reduce the number of keyframes. For details, see Chapter 19, ‘Timeline’.

CINEMA 4D XML Export
CINEMA 4D XML is a standardized language for file exchange. This export is mostly of interest
to plugin developers because it allows a better integration of extensions into the file. For more
information on this file format, visit www.xml.org.

DEM Import

DEM files are often used for landscapes.
Scale
Determines whether and by how much DEM files are scaled when they are imported.

DXF Export

Scale
Determines whether and by how much DXF files are scaled when they are saved.
Export Type
The DXF standard offers several options for saving an object. Here you can choose the type into
which the object is converted when being saved. The choices are Polyline, Solid and 3DFace.

CONFIGURATION • 79

DXF Import

CINEMA 4D can correctly interpret the following elements: SOLID, 3D FACE, LINE, POLYLINE, CIRCLE,
ARC, POINT and TRACE. All three-dimensional data is read in accurately. All documented POLYLINE
combinations as well as height and elevation data are supported. The same is true of element
coordinate systems, layer names and various line thicknesses.
Scale
Determines whether and by how much DXF files are scaled when they are loaded.
Circle Subdivision
Determines the number of polygon segments used for subdividing circle segments.
Connect
DXF files often consist of many small elements. During loading, CINEMA 4D attempts to combine
elements of the same color (By Color), layer (By Layer) or not at all (No).
Frozen Layers
Enable this option if you want to convert frozen (i.e. hidden) layers in the DXF file when loading.
Many CAD programs offer the option to freeze temporary or unused layers.
2D Elements
Specifies whether two-dimensional DXF elements should be converted when loading a file.
Align Normals
CINEMA 4D assumes that all surfaces of an object are uniformly aligned. This is not necessarily
the case with DXF files. If adjacent surfaces are differently aligned, their normal vectors point in
different directions. During rendering, this can result in unwanted color jumps. CINEMA 4D uses
this option to re-align adjacent surfaces to the same direction.

80 • CHAPTER 3

Triangulate Polygons
DXF files may contain three-dimensional polygons. CINEMA 4D can triangulate these if this option
is enabled. This means that the inscribed surface is generated as a 3D object. This is useful in most
cases and therefore is the default setting. Unless the option is disabled, polygon lines are converted,
which is useful for further processing in CINEMA 4D.

Direct3D Export



DirectX can only process graphics measuring 2n pixels (textures need to be 2x2, 4x4, 8x8,
16x16, 32x32, 64x64,128x128, 256x256 and so on).

Scale
Determines whether and by how much Direct3D files are scaled when they are saved.
Format
Direct3D is a text format. To facilitate manual editing of the file, this option formats the whole file
automatically. This increases the file size.
Save Templates
When enabled, the template header is written to the file.
Export Textures
When enabled, all texture information is saved for all objects. This includes creating UV coordinates
for each object.
Adapt Textures



Only the name is changed. You still need to convert the image.

DirectX uses mainly the PPM (portable pixel map) graphics format, but also BMP (Windows bitmap).
CINEMA 4D does not recognize the former, which means that textures need to be converted. This
can easily be done using most image editors. But what about adapting the names?

CONFIGURATION • 81

If you enable this option, all texture filename extensions of scene materials are automatically
changed when they are exported (so that ‘image.jpg’ becomes ‘image.ppm’). This has the benefit
that you don’t have to check if renaming is required for each material and attribute.
Save Normals
If this option is enabled, normal vectors are created for all surfaces. If not, the calculation of the
normals is left to Direct3D.
Generate Mesh
Direct3D works with two types of models: Frame and Mesh.
- Frames, as with CINEMA 4D, consist of objects arranged in a hierarchical structure. Objects
remain encapsulated.
- In a Mesh, on the other hand, all objects are on the same level. The hierarchy disappears.

82 • CHAPTER 3

FBX Import / Export
Kaydara’s FBX file format (www.kaydara.com) is supported by most major 3D applications,
including of course Kaydara’s MOTIONBUILDER software. FBX files are capable of storing not only
geometry but also texture data and animation data including PLA.

FBX Import Settings

CINEMA 4D’s FBX import filter supports the main settings. If you import an FBX file that contains
multiple takes, a dialog will appear allowing you to select which take to load. If the file is encrypted,
you’ll be requested to enter a password.
To switch off the import of geometry objects, lights or cameras, disable the corresponding option.
If any of these objects are targets for a Target tag, they will replaced by a Null object that will act as
the target instead.

CONFIGURATION • 83

Meshes, nurbs, patches
FBX geometry objects will be triangulated and converted to polygon objects. PLA data will also be
imported if present.
Cameras
Cameras are supported including the roll channel and FOV. The cameras will be imported as
child objects of a Null object, thus allowing camera roll to be animated. Camera switchers will be
converted to Stage objects with a corresponding animation track.
Smart Merge option
This option gives you a smart way to merge the FBX file with the active CINEMA 4D scene: if the
objects do not yet exist in the CINEMA 4D scene, they will be imported; if the objects already exist,
only their animation data will be imported.
Bones
The hierarchy for skeletons in the FBX file format is usually different to the hierarchy required for
skeletons in CINEMA 4D. If the objects that are influenced by a skeleton share its rest pose, a single
skeleton is generated for them and this skeleton is placed on the same hierarchical level as the
topmost influenced object. If, on the other hand, the skeleton must use a different rest pose for
each object, each object receives a copy of the skeleton as a child. Skeletons that are not connected
to geometry are disabled. The influence of bones is limited by the vertex maps assigned to the
mesh.
Null objects are created for the original skeleton nodes if necessary to ensure correct animation.
FBX and CINEMA 4D also differ when it comes to the structure of bones — a CINEMA 4D bone
corresponds to the connection between two skeleton nodes in the FBX format. This means the
names of the elements cannot be imported 1:1. As a rule, a CINEMA 4D bone created from two
FBX nodes takes the name and the weighting of the first node. If the last FBX node in a chain is
weighted, a CINEMA 4D bone of zero length is created and aligned with the parent.
For best results, ensure that Use Absolute Weights is enabled. This will allow the weight data of the
bones to be imported and exported without loss of precision. The deformation in MOTIONBUILDER
and CINEMA 4D will thus look identical.
Nodes that do not have a link pose or rest pose will be converted to unweighted, unreferenced null
bones.
If the MOCCA module is installed, the importer will create weight data for the Claude Bonet tool
instead of vertex maps and Restriction tags. If you require vertex maps, toggle the corresponding
option in the preferences dialog.

84 • CHAPTER 3

Lights
FBX supports the following types of lights: omni, round spot and directional. Directional lights will
be imported as parallel lights to ensure 3ds max files are imported correctly. The ambient and fog
color will be converted to an Environment object to allow correct import into MOTIONBUILDER
should you export the scene back to FBX later on.
Materials and textures
Materials will be imported and converted to the corresponding CINEMA 4D channels. If a mesh has
multiple materials, a selection will created for each material and the selection will be assigned to
the mesh.
Markers
Markers will be converted to Null objects with a corresponding color.
Animation
The following animation channels are supported:
- Translation (XYZ)
- Rotation (HPB)
- Scaling (XYZ)
- Visibility
- Marker color (RGB)
- Camera field of view
- Camera roll
- Camera switching
- Light color (RGB)
- Light intensity
Constraints animation is not supported by the FBX SDK. Only MOTIONBUILDER can animate these
files (see ‘Troubleshooting’).
Coordinate System
Files coming from a right-handed system are converted to the left-handed system used by
CINEMA 4D. Meshes and the direction of polygons are also corrected to the differences between
the coordinate systems into account.
Object Visibility In The viewport
Enable this option to take object visibility into account. Visible and invisible objects will be assigned
the corresponding status via their visibility dots in the Object manager. Child objects that have the
same visibility as the parent will be set to the unchanged status.

CONFIGURATION • 85

Bones and relative rest pose
FBX files that were saved using an older version of MOTIONBUILDER contain so-called relative
rest poses for the bones. This means that no specific rest pose can be generated in this format
(which is why MOTIONBUILDER cannot convert these files; bones saved in earlier versions than
MOTIONBUILDER 3.2 will be maintained in this format). In this case, the importer will try to
generate a possible rest pose based on the animation data of mesh and bones. Unfortunately, this
will not work every time. The Console window will display information as to whether the imported
document contains a relative rest pose.
If the imported skeletons do not look as expected, this might be because of relative rest pose data.
The Use Start Pose As Rest Pose option makes the importer use the start pose of the animation as
the rest pose of the bones. This works for skeletons that are properly aligned with the undeformed
mesh at the start of the animation.
Other information
- The file version of an imported scene always shows 5.0.0. This may change after
MOTIONBUILDER 5.
- Files created with the latest FBX plugins for Maya or 3ds max may contain a so-called bind pose.
The bind pose is currently not supported.
- The top-level objects are always imported in alphabetical order. This is a feature of the FBX SDK,
that cannot be changed at this time.
Troubleshooting
Errors in the position data of the bones / trouble with MOTIONBUILDER 4 files
The MOTIONBUILDER 4 CD contains several FBX files that you may have problems importing. This
is due to the FBX SDK incorrectly converting the default position of the bones for those files. Even
though the files may look fine in MOTIONBUILDER, they won’t appear correctly in 3ds max, Maya or
CINEMA 4D.
The rest position for these bones is, however, correct. For this reason, there is a Keep Rest Pose
option. Enable the option to keep the rest pose and discard the faulty animation data. Alternatively,
repair these damaged files as described here by the FBX support:
“Some of the scenes shipped with MOTIONBUILDER 4.0 were defective, such as
01WalkPoseGAULIX.fbx. What occurs is that Gaulix’s animation is driven by our character
constraint (the character constraint is saved as “active”), not by the animation curve or the
default TRS.
“In the faulty samples, the default TRS was not updated by the values of the active constraint at
the moment of the save. The default TRS was left to an intermediate state. It only works well in
MOTIONBUILDER because it’s the only package to evaluate the character constraint.
“To correct your problem, follow these steps:
-

Open the scene in MOTIONBUILDER.

86 • CHAPTER 3

-

Open a Navigator window.

-

Expand the character’s tree.

-

Double-click on the Gaulix character.

-

On the Character Settings tab, do the following:
- Disable the Active option to disable the character constraint.
- If necessary, enable the Active option again.

-

Save your corrected scene.

“This will update the TRS values of the nodes of Gaulix with the ones in the character constraint.
The problem we have here was present only in the samples of MOTIONBUILDER 4.0. Any scene
created before or after that release does not contain this problem.”
Additional options
Import Poses/PLA
If the FBX file contains poses, this option controls whether the poses should be evaluated and, for
example, imported as PLA.
Use PoseMizer
If the optional MOCCA module is installed, poses can be imported using MOCCA’s PoserMixer
tool. The Import Poses/PLA option must also be enabled.
Import Normals
This refers to point normals that are stored in a tag. Enabling the option can result in better
rendering results when importing mesh from other 3D applications.
Smart Merge Updates Weights
Enable this option to import weights created in another 3D application.
Key filters for translation, rotation and scale
These threshold values control when similar keys will be merged. At 0%, only identical keys will
be removed. At 100% the importer will remove as many keys as possible within certain limits.
For rotation and scale keys:
Value

Threshold

0.1%

0.00000001

1%

0.000001

10%

0.0001

100%

0.01

CONFIGURATION • 87

So with 10%, rotation and scale keys that deviate by less that 0.0001 are considered to be
identical.
The threshold values for translation keys are one hundred times greater than those for rotation
and scale.
Start At Frame Zero
If this option is enabled, the imported animation will start at frame 0 instead of at the frame
defined in the file (which could be, say, frame 456).

FBX Export Settings

Coordinate system
CINEMA 4D uses the left-handed coordinate system. On export, the scene will be converted to the
right-handed coordinate system and the mesh will be adapted to take the differences between the
coordinate systems into account.
Parametric objects
Parametric objects will be exported as polygons.
Bones
Bones will be converted to skeleton nodes. If the bone at the end of a chain is longer than zero, two
nodes will be created and the last node will be assigned the extension ‘End’.
In the case of a polygon that has no Claude Bonet data, the exporter will search for skeletons in the
hierarchy that influence the polygon and will export the bones subject to Restriction tags and bone
range limits. If the vertex maps are not absolute, the data will be converted. For best results, use
‘Smart Bones’ with absolute weights.
Polygons
If the file will be imported into MOTIONBUILDER or Maya, enable the Save Normals option.

88 • CHAPTER 3

Lights
Omni, round spot and parallel are converted directly. Options such as falloff cannot be converted.
Other types of light are converted as follows:
CINEMA 4D light source

FBX conversion

Spot (Square)

Spot (Round)

Parallel Spot (Round)

Spot (Round)

Parallel Spot (Square)

Spot (Round)

Distant

Directional

Tube, Area

Omni

Null objects added as parents to lights on import will be removed automatically on export.
Materials and textures
FBX supports the following material properties: color, luminance color, specular color, specular
width and height, reflection, transparency and environment color. The FBX format allows textures
in the color channel only. Shaders are not yet supported.
Enable the Embed Textures option to embed the textures in the FBX file. If the option is disabled,
an absolute path to the texture will saved in the file instead — this makes for a smaller file, but
the texture will be lost if you move the FBX file to a different location on your hard drive or to a
different computer.
If the file will be imported into LightWave, enable the Create Dummy Texture option; otherwise,
LightWave may crash.
Environment object
Environment color and fog color are exported. The fog’s Distance value has no corresponding
parameter and is not exported.
Animation
The following channels are supported:
- Translation (XYZ)
- Rotation (HPB)
- Scaling (XYZ)
Object visibility
Exports the render visibility of objects (lower visibility dots).

CONFIGURATION • 89

Additional options
Export As Text File
If this option is enabled, the FBX file will be saved as ASCII text. This makes it easier, for example,
for games developers to import animation into games engines.
Key filters for translation, rotation and scale
These parameters have the same functions as previously described for FBX import.

Illustrator Import

If you want to make a 2D vector graphic such as a company logo three-dimensional, import it in
the Illustrator format and extrude it using an Extrude NURBS. Vector graphics from other programs
such as Macromedia Freehand and CorelDraw can also be imported if saved in Illustrator format.
Scale
Determines whether and by how much Illustrator files are scaled when they are loaded.
Connect Splines
All shapes in the original Illustrator file are imported as a single, connected Spline object if this
option is enabled.
Group Splines
If enabled, each line is imported as a separate Spline object.

90 • CHAPTER 3

LightWave Import

When opening a LightWave file, not only is the object geometry imported but also the rest
of the scene including the camera’s focal length (especially useful when used with 3D camera
tracking software such as MatchMover or 3D-Equalizer), texture maps, animation sequences and
bones information. Additionally, UV coordinates and weight maps of LightWave [6] or higher are
imported.
Scale
Determines whether and by how much LightWave files are scaled when they are loaded. The default
value is 10 (LightWave uses a smaller construction scale than CINEMA 4D).
Textures
If enabled, texture information is also loaded.
Lights
Light source information is also loaded when this option is on.
Split Selections
LightWave supports double sided polygons. When opening such an object, CINEMA 4D creates
double polygons, which may lead to rendering artifacts. If you have such objects in your LightWave
scene, enable this option. Two grouped objects are created, one of which may be deleted if no
longer required.

CONFIGURATION • 91

Monzoom Import

This import filter allows you to load objects, materials, textures, light sources and the cameras of a
Monzoom/Reflections scene. Scale determines whether and by how much Monzoom files are scaled
when they are loaded.
The earliest versions of Reflections are not supported. In these cases, load the file into a more
recent version of Reflections or Monzoom and save it out as a new file.
In Reflections/Monzoom, Phong shading can be assigned to individual polygons. For this reason
you can choose when the imported objects are given a Phong tag: always, never, when most of
the polygons are smoothed or when at least some of the polygons are smoothed. In most cases,
Majority Of Faces is the best setting.

QuickDraw 3D Export

Scale
Determines whether and by how much QuickDraw 3D files are scaled when they are saved.
Save Textures
If this option is enabled, objects are saved with their textures (including UV coordinates if present);
otherwise, objects are saved with basic color information only (i.e. without textures).
Maximum Size
You can use any size of texture provided your system has sufficient memory. However, in general
avoid large textures since they add to the loading time. This option lets you restrict the size of
QuickDraw 3D files. The material images are scaled to the specified value (in pixels); the proportions
remain intact.

92 • CHAPTER 3

QuickDraw 3D Import

Scale
Determines whether and by how much QuickDraw 3D files are scaled when they are loaded.
NURBS Subdivision, Sphere Subdivision, Cone/Cylinder Subdivision
These settings specify whether and to what extent QuickDraw 3D NURBS, spheres, cones and
cylinders are triangulated during loading.

STL Import / Export

The STL format is mostly used in the field of rapid prototyping to design moulds. The geometry is
described as triangles.
Scale
Determines whether and by how much STL files are scaled when they are imported or exported.

CONFIGURATION • 93

Shockwave 3D Export
Output Quality

Geometry
Controls the quality of the exported mesh. Values less than 100% reduce the number of polygons.
Generally aim to reduce the number of polygons so that Shockwave can display the objects as
quickly as possible. However, we recommend that you leave Geometry set to 100% and instead
reduce the number of polygons using CINEMA 4D’s Polygon Reduction tool. Polygon Reduction
enables you to adjust the reduction strength for individual objects rather than for the scene as a
whole, and you can preview the polygon reduction directly in the perspective view in realtime.
Textures
Sets the size and quality of the textures. 100% means slight compression only. Lower settings offer
greater compression but poorer image quality.
Animation
The accuracy of position, scaling and rotation animation data is set here. The reduction in accuracy
only takes place when the data is saved.
Shader Texture Size
Materials with procedural shaders are converted to textures. This value defines the size of these
textures. Note that volume shaders look different when converted to textures.
Create Neighbor Mesh Data (For HyperNURBS)
Enable this option to allow subdivision surfaces and the Toon shader to be used when the file is
imported into Macromedia Director. If you don’t need this functionality, disable the option for a
smaller file size (about 15% to 25% less).
Polygon Front And Back Visible
By default, Shockwave only displays polygons if their surface normals face the camera — polygons
that face away from the camera are ignored and are not displayed; this is to help speed up the
display. Usually this won’t cause problems provided that you’ve aligned the normals of your mesh
correctly and you’re not using alpha or transparency textures.

94 • CHAPTER 3

If you want to use alpha or transparency textures, add a Shockwave 3D Double Sided tag to each
object that uses these textures. Alternatively, enable the Polygon Front And Back Visible option to
make all surfaces double-sided. However, keep in mind that double-sided polygons slow down the
display of the objects in Shockwave. For this reason tags are usually the best option.
If you can’t see the fronts of surfaces in Shockwave, check if the normals in the CINEMA 4D scene
are correctly aligned. Correct them as necessary using the Align Normals and Reverse Normals
commands.
Substitute Group Objects
Null objects in Shockwave are called ‘group objects’. Since group objects cannot be animated in
Shockwave, the export filter converts animated Null objects to dummy mesh objects.
If these animated nulls are converted to mesh objects automatically, what’s the point of the
Substitute Group Objects option, then? If you enable the option, all Null objects are converted to
mesh objects, not just the animated ones. This is useful if you intend to animate the exported scene
in Director using Lingo. You’ll then be able to animate any of the converted Null objects, not just
the ones originally animated in CINEMA 4D.

Texture Export Options

Enable the option for each material channel that you want to be exported: Export Alpha, Color,
Environment, Luminance, Specular Color, Diffusion and Transparency. Keep in mind that Shockwave
handles environment and specular textures differently.

Light Options

Light Sources
Choose the export mode for light sources. Do Not Export means lights are not exported. No Fall-Off
means lights are exported without fall-off. Best Match means lights are converted during export to
match their CINEMA 4D settings as best as possible.
Global Light Intensity
Controls the intensity of lighting. Increase or lower the value to brighten or darken the scene.

CONFIGURATION • 95

Animation Export Options

Export Animation
To export animation, enable this option and set the accuracy of the animation export using Sample
Frequency. If you disable Export Animation, the scene is exported at the current frame (i.e. as
currently seen in the viewport) and without animation.
Sample Frequency
Controls the accuracy of animation, defined as the number of keyframe groups per second. For
example, if you set Sample Frequency to 15, 15 keys will be created for each position, scale and
rotation track. Avoid using values higher than the scene’s Frame Rate (Edit > Project Settings) since
this will add to the export time without improving the accuracy of animation.

Options

Show Preview



To open multiple previews, choose File > Export > Shockwave 3D multiple times.

Enable this option to open a preview when you export the scene. To move, zoom or rotate the
preview, select the Move, Scale or Rotate tool at the top of the preview’s window and drag within
the preview. Click Save to save the Shockwave file or Discard to cancel export. Since Shockwave
uses the software renderer on Windows but OpenGL on Mac OS for the preview, the same scene
may look different when viewed on another system. See also ‘Shockwave 3D limitations’, below.
Dump Hierarchy
The hierarchy, object and material settings are exported as a separate text file if this option is
enabled. This is useful when you want to edit specific objects or shaders in Lingo.
Statistics
Enable this option to save a separate text file that contains scene information such as the file size
and the size in KB of geometry, shaders, lights and so on.

96 • CHAPTER 3

Shockwave 3D limitations
Lighting
Shockwave 3D is designed for realtime streaming; hence, Shockwave does not support a number of
CINEMA 4D’s advanced lighting features. Keep the following in mind when exporting lights:
Light source conversions
Lights are converted as follows:
CINEMA 4D light source

Shockwave 3D conversion

Omni

Omni (no change)

Spot round

Spot round (no change)

Spot square

Spot round

Distant

Directional

Parallel

Directional

Parallel spot round

Spot round

Parallel spot square

Spot round

Tube

Omni

Area

Omni

Environment, Fog
Environment objects are converted to ambient lights. Fog is not supported.
Light fall-off



Shockwave 3D does not support clipped lights.

Inverse Linear and Inverse Quadratic fall-off are copied if the inner distance is set to 0 (other values
are not supported by Shockwave). There are no equivalents for the other modes (Linear, Inverse
Cubic and Step), which will instead be exported as Inverse Linear, Inverse Quadratic and No Fall-Off.
Shadows, noise, lens effects
Shadows, noise and lens effects are not supported by Shockwave.

Cameras
Projection
The current camera object is exported as the default view. The projections Parallel, Front, Back, Left,
Right, Top and Bottom are exported as orthogonal projections. The Military, Frog, Bird, Gentleman,
Isometric and Dimetric perspectives are exported as orthogonal projections (Front) since Shockwave
has no equivalents.

CONFIGURATION • 97

Director camera
Director does not support multiple cameras. Only one camera is available, named ‘defaultView’.
If there is no camera in your CINEMA 4D scene named ‘defaultView’, a camera is exported
automatically that shows the current view.
Camera Animation
To export a camera animation for playback in Director, in CINEMA 4D change the camera’s name to
‘defaultView’. Since camera objects cannot have animation tracks in Shockwave, the export filter
automatically adds a dummy mesh and makes the camera a child of the dummy mesh if necessary.
Shockwave Player
You can export any number of bones. However, only the nine most influential bones will be used
per point. The reference position of the bones will determine which bones have the most influence.
A maximum of eight lights can be used for the current view. Additional lights will be ignored.
Known issues and other limitations
- Spotlights malfunction under Mac OS X 10.2 with the OpenGL renderer.
- According to Macromedia, specularity requires a special OpenGL extension; however,
Macromedia is unaware of any OpenGL driver for PC or Mac that works with Shockwave’s
specularity.
- Textures in the specular channel are incorrectly displayed under Mac OS X.
- Specular highlights are overexposed with the Direct X5 renderer. If available, use Direct X7
instead.
- Alpha channels are restricted to one texture unit only.
- Transparency textures and transparency colors are not supported by Shockwave. The export
filter’s transparency emulation only takes into account the grayscale values of transparency
textures and transparency colors.
- To display transparency textures and alpha textures correctly in Shockwave Director, use Lingo
to change the render format from the standard setting of #rgba5551 (1-bit alpha channel) to
#rgba8888.
- While CINEMA 4D uses the specularity texture to weight the color and shape of highlights,
in Shockwave the texture defines the color, shape and position of highlights. In general,
avoid exporting specularity textures and instead use the highlights generated by the graphics
hardware. As a rule, Shockwave specularity doesn’t work when the OpenGL renderer is enabled.
- The environment texture is projected differently in Shockwave. Blur strength and blur offset are
ignored.
- Shockwave does not support: mesh animation, the No Specular option of lights and premultiplied
alpha textures.

98 • CHAPTER 3

- Shockwave does not support the following material channels: Reflection, Fog, Bump, Glow,
Displacement and Illumination.
- Shockwave does not support the addition of materials on an object — the right-most material
(as seen in the Material manager) is used. However, polygon selections are taken into account,
enabling you to allocate multiple textures for the respective selection.

UZR Export

The UZR export saves a scene generated and animated with CINEMA 4D as a UZR file. This file
can be included in HTML using the provided ‘uzrviewer.jar’ file and viewed with a standard web
browser. The UZR export enables you to create web 3D content directly from existing 3D data.
UZR files can be used without charge. You don’t need any browser plugin or additional software to
view the 3D graphics and animations online — all you need is a Java-enabled web browser. UZR files
can be viewed with any browser (Internet Explorer, Netscape, Opera) on any system including Linux.
UZR files are streamed and thus allow an immediate visual feedback without having to endure
long download times. As soon as parts of the 3D data are loaded, they are displayed in the applet
window. The remaining data is loaded in the background and displayed piece by piece until all data
is downloaded.
Exporting a UZR File



The filter exports the cameras in the scene but not the current view.

The UZR export includes all 3D data that can be ‘polygonized’ (e.g. no particle systems). All
materials and color textures (no transparencies) as well as all cameras, light sources and animations
defined in CINEMA 4D are included in the exported UZR file.
When exporting to UZR, three files are written: the UZR file containing the 3D data; an HTML file
containing the applet window as well as, if desired, JavaScript controls; and the Java applet file
‘uzrviewer.jar’ that is required to view the model in the browser.

CONFIGURATION • 99

Filter Properties
Texture
Texture Format
Defines the format of the exported texture. Progressive DCT streams the texture data. JPEG includes
the texture as a JPEG file. Uncompressed RGB saves the textures as an uncompressed RGB file; you
will see maximum texture quality using this format, but the UZR file size will considerably increase.
Texture Quality
Defines the exported texture’s quality. The larger this value, the higher the exported texture’s
quality and the larger the UZR file will be.

HTML
Generate Javascript Controls
If this option is enabled, javascript controls are included in the HTML file exported during the UZR
export. With these controls, the camera positions can be selected, the light sources can be (de)activated and the animation can be started.
Copy Applet Archive File
If this option is enabled, the Java applet ‘uzrviewer.jar’ is copied to the same destination as the UZR
and the HTML file.

File
File Info
Here you can enter copyrights or any additional file information. This text will be included in the
UZR file and displayed if About This File is selected from the applet’s context menu.

100 • CHAPTER 3

Integrating UZR files in HTML



When editing the UZR filename, keep in mind that it is case sensitive.

Like standard image files, UZR files can be included in HTML web pages. To view the 3D model with
a browser, the Java applet file ‘uzrviewer.jar’ must be provided. If you export to UZR, an HTML file is
written. This file can be edited manually and the following parts are of special interest.
 Camera xy
The above part defines the JavaScript controls that activate the different exported cameras. You can edit the number and names of the available camera position JavaScript controls. The names given to the camera positions in CINEMA 4D are included automatically. Light xy
The above part defines the JavaScript controls that activate the different exported light sources. You can edit the number and names of the available light sources JavaScript controls. The names given to the light sources in CINEMA 4D are included automatically. The above part is written if you include the JavaScript controls in the UZR export. Two buttons are integrated in the HTML file: a Start button that starts an existing animation, and a Reset button that resets the current camera to its original position. These buttons can also be edited manually. You can change the names of the buttons (e.g. Back instead of Reset). You can also delete one or both buttons, which is useful, for example, if no animation is available. The above part defines the UZR file that is loaded into the applet window (the ‘scene’ parameter), as well as some display settings (‘width’ and ‘height’ parameters). Additionally, the following applet parameters can be defined: nocamrt The UZR file display can be controlled with the mouse. If the ‘nocamrt’ parameter is set to true, a rotation of the cameras is disabled. If the ‘nocamrt’ parameter is set to false, the exported cameras can be rotated, allowing the user an advanced 3D navigation. CONFIGURATION • 101 bgcolor Defines the color of the applet background. Enter any desired color value (e.g. #FFFFFFF for a white or #000000 for a black background). s_cameras Defines the text of the applet’s context menu item that lists the available camera positions. If this parameter is not set, the default value ‘Cameras’ is used. s_lights Defines the text of the applet’s context menu item that lists the available light sources. If this parameter is not set, the default value ‘Lights’ is used. s_reset Defines the text of the applet’s context menu item that resets the current camera position. If this parameter is not set, the default value ‘Reset’ is used. s_start Defines the text of the applet’s context menu item that starts an existing animation. If this parameter is not set, the default value ‘Start’ is used. camera Defines the default camera that is displayed when the UZR file is first loaded. Simply enter the name of the camera. anim Defines if an existing animation is automatically started after the UZR file is loaded. loop Defines if an existing animation is looped. Controlling the UZR browser display When the HTML file is opened, the UZR file is automatically loaded into the applet window. The streamed data is displayed bit by bit until all data is downloaded. If you enable the Generate Javascript Controls option during UZR export, a table containing the JavaScript controls is included in the exported HTML file, directly under the applet window code. You can use theses controls to activate the different camera positions and light sources, to start an existing animation and reset the position of the current camera. The camera positions are activated by selecting the position in the table. If an animation is started, it will always be viewed from the current camera position. 102 • CHAPTER 3 If camera rotations are enabled (see ‘nocamrt’, above), the camera can be rotated about its center by dragging and about the center of the scene by Shift-dragging. The camera’s zoom can be adjusted by Alt-dragging. You can (de-)activate the existing light sources using the check boxes next to each light source. If all light sources are disabled, the default lighting is displayed. The applet’s context menu The 3D model display can also be controlled from the applet’s context menu. To open the context menu, right-click (Windows) or Ctrl-click (Mac OS) on the applet window. The applet’s context menu items can be edited with the different applet parameters (see above). Start, Reset These commands start and reset an existing animation. Cameras, Lights These commands display a list of existing cameras and light sources. About This File, About UZR Viewer These commands display the text information included during the UZR file export and information on the UZR Viewer. VRML 1 Export Scale Determines whether and by how much VRML 1 files are scaled when they are saved. Format VRML is a text format. To facilitate manual editing of the file, this option carries out automatic formatting on the entire text file during export. Backface Culling This option enables an attribute on all exported objects that switches off drawing of the non-visible sides of all objects in the web browser. This gives a much faster display. CONFIGURATION • 103 Textures This menu specifies the action CINEMA 4D is to take when exporting textures. None ignores the textures and saves only color information. Referenced means objects are saved with the paths to the textures. With File saves all textures directly in the VRML file (called inline textures). Any UV coordinates are also saved. Maximum Size RAM-permitting, CINEMA 4D allows you to use any size of texture. However, when viewing a scene, it can be irritating waiting for large textures to load. This option enables you to limit the size of VRML files. The material images are scaled to the specified value (defined in pixels); the proportions remain intact. VRML 1 Import Scale Determines whether and by how much VRML 1 files are scaled when they are loaded. Optimize Hierarchy If Optimize Hierarchy is enabled, the scene structure is optimized once the VRML1 file has been loaded. Superfluous dummy objects are removed and the object hierarchy is optimized. This creates a clearer overview, helping you to work more quickly. Import Normals The mesh exported by some NURBS modeling applications tends to be prone to software shading errors. With the VRML 1, VRML 2 and Wavefront formats, you can now include vertex normals in the file provided that you have activated vertex normals in the modeling application. Vertex normals are normals for points. Depending on how many surfaces are involved, a point may have multiple normals. With the help of these vertex normals, CINEMA 4D is able to produce good shading despite the sub-optimal mesh. The vertex normals are stored in a Normal tag (see below). 104 • CHAPTER 3 CINEMA 4D is able to display and correctly render the imported objects thanks to these Normal tags. Keep in mind that if you edit the points of such imported objects, the Normal tags will no longer work properly and the mesh may produce shading errors. You can, however, move, scale and rotate the object itself and the tags will still function correctly. If you delete the Normal tag, the standard shading will be used instead. VRML 2 Export Scale This is for specifying whether and to what degree VRML 2 files are scaled when they are saved. Format VRML is a text format. To facilitate manual editing of the file, this option carries out automatic formatting on the entire text file during export. Backface Culling This option enables an attribute on all exported objects that switches off drawing of the non-visible sides of all objects in the web browser. This gives a much faster display. Save Animation Enable this option to include animation information when you save scenes in the VRML 2 format. Keys/Second This defines the frequency of the keys for animation export. VRML 2 supports linear interpolation only. You may need to increase the setting for greater accuracy. Values from 5 to 25 are common. Textures This drop-down list specifies the action CINEMA 4D takes when exporting textures. None ignores the textures and saves only color information. Referenced means objects are saved with the paths to the textures. With File saves all textures directly in the VRML file (called inline textures). Any UV coordinates are also saved. CONFIGURATION • 105 Maximum Size VRML 2 provides two options for making textures available to their objects. The first option is identical to the one used in CINEMA 4D: a reference to the texture file is saved along with the VRML scene. If you want to go with this option, specify the value 0. The second option integrates the graphics data directly into the VRML 2 file. Since the texture is written uncompressed, in text format, a texture of 1000x1000 pixels quickly reaches a file size of 4MB. To avoid such large files, specify a value larger than 0 to limit the size of textures. The materials are then scaled to that value (in pixels). The proportions remain intact. For example, if you have a texture of 800x600 pixels and set a maximum value of 100, the texture is proportionally scaled down to a size of 100x75 pixels before being saved. VRML 2 Import Scale This specifies whether and to what extent VRML 2 files are scaled when they are loaded. Optimize Hierarchy If Optimize Hierarchy is enabled, the hierarchy is optimized once the VRML 2 file has been loaded. Superfluous dummy objects are removed and the object hierarchy is optimized. This creates a clearer overview, helping you to work more quickly. Optimize Structure Enable this option to optimize the scene’s structure during import. Import Normals See ‘VRML 1 Import’. 106 • CHAPTER 3 Wavefront Import / Export Factor This specifies whether and to what extent Wavefront files are scaled during import and export. Import Normals See ‘VRML 1 Import.’ Material Preview Here you can customize the material previews that are displayed in the Material editor and Attribute manager. Default Size Defines the size of the preview in the Material editor and Attribute manager. Shader Default Scene, Material Default Scene Here you can change which scenes are used to generate the shader preview and material preview. Frame Rate, Preview Length The Frame Rate sets the frame rate for animated previews. The Preview Length is the length of the looped animation preview. Memory Limit Defines the maximum amount of memory CINEMA 4D assigns to calculating animated previews. CONFIGURATION • 107 Texture Paths CINEMA 4D searches for texture files and animation files in the following locations: in the same folder as the scene; in the ‘Tex’ folder within the scene’s folder; in the ‘Tex’ folder within the CINEMA 4D folder. If a texture is not in any of these folders, add the texture’s folder to this dialog. You can specify up to ten paths. Each is searched recursively, i.e. sub-folders are searched too. Type the path name directly into a text box. Alternatively, click a path’s three dots button, guide the system dialog that opens to the texture’s folder and click Open (Windows) or Choose (Mac OS). If a texture still cannot be located after searching all the texture paths, CINEMA 4D reports a texture error. Units Display Units Values are displayed together with their unit of measurement by default. If this option is disabled, the unit of measurement is not displayed. 108 • CHAPTER 3 Use HPB System You may find this option useful if you are an experienced animator. If this option is disabled, the active object rotates about its local axes or the world axes when you use the mouse. However, when you play back the animation, the object may not rotate as planned. This is because CINEMA 4D records all rotations using the HPB system. If, on the other hand, you enable this option, the active object rotates about the HPB angles when you use the mouse. In other words, you rotate the object using the heading, pitch and bank of the object’s parent system. Only experienced animators should use this option, since it requires a great deal of abstract thought. Basic Units Here you determine the basic unit of measurement in CINEMA 4D. Choose from pixels, kilometers, metres, centimeters, millimeters, micrometers, nanometers, miles, yards, feet and inches. For example, if you select Centimeter as the basic units, all position values will be stated in cm. Note that if you change units the numerical values will not be converted. However, you can enter values in different units. For example, if the basic units are cm and you type ‘5 km’ into a dialog, the value will be converted to 500,000 cm. If you set the basic units to Pixel, the unit of measurement will not be specified. It is then up to you to decide how to interpret the values. You can use the following abbreviations for units when entering values: Abbreviation Units no units specified pixels km kilometers m meters cm centimeters mm millimeters um micrometers nm nanometers mi miles yd yards ft feet in inches Animation Units Here you specify the time units used for animation. Your choice is from frames, seconds and SMPTE time codes that use the format: Min:Sec:Frame. For example, 3:20:14 refers to the time 3 minutes, 20 seconds, 15th frame. The last value in the time code is the frame number of the current second (starting at frame 0). CONFIGURATION • 109 Suppose you are working with a frame rate of 25 fps and the frame value is in the range of 0 to 24. If the minutes value is 0, you can omit it when entering SMPTE time codes. For example, 15:14 means 15 seconds and the 15th frame. You can use the following abbreviations when you enter time values: Abbreviation Units F frame S seconds min:sec:frame SMPTE Color Chooser These settings allow you to specify which type of color chooser will appear in CINEMA 4D in the various places of the program where you can select colors. Color System CINEMA 4D, Color System BodyPaint 3D You can specify two color choosers: one for parts of the program relating directly to CINEMA 4D such as the Material manager and one for parts relating directly to BodyPaint 3D such as the Color manager. When you select a color chooser, you’ll see a preview of it appear in the Preview area. You can choose from the following types of color chooser: RGB Only RGB Colored HSV Only HSV Colored Enhanced Color Table Color Table RGB Range, Hue Range, Sat/Val Range Specify the range and units of the color chooser: 0 - 255, 0 - 100%, 0 - 65535 or 0 - 360°. 110 • CHAPTER 3 Quick Storage, Mixing Panel 1. Quick Storage, 2. Mixing Panel. Quick Storage Enable this option to display a row of color swatches where you can store frequently used colors. To save the active color to the quick storage area, do one of the following: - Drag and drop the active color’s preview onto a swatch in the quick storage row. - Ctrl-click on a swatch in the quick storage area. Mixing Panel Enable this open to display the mixing panel. The mixing panel allows you to mix four base colors to produce a range of colors. Click a color in the range to choose that color. The four base colors are displayed in the color swatches at the sides of the range. To choose a new base color, do one of the following: - Click on a base color’s swatch; this assigns the active color to the swatch. - Drag and drop the active color preview onto a base color’s swatch; again, this assigns the active color to the swatch. - Drag and drop a color from the quick storage row onto a base color’s swatch. Other color chooser functions To choose a color, do one of the following: - Click on a color range. - Drag the color sliders. - Enter color values into the text boxes. The HSV sliders, RGB sliders and text boxes will react to one other in realtime. CONFIGURATION • 111 The enhanced color table (Color System set to Enhanced Color Table) gives you a quick way to choose colors and adjust their saturation and brightness. Click on the table and drag to adjust the color. The sliders — including those for saturation and brightness — will update in realtime. The preview for the color will also update in realtime. To open the computer system’s color chooser, click the preview. If you click the triangle button below the preview, you’ll see the following menu appear: The top two parts of the menu allow you to temporarily use a different color chooser to the one chosen in the preferences. The next time you restart CINEMA 4D, the color chooser will revert to the preset. Color System You can choose between the RGB model and the HSV model. You can also choose whether the values should be specified as a percentage, in steps ranging from 0 to 255 or in steps ranging from 0 to 65535. A good choice of colors is essential for consistent photorealistic results. Photorealism is often a yardstick for programs such as CINEMA 4D. The human eye can see several hundred thousand colors in the spectral range between 400 nm (blue) and 700 nm (red). This color sensitivity is the result of many thousands of receptors on the retina. Not all of these are equally sensitive, and not all are sensitive to the same range of wavelengths. Some of the receptors are particularly sensitive within the blue range at about 440 nm; others are far more sensitive in other ranges; while yet others are particularly receptive in the green range at about 540 to 580 nm. The eye therefore has three different types of receptors for the primary colors of red, green and blue. The spectral sensitivity and overlapping of the sensitive ranges make characterization of colors extremely difficult (see Figure 1). The color that the human eye perceives as white does not contain equal parts of red, green and blue light — this would be called chromatic — but must, in accordance with the overlapping sensitivity ranges, be made up of varying proportions of these colors. Only then does the eye see white. This is what we call achromatic light. 112 • CHAPTER 3 Typical output devices for color are printers, imagesetters and computer screens. The first two use the subtractive method of color mixing (CMYK) and will not be part of our discussion here. Most important for CINEMA 4D is the additive method of color mixing, which is the one used for representing colors on monitors. CINEMA 4D characterizes all colors using three numerical values. Two different color models are used, which you can easily toggle between. Probably the best known model is RGB, which is used by most graphics applications because it is best suited to the hardware components for image and color output. The most commonly used output device is the computer screen, which has a grid consisting of fine dots made up from a red, a green and a blue point. These points can be addressed by an electron beam. By aiming the beam at not just one color dot but, for example, the red and the green, the added color value is yellow. Figure 1: The spectral sensitivity and overlapping of the sensitive ranges make characterization of colors extremely difficult. Figure 2: By beaming different intensities at the three dots it is possible to generate many colors mixed from these basic primary colors. CONFIGURATION • 113 Figure 3: The colors that can be displayed can be represented in a 3D coordinate system. Figure 4: Less technical than RGB, and better suited to painters and artists, is the HSV system. The color pigments for the screen dots have been selected in such a way that when equal parts are added they result in a white that comes close to what the human eye perceives as a pure white. By beaming different intensities at the three dots it is possible not only to generate the eight basic colors (black, red, green, yellow, blue, magenta, cyan and white) that are the result of mixing the three primary colors, but a huge range of mixed colors (Figure 3, above). The number of colors possible is determined by the number of gradations in the intensity of the electron beam. Using four gradations per primary color results in 4 x 4 x 4 = 64 colors. The standard is 256 gradations per primary color, which gives 256 x 256 x 256 = 16,777,216 colors. These colors can be represented in a three-dimensional coordinate system (Figure 3). The coordinate axes are formed by the three primary colors. Black is at the origin. Mixed colors between red and green form the base plane. Moving upward, more and more blue gets mixed in, until white is reached at the front corner of the cube. All white shades lie on the line connecting the origin with this corner. Less technical, and therefore better suited for painters and artists, is the HSV model (Figure 4). H is the hue, S the saturation, V the color value. The six basic colors (red, yellow, green, cyan, blue, magenta) form a hexagon around the color white, together with the color black. The hue is the angle, starting with 0° for red, through 180° for cyan, to 270° for magenta. The saturation (S) is measured radially towards the outside. On the inside, along the black/white axis, its value is 0.0, outside; at the hexagon’s edges, it is 1.0. The greater the saturation, the more intense the hue. The value (V) is measured in the direction of the black/white axis. At the height of white it has the value 1.0; downwards it decreases until reaching the value 0.0 for black. The color value lets you darken the hue. 114 • CHAPTER 3 XPresso Colors / Gui These two pages give you access to the XPresso editor’s GUI settings. You can configure the XPresso editor freely, from the size of the ports to the colors that are used. CONFIGURATION • 115 Project Settings These settings apply to the active scene. To access these settings, choose Edit > Project Settings from the main menu or Edit > Project Settings from the Timeline’s menu. Frame Rate  You can also set a frame rate in the render settings. However, the frame rate in the render settings is not used to recalculate the animation data. If the two frame rates differ, frames may be dropped or duplicated in the animation, leading to a reduction in animation quality. Use this value to define the frame rate for the animation project. CINEMA 4D uses this value to calculate all animation data. Minimum This defines the starting frame for animation tracks in the Timeline. You can enter a negative or positive value. A negative value can be useful if you want particles to be generated so that the stream is already in a state you want to render by frame 0. This value is decreased automatically when you drag a sequence past its boundary in the Timeline. Maximum This defines the last frame for animation tracks in the Timeline. This value is increased automatically when you drag a sequence past its boundary in the Timeline. Level Of Detail  This value affects the setting of the same name in the Display menu of the views. This value influences the display of objects that support a reduction in detail such as metaballs and NURBS. However, any objects that have their own level of detail setting defined in a Display tag will continue to use their setting. If the value is set to 100%, the objects will be displayed in full detail. If the value is set to 50%, the objects will be displayed with only half of their usual detail (subdivision). You can also enter values greater than 100% to increase the number of subdivisions. Use Render LOD For Editor Rendering If you enable this option, the view will use the level of detail specified in the render settings (Options tab) for rendering. 4 Workflow WORKFLOW • 119 4 Workflow There are many features in CINEMA 4D that help you to work more quickly, i.e. improve your workflow. These include: - To move, zoom or rotate a camera, use the icons at the top right of the viewport (drag the desired icon). The fourth, right-most icon toggles the active view panel between single-view and all-views. - Define shortcuts for the commands you use the most. Also, create an icon palette and populate it with the commands. You’ll then be able to reach the commands more quickly. - Many commands can be performed with a quick drag-and-drop rather than a trek through the menus. For example, to assign a material, drag and drop it from the Material manager onto an object in the Object manager or viewport. - What if the Object manager is not the active tab when you drag-and-drop a material from the Material manager? Simply drag the material on to the Object manager’s tab. After a short delay, the Object manager will become the active tab and you can drop the material onto the object. - Many primitives have handles — e.g. to control the fillet radius. Drag these handles to change the values interactively in the viewport. - To move several keys or sequences in the Timeline, select them all and drag to move them all at the same time. Likewise, you can copy multiple keys by selecting them and Ctrl-dragging them. - You can create a spline by creating its points one by one. Alternatively, draw the spline using the Freehand tool and its points will be created automatically (Objects > Create Spline > Freehand). - There is no need to lock axes in order to move, scale or rotate an object along a specific axis. Instead, drag the small handle — an arrowhead, cube or sphere depending on whether the Move, Scale or Rotate tool is selected — that’s at the end of the desired object axis. You can also drag these handles to move, scale or rotate selected polygons, points or edges. - To select several points, edges or polygons, don’t click them one by one. Instead, select the Live Selection tool and ‘paint’ over the points or polygons to select them. You can hold down the 9 key to temporarily select the Live Selection tool. As soon as you release the 9 key, you’ll be returned to the previous tool. This is an ideal way to select different elements while you’re in the middle of using a particular tool, such as Knife or Extrude. - Wherever you are in the program, check if there’s a context menu by right-clicking (Windows ) or Command-clicking (Mac OS). - To choose which objects are displayed in the Timeline, drag and drop the objects from the Object manager into the Timeline. - Drag and drop functionality is extensive. For example, you can drag-and-drop to reference objects. If you’re not sure if a particular drag and drop feature is supported, try it. 120 • CHAPTER 4 Asynchronous access to parameters Almost all parameters for objects, tags, structure tools, materials and shaders can be accessed and edited interactively using the Attribute manager (see Chapter 21, ‘Attribute Manager’). The parameters of objects can be adjusted interactively with the mouse, i.e. with visual feedback in the viewport. Drag an arrowhead up or down to adjust its parameter. You’ll see the change take place in the viewport in realtime. Selection rays You can select objects in the viewport with the help of a selection ray. A ray is sent into the scene from the point where you click to register all objects that are under the mouse pointer. With the help of the selection ray you are able to choose which one of these objects you want to select. To select an object using the selection ray, do one of the following: - In the viewport, position the mouse pointer over the object you want to select. Double rightclick or Shift-right-click (Windows) or Shift-Command-click (Mac OS) to open a selection window containing all objects hit by the selection ray. Choose the object that you want to select. - In the viewport, position the mouse point over the object you want to select. Click multiple times to cycle through the objects hit by the selection ray.  To select multiple objects, hold down Shift while you select each object. To remove an object from the selection, Ctrl-click the object. WORKFLOW • 121  When you drag a material onto objects that overlap in the viewport, you can then choose which object receives the material. Ctrl-drag (Windows) or Command-drag (Mac OS) the material from the Material manager onto the object in the viewport. A selection window opens containing a list of the objects hit by the selection ray. Choose an object from this list to assign it to the material. Smartpointer Referencing takes place using a smartpointer. In version 7 or older of CINEMA 4D, if you changed the name of the object being referenced, the reference would be lost. For example, if you were using instances and changed the name of the original object, the instances would suddenly ‘lose’ the object that they referenced. The instanced objects would disappear from the viewport and you would need to reassign the original. CINEMA 4D now allows you to change object names without losing references. In addition, you can create references via drag and drop. For example, when using an instance, drag and drop the name of the original object from the Object manager into the instance’s Reference Object box (Attribute manager). You can quickly access the settings of the reference object by double-clicking its name or icon in the Reference Object box. Its settings will appear in the Attribute manager. Multiple selection You can select multiple objects. In the Object manager, Shift-click each object that you want to select. To remove an object from the selection, Ctrl-click the object. You can also select the points, edges or polygons of multiple selected objects. Multiple selection is especially useful when used with the Attribute manager. For example, suppose you want to set several objects all to the same height. Select the objects and in the Attribute manager change the Y value for position to the desired height. All the selected objects will then move to this new value. 122 • CHAPTER 4 Using the Attribute manager together with multiple selection, you are able to set the selected objects all to the same values. For example, you can: - Hide all selected objects. - Set all selected objects to the same position. - Move all selected objects by the same distance. - Rotate all selected objects about their individual axis systems. - Rotate all selected objects about a shared axis. WORKFLOW • 123 Working with Layouts CINEMA 4D windows, commands and palettes can be arranged in countless ways, as explained in the previous chapter. In this chapter, you’ll learn how to work with layouts and how to configure the Browser. We’ll begin with layouts. Changing the layout enables you to configure the layout to the way you like to work. For example, you can choose where toolbars should be placed and whether the Picture viewer should be open and tabbed. In addition, you’ll find that you can work more efficiently by using a different layout for particular tasks such as modeling, texturing and animating. To load and save layouts, use the commands on the Window > Layout submenu. Window > Layout Submenu Load Layout Loads a previously saved layout. Use the system dialog that opens to choose the layout file (layout files have a ‘.l4d’ extension). Reset Layout Resets the layout to the factory settings. This is especially useful if you’ve accidentally altered the layout and want to return to the default or if you need to contact technical support by phone (so that our technicians can advise you based on the standard layout).  Remember to save your customized layout if necessary before you reset it. Use the Save Layout As command. Save As Startup Layout Saves the current layout in a special file. The next time you launch CINEMA 4D, the layout will be loaded automatically as the new default.  If you want the layout to be saved automatically when you quit CINEMA 4D, open the preferences and on the Common page enable the Save Layout At Program End option. Save Layout As Saves the current layout. Layout files are given the extension ‘.l4d’ automatically. Other menu items The Window > Layout submenu also lists all the layout files (extension ‘.l4d’) in CINEMA 4D’s ‘prefs’ folder or in the ‘library/layout’ folder. To load a layout, choose its name from the list. 124 • CHAPTER 4 The Browser The Browser is a powerful tool for managing your 3D projects. With it you can create thumbnails for all your digital assets — be they textures, 3D models, movies, scene files etc. — and save them as catalog files. Using these catalog files, you can quickly locate and use your assets the next time you need them. For example, suppose that sometime last year you created a catalog file with thumbnails of 3D office furniture. Today you happen to need some furniture for an office scene. Load your office furniture catalog into the Browser and drag and drop the thumbnails for the furniture that you want to add into the Object manager to add them to your office scene. Or suppose you’ve created a catalog with thumbnails of all your previous scenes. For your latest project you need high-quality wood materials for print and you recall how well the wood materials worked in a previous project some months back. Load the catalog file of your previous scenes and drag any scene’s thumbnail into the Material manager to load the scene’s materials into the new project. There are many other uses for the Browser, which you’ll learn about in the following pages. Take advantage of the Browser’s powerful management system to control your digital assets efficiently. The Browser enables you to capture scenes, materials, textures, pictures, animations and sound. See the appendices for a list of all file formats supported by CINEMA 4D. Note that additional file formats may be supported if QuickTime is installed on your system. WORKFLOW • 125  The Browser will recognize a movie file only if the corresponding codec is installed on your system. Creating a catalog To create a catalog file: - In the Browser, choose File > Import Directory. Use the system dialog that opens to choose the folder that contains the files you want to put in the catalog. If you need a folder to practice with, use the ‘Tex’ folder within the CINEMA 4D folder. CINEMA 4D automatically generates thumbnails for the files.  If the file read by the Browser contains only a single material and nothing else, then the Browser will display only material pictures as in the Material manager. In all other cases, the raytracer renders a picture of the current view. - Once the Browser has finished cataloging the data you are free to add personal notes, comments, copyright notices and so on to the individual files. Click a thumbnail to select it (its sides will turn red) and choose Function > Info. Enter the text into the text field and click OK. After a short delay, the information you entered appears in CINEMA 4D’s status bar, at the bottom left of the default layout. - Choose Save Catalog As from the File menu. Again the system dialog appears. Enter a meaningful name, such as ‘Standard_textures’ and the file ’Standard_textures.cat’ will be created in the chosen folder. You’ll now be able to reload this catalog at a later date via the Open Catalog command. Drag-and-drop with the Browser You can drag almost anything from the browser and drop it into the appropriate manager. The cursor will change to stop sign or a plus sign (see above) to indicate whether the element can be dropped into the manager. Further browser functions - Double-clicking on a picture file (usually a texture) opens the Picture Viewer and displays the picture. - Double-clicking on an animation file calls up the animation player of your system and plays the animation. - Double-clicking on a sound file calls up the sound player of your system and plays the file. - Double-clicking a scene file loads it into CINEMA 4D. - Double-clicking on a material imports and adds it to the current scene and the Material manager. 126 • CHAPTER 4 - Right-clicking (Windows) or Command-clicking (Mac OS) on a preview picture will open a context menu from which you can access information about the selected thumbnail and this allows you to use the Search dialog. WORKFLOW • 127 File Menu New Catalog Creates a new, empty catalog. Any existing catalog in the Browser will be replaced with the new one. Open Catalog Loads a previously saved catalog into the Browser. Import File Loads and adds a file (scene, picture, material...) to the current catalog. A preview picture is generated. Import Directory Loads and adds the contents of a folder to the current catalog. Depending on the Browser’s preferences, sub-folders are either searched or ignored.  Keep in mind that thumbnails use RAM, just like other pictures. 1,000 images from a CD would require a minimum 16MB of memory. In such cases, several smaller catalogs may be more economical with your system’s resources. Save Catalog Saves the current catalog. The catalog is saved using the name given in the Save Catalog As dialog. If your catalog is still yet to be named, the Save command acts in the same way as Save Catalog As (see below). Save Catalog As, Make Catalog Relative Save Catalog As always opens the File selector. CINEMA 4D always adds the extension ‘.cat’ to the catalog’s filename. Making catalog paths relative Normally, when storing a preview image in a catalog, the exact location is also saved. This is essential when using the drag and drop technique to pass objects over to CINEMA 4D. However, should you move, for example, a texture folder from your own system to the company’s network server, the location of the files is no longer the same as that of the saved catalog. Therefore the Browser will not find the required files. A similar situation may arise when you compile a catalog for a CD-ROM collection (textures, objects, scenes etc.). These collections would normally be created locally on a computer, using the computer’s local path definitions and drive IDs (e.g. the drive could be D:\ , or even X:\ under Windows, or possibly 2184: or 1601 under Mac OS). This system would be unusable for catalogs, as the Browser would look for the various devices and paths of the computer, rather than the CDROM. 128 • CHAPTER 4 The solution to this is to use relative paths. This option ensures that paths are not stored as complete path names but instead as relative paths, starting from the catalog folder. Here, the location path of files is still used but you are free to define where the system is to begin its search. This anchor folder can be anywhere on a hard disk or CD-ROM. But, starting from that anchor folder and moving down, the same path hierarchy as that of the catalog folder must exist. Here’s an example of anchor directories. Suppose we want to list our winter background pictures and these are located on our system hard drive in the following location: Disk1/Texture/Backgrounds/Winter/... So we define Texture as the anchor folder. The relative location then reads: Backgrounds/Winter/... This folder hierarchy can be now moved to any other location, e.g. to the company’s server: Server7/C4D/Resources/Tex/Backgrounds/Winter/... The new anchor folder is now Tex. Starting from this location, the hierarchy sub-items now have the same path as before. To ensure that the Browser finds the required files, the Browser catalog must always be in the anchor folder. In the above example the catalog would have been created in Texture and later copied to Tex. Now for a more practical example: Suppose we need to collect together and write all of our textures, materials, objects and finished pictures, and all other useful items, to a CD. First, a relevant catalog for the files is created. It is to contain all textures, objects and materials. In addition, the catalog will be located in the root folder of the CD so that we can view and archive it directly. We now create the entire archive on our computer. Only rarely should we require more than the 650MB limit of a CD-ROM for this work area. A possible CD structure for our hard drive might look like the following illustration: WORKFLOW • 129 This is how the structure could look. We have created and filled the folders with the relevant contents. As we are just concerned with browsing from here, only the three folders Mat, Obj, and Tex are of interest to us. Or have we forgotten an important folder? Of course ... we need to know where the anchor folder is located. Let’s look more closely. The CD will be called C4D Tools. Thus the folder of the same name within the mastering partition forms the anchor. This is also where the catalog is to be located, making it easily accessible. So, proceed as follows: - Start CINEMA 4D. - In the Browser, choose Edit > Preferences. - Enable the Recurse Folders option (see above) as well as Pictures, Movies and Scenes. Depending on personal preference, from the drop-down menu to the right of Scenes choose Wireframe, Default or Raytracer. - Choose File > New Catalog. - Choose File > Import Directory. Use the dialog that opens to select, for example, the Mat folder. The catalog and the preview pictures are created. Use the Import Directory command twice more for the Obj and Tex folders. - Now Select File > Save Catalog As. - In the system dialog define ‘Disk3:Mastering:C4D Tools’ as the location and, say, ‘C4D Tools.cat’ as the name. This is the most crucial (and also most difficult) step. Now (and only now) does the Browser know where to create the relative paths. - Choose File > Make Catalog Relative so that the Browser converts all information into relative paths. 130 • CHAPTER 4 - Save the catalog with File > Save Catalog. - You are now ready to master the CD. To summarize: If Make Catalog Relative is enabled, then complete paths are no longer saved; instead, only the relative paths are used, starting from the catalog folder. From this location the current catalog folder and its sub-folders are scanned.  This method only works if you have named the catalog and assigned the path with the Save Catalog As command (see above) prior to searching the catalog. Close This command closes the Browser. The current catalog is removed from memory. WORKFLOW • 131 Edit Menu Delete Removes all selected pictures from the catalog. The originals on the system disk remain unaffected. Select All Selects all preview pictures in the current catalog. Deselect All Deselects all preview pictures in the current catalog. Preferences  These options only apply to new thumbnails that you add to the catalog; they do not act as a display filter for existing catalogs. Choose this command to open the browser’s preferences. Thumbnail Size This enables you to adjust the size in pixels of the thumbnails in the Browser. The changes are immediate, although actual recalculation does not occur until later. The thumbnails are simply scaled up or down. If you need to physically change the sizes, use Render All from the Function menu (see below). Recurse Folders If this option is enabled, sub-folders are also scanned for scene elements and displayed in the Browser. 132 • CHAPTER 4 QuickTime Recognition If this option is enabled, QuickTime is used to load the files when you create a catalog. This can be useful since QuickTime enables CINEMA 4D to load files it wouldn’t be able to recognize otherwise. However, you might want to disable this option to speed up catalog file creation — with the option disabled, catalogs are created up to 40 times faster. Pictures If this option is enabled, pictures are displayed in the Browser. Image formats not recognized by CINEMA 4D will be ignored. Movies If this option is enabled, animations are displayed in the Browser. Animation formats not recognized by CINEMA 4D will be ignored. Sounds If this option is enabled, the waveforms of the sound files are displayed in the Browser. Sound formats not recognized by CINEMA 4D will be ignored. Scenes If this option is enabled, scenes are displayed in the Browser. Scene formats not recognized by CINEMA 4D will be ignored. Use the drop-down list to the right of the option to set the shading mode for the thumbnails. Choose from Wireframe, Default (the mode that is saved in the scene’s file) and Raytracer. If Raytracer is selected, shadows and refraction are not rendered and only the floor and sky can be reflected. However, each scene is antialiased. WORKFLOW • 133 Function Menu Render All Recalculates all preview pictures that exist in the catalog. This is necessary, for example, if you change the picture size in the preferences or add or change files in the folders. You can cancel the new calculation at any time by pressing the Esc key. Info Opens a window for the selected thumbnail that displays information including the location, picture resolution and color depth.  You can also access this command via the context menu. To open the context menu, right-click (Windows) or Command-click (Mac OS). Using the information window of the Browser, you can easily monitor the relevant values (file size and actual memory requirement). On the right-hand side of the Information window is an area for entering your own comments such as copyright notes, latest changes and so on. These comments may run to many lines and up to 255 characters. A comment can be displayed from within the Browser itself. To do this, simply leave the mouse pointer over a preview picture for a couple of seconds and the comment will appear in CINEMA 4D’s status bar. As with command palettes, an information box will open under the mouse pointer if the Bubble Help option is enabled in the preferences (Interface page). To start a new text line, press the Enter or Return key. Once you’ve finished entering the text, click OK.  The contents of the comment box can also be searched (see below). The Browser effectively becomes a small picture database.  If the Browser finds a text file with the name ‘Readme.txt’ when scanning a folder, its contents will be automatically transferred to the information dialog of each thumbnail picture of the folder, space permitting. 134 • CHAPTER 4 Search For Scans the name and/or comment fields of the current database of the Browser for the text entered.  You can also access this command via the context menu. To open the context menu, right-click (Windows) or Command-click (Mac OS). The Browser enables you to scan for filenames and/or comments. Enable the relevant options and enter the text and/or value you wish to search for in the field to the right. All thumbnails that match the find will be outlined in the catalog. Sort By Use the sub-entries on this menu to define the sort sequence for the current catalog in the Browser. Alternatively you may sort according to filename or file size. Items are sorted in ascending order, i.e. the list starts with the smallest images and ends with the largest. WORKFLOW • 135 Initialization Files CINEMA 4D loads several initialization files during startup. The content of these files is integrated into the layout. template.c4d During startup, CINEMA 4D checks its Prefs folder for a file called ‘template.c4d’. If the file is present, its settings are loaded and used as default values. This can be very effective if you keep using the same scene-specific settings (e.g. several different render settings). new.c4d When you create a new file (main menu File > New), CINEMA 4D checks its root folder for a file called ‘new.c4d’. If the file is present, its settings are loaded and used as default values. For example, to disable antialiasing for all new files, create a new file, change the values in the Render Settings accordingly, then save the file into the same folder as the CINEMA 4D program under the filename ‘new’ (the ‘.c4d’ file extension is appended automatically). template.cat During startup, CINEMA 4D checks its root folder for a file called ‘Template.cat’. If the file is present, it is loaded into the Browser automatically. This can be useful, for example, when you are working on a large project and wish to have all the associated textures and/or scenes available immediately after startup. In this case, create a catalog that shows all the required files then save the catalog in CINEMA 4D’s root folder under the name ‘Template’ (CINEMA 4D appends ‘.CAT’ automatically). The Browser will contain the catalog the next time you launch CINEMA 4D.  If the template catalog is very large (lots of preview pictures), expect a short delay during startup. template.l4d During startup, CINEMA 4D checks its root folder for a file called ‘Template.l4d’. If the file is present, it is loaded and used as the active layout. You can create this file in one of two ways: - In the Preferences, on the Common page, enable the option Save Layout At Program End. The template layout will be created automatically when you quit CINEMA 4D — each time you quit, for as long as the option is enabled. - Create the template layout manually using the function Window > Layout > Save As Startup Layout (main menu). 136 • CHAPTER 4 Function graphs In these pages, you’ll learn how to use CINEMA 4D’s function graphs. A function graph defines how a value or parameter falls off over a certain distance. There are many places in CINEMA 4D where you can define a custom function graph. For example, you can define a function graph for the Bevel tool and Spline Deformer object. Click on the graph to create each point. The first two points are locked to the right and left edge of the graph respectively. Further points can be placed freely on the graph. To move a point, drag it to the new position. To delete a point, drag it out of the graph. To add a point to the selection, Shiftclick the point. Function graph settings Click the triangle next to the graph to access the function graph settings. X, Y These boxes display the X and Y values along the graph for the currently selected point. To change the position of the selected point, either drag the point or enter its new position into these boxes. Tension Controls the interpolation between the points on the graph. With Tension set to 100%, the curve will pass through all points. Lower the Tension value to soften the curve, like a B-Spline. WORKFLOW • 137 Default Points If you want to use a specific number of points for a standard function such as Square or Cubic, enter the desired number of points into the Default Points box. Then right-click (Windows) or Command-click (Mac OS) on the graph to open the context menu. From this menu, choose Reset to reset the graph to use the number of Default Points specified, then open the context menu again and choose the desired math function. Function graph context menu To access the function graph context menu, right-click (Window) or Command-click (Mac OS) on the graph. Reset Deletes the curve and replaces it with a new curve with the number of points specified by Default Points. Select All Selects all the points on the graph. Linear, Square ... See ‘Default Points’, above. User Allows you to enter a formula to create the graph, such as ‘4*x’. ‘x’ represents the variable. Maximum, Minimum These commands move the points to the maximum or minimum value. Flip, Mirror These command mirror the curve vertically (Flip) or horizontally (Mirror). Copying and pasting function graphs You can copy and past the curve from one function graph to another. To access the Cut and Paste commands, right-click (Windows) or Command-click (Mac OS) on the name of the function graph. 138 • CHAPTER 4 The HUD You can record keys directly in the HUD using the circles next to the parameter names. You can drag the Frame element (bottom right) to move forwards or backwards through the animation. The term ‘Head-Up Display’ (HUD) has its origins in aviation. In an aircraft, the HUD refers to the projection of readings onto a windscreen that enables the pilot to see them without looking down. The HUD does a similar job in CINEMA 4D, displaying parameters directly in the view, where you can also edit or animate them. The HUD can display two types of information: - Object parameters. You can add any object parameters displayed in the Attribute manager to the HUD. You can adjust these parameters directly in the HUD with realtime optical feedback (drag the value). You can also record keys directly in the HUD. - General information. You can instruct the HUD to display a variety of general information, such as how far away the active object is from the camera, the number of points that are selected and so on. You can switch the HUD on and off in the viewport settings on the Filter page. To open the viewport settings, on the view’s menu, choose Edit > Configure. HUD elements can also be included in rendered pictures and animations — in the render settings, on the Options page, enable Render HUD. WORKFLOW • 139 Using the HUD To add object parameters to the HUD: - In the Attribute manager, select the parameters. (To select all the parameters, choose Select All from the context menu). - Right-click (Windows) or Command-click (Mac OS) one of the selected parameters and choose Add To HUD from the context menu. You can adjust the parameters directly in the HUD. Click-drag a parameter to adjust its value. In the case of parameters that have drop-down menus, click the parameter to open its menu. Options that have two states (on and off) are colored yellow when on — click an option to toggle its state. You can also record animation keys directly in the HUD. This works in the same way as recording parameters in the Attribute manager (see Chapter 21, ‘Attribute manager’): To record a key, Ctrlclick the parameter’s circle. Ctrl-click again to remove the key. Ctrl-Shift-click the circle to delete the parameter’s track including any keys assigned to it. You can choose to display the same parameter multiple times in the view if you wish. You can use the following keys in the HUD: - Shift-click to multiple select HUD elements. Selected HUD elements are highlighted with yellow boxes. - Ctrl-double-click on a HUD element (name or value) to open a text box that allows you to enter a new name or value for the element. - Ctrl-drag to move a HUD element. General information The HUD tab in the viewport settings allows you to choose which types of information will be displayed in the HUD. To access the viewport settings, from the viewport’s menu, choose Edit > Configure. 140 • CHAPTER 4 Double-click the Frame Time parameter and enter a value to jump directly to another frame. You can change some of the general information parameters directly in the view. To do this, double-click the parameter and enter a new value into the text box that appears. HUD Settings Right-click (Windows) or Command-click (Mac OS) on a HUD element to access the following settings (the settings that appear may differ depending on which type of element you clicked on): Show These settings primarily control when an object’s HUD elements will be displayed: Object Active: when the object is active. Same Active: when any object of the same type is selected. For example, a light’s HUD elements will be displayed when you activate any light in the scene. This allows you to adjust the parameters of multiple objects — such as the brightness of multiple lights — using a single HUD element. Parent Active: if any object higher up in the same hierarchy chain is active. Chain Active: if any object in the hierarchy chain is active. Always: always. Lock To View: in the window from which this option was enabled. Render: in the rendered image (provided that Render HUD is enabled in the render settings, on the Options page). WORKFLOW • 141 Display Object Displays the object name in front of each parameter. Name Displays the parameter name. Widget Displays a triangle that you can click to open or close parameter groups. In the case of individual sliders, the triangle displays or hides the slider. Frame Displays a frame around the parameter group. Key Displays the circles that allow you to record animation keys for parameters. Slider These options control the look of the slider. Layout Here you’ll find numerous options that control the arrangement of multiple selected parameters within a parameter group. Group Remove Removes the parameter group from the HUD. Absolute Locks the HUD element to its current on-screen coordinates. If you then change the size of the view, the HUD element will stay in the place where you locked it. Follow Locks the HUD element relative to the object’s position. If you then move the object, the HUD element will move with it. Vertical Rotates the HUD element by 90° counterclockwise. 142 • CHAPTER 4 Refresh Choose this command if you notice a discrepancy between the display in the Attribute manager and the display in the HUD. Remove Removes the selected elements from the HUD. 5 File Menu FILE MENU • 145 5 File Menu To start CINEMA 4D, do one of the following: - Double-click on the program icon. - Double-click on a scene file. - Drag and drop one or more CINEMA 4D files in the Explorer (Windows) or the Finder (Mac OS) onto the CINEMA 4D icon. template.c4d During startup, CINEMA 4D checks its root folder for a file called ‘template.c4d’. If the file is present, its settings are loaded and used as default values. This can be very effective if you keep using the same scene-specific settings (e.g. several different render settings). new.c4d When you create a new file (main menu File > New), CINEMA 4D checks its root folder for a file called ‘new.c4d’. If the file is present, its settings are loaded and used as default values. For example, to activate antialiasing permanently, create a new file, change the values in the Render Settings accordingly, then save the file into the same folder as the CINEMA 4D program under the filename ‘new’ (the ‘.c4d’ file extension is appended automatically). New This command opens a new document and makes it the active (current) document. Until you save the new document and give it a name, the title bar of the document window will show ‘Untitled’. If you have several documents open, you can switch between them using the main Window menu. Open This command loads a file (a scene, a material, etc.) from a storage device (such as a hard disk) into memory and opens it in a new document window. If the current document window is empty, this is used instead. You can also use the Open command to import files (see the Import filters in the preferences). 146 • CHAPTER 5 Recognition of these formats is automatic. Filename extensions (Windows) are superfluous, as are types and creators (Macintosh). You can also use this command to view images or load other settings. Alternatively, you can open a file by dragging it in the Explorer (Windows) or the Finder (Mac OS) onto a viewport. Merge This command lets you add scenes, objects, materials, etc. to the active document. Revert To Saved This command reverts the scene to its most recently saved version. Because you will lose any changes made to the current document since it was last saved, a dialog first checks that you want to revert to the saved version. Close Closes the active document. If it contains any unsaved changes, a dialog opens to check if you want to save the scene before closing it. Close All Closes all open documents. If any documents contain unsaved changes, a dialog opens to check if you want to save the scene before closing it. FILE MENU • 147 Save This command saves your document without first opening the file selector. The scene is saved using the name chosen when you selected the Save As command (i.e. the name that appears in the title bar). If this is the first time you are saving a new document and it does not have a name yet, then the Save command behaves just like Save As. Save As Save As always opens the system file selector. The filename you enter here will be displayed in the document window’s title bar. CINEMA 4D automatically appends the appropriate extension (‘.c4d’ for scenes) to the filename. Save All This function saves all open documents. If a scene has not yet been saved (and therefore is untitled), the appropriate system file selector opens for you to choose a name and path. Save Project Transferring scenes from one computer to another is always particularly challenging for a project leader. Selecting this command opens the usual system file selector for saving files. Choose a folder and enter a name. CINEMA 4D creates a new folder in the specified path and saves the scene there. In addition, it creates a sub-folder, named Tex, into which it copies all the pictures and textures necessary for rendering the scene. You can now move the project to another system with confidence. 148 • CHAPTER 5 Export A scene can also be exported to a foreign file format for subsequent work in other 3D software. The file types described below are available. CINEMA 4D automatically adds the relevant file extension to the file. Each 3D program works differently, therefore it is not always possible to convert all information within a scene. Further, the result will always differ according to the materials and lighting used, so a manual re-working may be necessary.  For information on the settings of the following and other formats, see ‘Import / Export’ in Chapter 3. 3D Studio R4 (.3DS) Common data format under DOS/Windows. 3D Studio was the predecessor to 3D Studio MAX. The last freely available file format is release 4; the MAX data format is not available to other manufacturers. In principle the MAX format is not generally readable since MAX (like CINEMA 4D) uses parametric objects, which are useless without their associated specific algorithm. For example, a teapot is not saved with points and surfaces, but only with the dimensions and the subdivision rate. CINEMA 4D XML CINEMA 4D XML is a standardized language for file exchange. This export is mostly of interest to plugin developers; it allows a better integration of extensions into the file. For more information on this file format, visit www.xml.org. Direct3D / DirectX (X) Direct3D is a Microsoft-specific 3D format, which is used by Windows (provided DirectX is installed). This export module is particularly useful to game developers. DXF (DXF) One of the most common graphics file formats. Nearly all professional 3D packages support DXF. CINEMA 4D splines are generally written as polylines, independent of the surface settings for polygons. FBX (FBX) The FBX format is a 3D data exchange format developed by Kaydara (www.kaydara.com). FBX is supported by all major 3D animation applications, including Kaydara’s MOTIONBUILDER software. QuickDraw 3D (3DM) The standard format for three-dimensional graphics on the Apple Macintosh. Shockwave 3D (W3D) A format for transferring 3D content to Macromedia Director (Version 8.5 or later). FILE MENU • 149 STL (STL) Commonly used in the field of rapid prototyping, to create moulds. UZR (UZR) A format suitable for 3D streaming. VRML 1 (WRL) The Virtual Reality Modeling Language enables you to create platform-independent threedimensional representation of objects and scenes for the Internet. It has also proved useful as an exchange format for CAD programs, since it contains more file information than the often-used DXF format. VRML 2 (WRL) Version 2 of the standard format for three-dimensional graphics files on the Internet enables you to display animation sequences. The advantages for data exchange with CAD software mentioned above also apply to VRML 2. Wavefront (OBJ) A common 3D data format in the UNIX world, developed by Alias. Recent Files CINEMA 4D remembers which files you’ve opened recently and lists them on this submenu for quick access. Define the maximum number of files listed in Edit > Preferences (Document page). Quit This command quits CINEMA 4D. 6 Edit Menu EDIT MENU • 153 6 Edit Menu The Edit menu contains some of the most frequently used commands in CINEMA 4D such as Undo and Redo; hence, you’ll find these commands on most of the local Edit menus. Besides giving details of these commands, this chapter also explains the significance of the internal buffers and the drawing pipeline. Understanding how these features work will help you to avoid and/or solve various issues. The undo buffer  Some functions, such as Save, are not recorded in the undo buffer and subsequently cannot be undone. CINEMA 4D’s multiple undo enables you to undo up to as many changes as RAM permits. The maximum number of undos is defined by the Undo Depth on the Document page of the preferences — the default value is 10. CINEMA 4D differentiates between memory-intensive actions and non-memory-intensive actions. Examples of memory-intensive actions include deleting an object and moving an object’s points. Non-memory-intensive actions include selecting and renaming objects. Non-memory-intensive actions can be recalled 10 times more than the Undo Depth value in the preferences. For example, with Undo Depth set to 12, you can undo 12 delete object actions or 120 select object actions. You can also mix both types of action, e.g. you can undo 6 delete object actions and 60 select object actions. When you perform an action in CINEMA 4D, information about that action is written to an area of memory called the undo buffer. The Undo and Redo functions use the information in the undo buffer to undo changes. Example - You create an object and change its scale to (400/400/400) units. You move the object to coordinates (100/-300/0). - At this point, the undo buffer contain the following action history: 1. Create object at position (0/0/0). 2. Scale object to (400/400/400) units. 3. Move object to position (100/–300/0). - The buffer’s current state is step 3, the move action. If you use the Undo function, CINEMA 4D undoes the current state (move) then sets the current state to step 2 (scale). - If you use the Undo function again, the scale action is undone and the current state is set to step 1 (create). 154 • CHAPTER 6 - Throughout the process, the buffer content itself is not altered — nothing is deleted. This enables you to restore the changes with the Redo command. Use Undo to move backwards through the undo buffer (i.e. the changes) and Redo to advance through the buffer. - Although nothing is deleted from the buffer, the buffer’s size must be prevented from taking up too much memory. This is the purpose of Undo Depth in the preferences — it specifies the maximum number of actions that can be undone. Undo, Undo View  Undo View affects the editor camera only. It has no effect on your own camera objects. Undoes the last change, restoring the scene to its previous state. For example, if you accidentally move an object, choose Undo to restore the object to its correct position. Choose Undo repeatedly to undo the previous changes one by one. By default, you can undo a maximum of 10 changes. The maximum number of changes that can be undone is defined by Undo Depth in the preferences (Document page). Note that the Undo command from the menu of a viewport undoes changes to the editor camera. You can undo a maximum of 500 editor camera changes. Redo, Redo View  Redo View affects the editor camera only. It has no effect on your own camera objects. Redo redoes a change. Select Redo repeatedly to continue restoring the changes. You can traverse the recent development stages of your scene by using Undo to move backwards and Redo to move forwards. Naturally, the number of steps you can redo cannot be greater than the number of actions you have undone. Therefore, there is no separate setting for the redo depth in the preferences. In a viewport, Redo View redoes changes to the editor camera only. You can redo a maximum of 500 editor camera changes. Undo (Action) This function differs from the conventional Undo command in that it ignores selection actions. Undo (Action) undoes the last change that did not involve selection. EDIT MENU • 155 Why does the command ignore selection actions? Suppose you’ve scaled an object and used ten selection actions to select points in various locations. You then decide that the object is too large and want to restore it to its original size. This would require you to call the conventional Undo command 11 times, to undo the 10 selection actions and then finally the scale action. However, if you use Undo (Action), it skips over the selection actions and undoes the scale action immediately. Let’s explore a couple of examples; in these example, A stands for a normal action such as moving an object and S stands for a selection action such as selecting edges. Example You’ve been editing for a while. The undo buffer contains the following sequence: ASASAAASSSS i.e. the buffer starts with a normal action, followed by a selection action, followed by a normal action, and so on. There are four consecutive selection actions at the end of the buffer. The final, most-recent, selection action is right-most and represents the current state of the undo buffer. If we call the normal undo function, the resulting buffer is: ASASAAASSS Only the final selection has been removed — there are still three selection actions at the end of the buffer. However, if we use the Undo (Action) function instead of the normal undo we get: ASASAA The first normal action has been removed as well as all the selections that happened to be in front of it. The clipboard When you use the Cut or Copy commands, the selected objects or elements are copied into a structure in memory known as the clipboard. When you select the Paste command, the data in the clipboard is inserted into the current scene. For example, to copy an object from one scene to another scene, open both scenes, activate the scene that contains the object, copy the object, activate the other scene and then paste. The size of the clipboard is determined by the size of the data stored there. For example, if you copy an 18MB object, the clipboard will use 18MB of memory. You may want to purge the clipboard to free up memory, especially before you render. To purge the clipboard, cut a null object. The null object wastes only a few bytes. Cut Deletes the selected objects or elements from the current scene and copies them (including materials) to the clipboard. The objects can be copied back from the clipboard with the Paste command. 156 • CHAPTER 6 Copy  You can copy and paste objects using drag and drop in the Object manager — Ctrl-drag one of the selected object’s names to a new position in the Object manager. Copies the selected objects or elements (including materials) to the clipboard. The objects can be copied from the clipboard to the active scene with the Paste command. You can paste repeatedly to create additional copies. Paste Inserts the contents of the clipboard (i.e. the last objects cut or copied there) into the active scene. Delete Deletes the selected objects or elements from the current scene without copying them to the clipboard. EDIT MENU • 157 Selection Select All Selects all objects in the scene. Deselect All Deselects all objects or elements. If the Points tool is active when you invoke Deselect All, all the points of the selected object will be deselected. Similarly, if the Polygon tool or Edge tool is active, all polygons or edges of the selected object will be deselected. Select Children Adds the children of the selected object(s) to the selection. This is especially useful when you want to record keyframes for the selected objects and their children. The drawing pipeline  Should you encounter unexpected results in CINEMA 4D, check the drawing pipeline first. One of CINEMA 4D’s prime features is its realtime preview, e.g. realtime deformation editing in the viewports. To facilitate this feature, the various actions involved must take place in a predefined order. Suppose you’ve created a Cube object. You then assign an expression tag that distorts the cube in a particular way. Next, you assign a Bend deformation object to the cube. Which action should take place first? Should the cube be bent first, then distorted, or should the cube be distorted and then bent? Two entirely different outcomes are possible depending on which action takes place first. Suppose you’ve animated an object moving from point A to point B, yet at the same time you have given it an expression tag that tells it to move to point C. The object cannot be in both places at the same time, so who wins? The winner is whichever one is evaluated last of all – if the expression is evaluated first, the animation overwrites the expression and the object comes to rest at point B; if the animation is evaluated first, the expression overwrites it and the object ends up at point C. CINEMA 4D enables you to assign priority levels to expression tags to control exactly when the expression is evaluated. 158 • CHAPTER 6 The order in which actions are processed is what we refer to as the ‘pipeline’ — actions take place one after the other, as though they are flowing through a pipe. Since the whole process determines what is ultimately drawn on the screen, the entire concept is termed ‘the drawing pipeline’. Be aware of the drawing pipeline so that you can predict the outcome of applying several functions simultaneously. The Use Animations, Use Expressions, Use Generators and Use Deformers functions (see below) turn specific elements of the drawing pipeline on or off. If an element is turned off, its data will no longer be evaluated in the viewports. For example, if you turn off deformers, all objects will appear in their non-deformed state.  Suppose you’ve assigned a Look At Camera tag expression to an object. You’ll be unable to rotate the object freely in the viewport due to Use Expressions being enabled for the drawing pipeline. (The object will continue to point at the object with its Z-axis). Use Animation Animation refers to any data stored in the Timeline. Although tag expressions can animate an object, expressions are treated as a separate data type. Evaluation order Tracks are evaluated from bottom to top in the Timeline, beginning with parent objects. The child objects (sub-objects) are then evaluated according to the hierarchy; to display the hierarchy in the Object manager, open the entire structure for a complex object group by choosing Objects > Expand Object Group in the Object manager. What happens if you have allocated two different position tracks (e.g. one from A to B, the other from A to C) to the same object? The track that is top-most in the Timeline will be evaluated last of all and will overwrite the previous movement. If track A-to-B is above track A-to-C in the Timeline, the object will move from A to B. Use Expressions Expressions are evaluated from left to right as they appear in the Object manager. An expression is a behavioral property that can be added to an object as a tag. It gives instructions to the object. An expression could, for example, change the color used by a house material according to the state of a sun object. EDIT MENU • 159 Evaluation order Expressions are evaluated from left to right as they appear in the Object manager. First the parent object is evaluated, then the order continues along the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing Objects > Expand Object Group in the Object manager. The objects are evaluated from top to bottom in the order you see them. Use Generators Generators are objects that create temporary hierarchical structures. For example, a NURBS object generates a temporary polygon object. You can convert the temporary object to a real object if required using the Current State To Object command. Generators include NURBS objects, the particle system, the array, the symmetry object, polygon primitives, spline primitives, instances, metaballs and so on. Evaluation order Generators are evaluated starting with the child objects, then evaluation moves up the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing Objects > Expand Object Group in the Object manager. The objects are evaluated from top to bottom in the order you see them. Use Deformers Deformers are the functions listed in the Objects > Deformation menu and include Explosion, FFD and Bone. A deformer deforms the object(s) that it is applied to. The deformation is applied to a virtual copy of the source object so that the original geometry is preserved and can always be restored. The Polygon Reduction command also performs in this way and is therefore classed as a deformer. The main difference between expressions and deformers is that expressions are processed before the (virtual) copy is created, whereas deformers are processed after the copy is created. Evaluation order Deformers are evaluated starting with the child objects, then evaluation moves up the hierarchy tree; to display this tree, open the entire structure for a complex object group by choosing Objects > Expand Object Group in the Object manager. The objects are evaluated from top to bottom in the order you see them. 160 • CHAPTER 6 The following example clarifies why the evaluation order for deformers and generators begins with child objects. A Loft NURBS creates a temporary polygon object — it is a generator. Suppose the splines that describe the Loft NURBS are themselves deformed by several FFD objects (deformers). The hierarchy tree might look as in the illustration below. It’s only possible for the FFDs (sub-objects of the splines) to deform the splines before they are used by the NURBS object if the evaluation order is from the bottom of the hierarchy tree to the top. The display order We have addressed the order in which elements of the same data type are evaluated, but what is the evaluation order for elements of differing types? Again, the display pipeline works to a strict order: - First, all animation data is evaluated. - Next, the expressions are evaluated (provided that you’ve not changed their priority). - Finally, and with top priority, the generators and deformers are evaluated. The drawing pipeline is evaluated each time you perform a new action in CINEMA 4D. Although this appears to be an overhead, it makes it possible, for example, to apply a Target tag expression to an object then see it move automatically as you move the target object around in a viewport. You are able to work with objects live. EDIT MENU • 161 Settings Project Settings These are local settings that apply to the active project only. For details on these settings, look up ‘project settings’ in the index. Preferences The preferences enable you to change the appearance and behavior of CINEMA 4D. For details on these settings, look up ‘preferences’ in the index. 7 Objects Menu OBJECTS MENU • 165 7 Objects Menu On the Objects menu, you’ll find not only a rich variety of object types for building all kinds of shapes, but also objects that allow you to add sound, lighting and more to the scene. Image © Benedict Campbell. No matter what type of object you want to add to your scene — be it a HyperNURBS object for character modeling, lights to illuminate your city or invisible microphones to record the whoosh of space shuttles in Dolby Surround Sound — you’ll find the commands for adding all of these objects on the Objects menu. Objects are the elements that are displayed in the Object manager’s left column. Each type of object has a different set of properties. When you click on an object’s name in the Object manager, the object’s properties will be displayed in the Attribute manager, where you can edit the values. The object properties in the Object manager are usually divided into three main pages (although some objects have further pages): Basic Properties, Coordinates and Object Properties.  In the Attribute manager, you can animate any object parameter that has a circle next to its name. For details on how to record animation in the Attribute manager, see Chapter 21, ‘Attribute Manager’. If a single object is selected in the Object manager when you create a new object, you can affect where the new object will be placed in the Object manager by holding down one of the following keys at the same time: - Shift: Makes the new object a child of the selected object. - Ctrl: Places the new object on the same hierarchy level as the selected object. - Alt: Makes the new object a parent of the selected object. If more than one object or no objects at all are selected when you create the new object, the new object will be placed at the top of the Object manager. 166 • CHAPTER 7 Attribute manager settings Basic Properties All objects have the same Basic Properties apart from a few objects that don’t have the Enabled and X-Ray options (for these object types — such as the Null object — the options are irrelevant). Name Here you can enter a name for the object. Visible In Editor Controls whether the selected objects are visible or invisible in the viewport. Visible In Renderer Controls whether the selected objects are visible or invisible in the renderer. Use Color Determines whether the selected objects use their display color. Off switches off the display color so that material colors are used instead. Automatic means the display color is only used if the object has no materials. Always means the display color is always used, even if the object has materials. Display Color Defines the display color. Click the color box to access the system color chooser or click the small triangle to access CINEMA 4D’s color chooser. Choose the desired color. OBJECTS MENU • 167 Shaded Wire Mode, Shaded Wire Color You can define a custom wireframe color for the object that will be used when the object is inactive. Wireframe colors are visible in the following viewport display modes (set the desired mode from the view’s Display menu): - Gouraud Shading (Lines) Quick Shading (Lines) Constant Shading Hidden Line The Shaded Wire Mode controls when the Shaded Wire Color will be used: never (Off), only if the object has no materials (Automatic) or always (Always). Enabled Switches generators, deformers and primitives on or off. Disabled objects are not visible in the viewport. X-Ray If this option is enabled, the selected objects will be semi-transparent. All points and edges can then still be seen when using a shaded display mode, such as Gouraud shading. Coordinates All objects have coordinates, even objects where coordinates seem irrelevant, such as for the Background object. For most object types, though, coordinates play an important role. The Coordinates page gives you access to the object’s position, scale and rotation in relation to the world system or — if the object is in a hierarchy — in relation to the parent system. P stands for position, S for scale and R for rotation. See also Chapter 16, ‘Coordinate Manager’. Keep in mind that if you change the scale values, it is the object’s axis system that are scaled not the surfaces — this is the same as scaling with the Object tool. Object Properties These properties and other object-specific properties are described later in this chapter, in the entries for the various types of objects. OBJECTS MENU • PRIMITIVES • 169 Primitives All primitives on the Objects > Primitive menu are parametric, i.e. they are created from mathematical formulae using a number of preset values. A consequence of this is that such an object is initially simply a mathematical abstraction and is not editable. In plain language, this means that primitives have no points or surfaces that you can manipulate. For example, you cannot edit a primitive using the Magnet tool, because the Magnet needs points to pull on. To apply polygon tools such as Magnet, you must first convert the primitive to polygons using the Make Editable command. On the plus side, parametric means that you can change the parameter values of an object, such as height or radius, at any time. This allows you to experiment with the different parameters of an object in order to get a feeling for how it looks, behaves, etc. However you choose a new object primitive, first of all the relevant primitive is created in the scene and its settings appear in the Attribute manager. To display an existing object’s parameters in the Attribute manager, select the object by clicking its name in the Object manager or by clicking the object in the viewport. Often you’ll see settings for segments; use these to define the level of refinement of the particular surface or solid. This is useful if you are going to extend the object, perhaps to build further, more complex objects. Suppose you want to create a curved rod starting with a cylinder primitive. If the cylinder has only one segment along its length, it will be impossible to bend it into a rod shape because there are no points along its length that can be transformed into a bend. The more segments you assign to the object, the more smoothly it can be bent or otherwise deformed. In addition, most primitives use Phong shading automatically to smooth their appearance. This can occasionally lead to problems when using chamfered fillets, when smoothing is not desired between the fillet and the other object polygon. In such cases, override the default Phong shading setting by assigning a Phong tag to the primitive (Object manager: File > CINEMA 4D Tags > Phong). You can then switch off the Phong shading by enabling the Angle Limit option and setting the Phong Angle to 0º. Since this removes all smoothing, you’ll probably need to increase the object’s number of segments. Or you may find that a low Phong Angle with not quite so many segments works just as well plus more quickly. You may often need to juggle segmentation and smoothing to achieve a balance between quality and render speed. 170 • CHAPTER 7 In Figure 1, the cylinder’s Phong shading (i.e. smoothing) is on (left), off (center) and on but with the Angle reduced to stop the shading spilling over the edges (right). Figure 1. From left to right: Phong shading on but no angle limit, Phong shading off, Phong shading on with low angle limit. Figure 2. In Figure 2, the curved cylinder on the left has four segments, the one in the center has 16 segments and the one on the right has 72 segments. The increase in smoothness is clear to see. Aim to use the lowest number of segments that produce a smooth enough result. Using more segments than is necessary adds to the render time and RAM requirements. A parameter common to many primitives is Orientation; this lets you change how the object lies in the 3D space. Thus you can quickly move your object to lie in another direction. Notice that the actual geometry is affected by an orientation change, not the object axis system. Interactive handles represent another way of changing the object’s parameters; these are displayed as small orange points called handles. Drag a handle to change the property it represents interactively in the viewport; radii become larger, lengths smaller, etc. New objects are created either centered at the world origin or centered within the viewport; this behavior is changed in the preferences. OBJECTS MENU • PRIMITIVES • 171 Cone This command creates a cone, whose base lies in the XZ plane (but see below). The Cone object is more useful than it first appears. For example, you can quickly create a drop of water by adjusting a few parameters. Attribute manager settings Object Properties Top Radius, Bottom Radius These values define the cone’s top radius and bottom radius The top radius is set to 0 by default, i.e. the top of the cone ends in a single point (see illustration, left). If this value is set higher than zero, a truncated cone is formed (center). If the top radius is equal to the bottom radius, you get a cylinder (right). Height This value defines the overall height of the cone. Height Segments Defines the number of subdivisions of the object in the lengthwise direction. Rotation Segments Defines the number of subdivisions of the object along the circumference of its cross-section. The greater this value, the smoother the cone appears. 172 • CHAPTER 7 From left to right: cone with Rotation Segments set to a low value (left), medium value (center) and high value (right). Orientation Choose a value from this drop-down list to set the cone’s initial orientation in space. Using this you can turn the cone on its axis very simply and, above all, quickly. Caps Caps Enable this option to add caps to the cone’s top and base. Caps enabled (left) and disabled (right). Cap Segments Sets the number of subdivisions of the caps in a radial direction. The subdivision along the circumference of the caps is set from the value defined in Rotation Segments. Fillet Segments If you have chosen to fillet the top or bottom of the cone, use Fillet Segments to define the degree of filleting. The greater the value, the finer (or more rounded) the fillet becomes. To chamfer, set Fillet Segments to 1. Below is a truncated cone whose upper extent has been filleted. To the left is a chamfer, in the center a rough fillet and, on the right, a fine fillet. OBJECTS MENU • PRIMITIVES • 173 From left to right: Fillet Segments set to 1 (a chamfer), 3 and 10. Top, Bottom, Radius, Height Enable Top and/or Bottom according to where you want to apply the fillet or chamfer. Radius and Height define the shape of the rounding. If both values are the same, the rounding is circular; otherwise, the rounding is elliptical. The following illustration shows a few of the shapes you can quickly achieve with the cone primitive. Slice Slice Enable Slice to show a slice of the cone only. Enter the angles for this slice into the From and To boxes. Various From and To settings. 174 • CHAPTER 7 Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling Regular Grid and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. Interactive editing The cone initially has three handles. However, note that, at first, handle 1 (for the height) and handle 3 (for the upper radius) are in the same position. Drag handle 1 to change the height, handle 2 to change the lower radius or handle 3 to change the upper radius.  Handles 1 and 3 initially lie in the same position. Drag the handles to change the height or Shift-drag the handles to change the upper radius (and thus separate the two handles at the same time). The handles of the cone primitive. Additional handles of the cone primitive. If you enable the fillet options, two further handles appear for controlling the upper and the lower rounding. Drag handles 4 or 5 to change the width of the fillet or drag handles 6 or 7 to change the height of the fillet. OBJECTS MENU • PRIMITIVES • 175 Cube This command creates, by default, a cube whose sides are parallel to the coordinate axes of the world system. You can create many arbitrary cuboids by adjusting the various options. Rounded edges are optional. Attribute manager settings Object Properties Size X, Size Y, Size Z The values for Size X (width), Size Y (height) and Size Z (depth) define the size of the object. Segments X, Segments Y , Segments Z These values control the cube’s number of subdivisions in the X, Y and Z directions. Separate Surfaces If this option is enabled and you make the cube editable, a separate object will be created for each side of the cube. This can be useful if you want to edit each side separately. You can only select this option if Fillet is disabled. Fillet, Fillet Radius, Fillet Subdivision To fillet (i.e. round) the object’s edges, enable the Fillet option. Fillet Radius is the radius of the curvature, while Fillet Subdivision defines how fine the fillet appears. The more segments you specify, the smoother the fillet. To create a chamfer instead of a rounded fillet, set Fillet Segment to 1. 176 • CHAPTER 7 Different cube shapes. The radius of the fillet can be no larger than half of the value of the smallest of the cuboid’s dimensions. If your cuboid has, say, a width of 100 units and a height and depth of 300 units, the maximum fillet radius is 50 units. Interactive editing The cube has three handles. Drag handle 1 to change the width (X), handle 2 to change the height (Y) or handle 3 to change the depth (Z). To re-size the cube interactively in the viewport, drag its handles. Additional handles of the cube primitive appear when Fillet is enabled. If you enable the Fillet option, three further handles appear. Drag handles 4, 5 or 6 to change the fillet radius. OBJECTS MENU • PRIMITIVES • 177 Cylinder This command creates a cylinder, whose ends (caps) are aligned parallel to the XZ plane. Attribute manager settings Object Properties Radius, Height These values define the basic dimensions of the cylinder. Height Segments Changes the number of subdivisions of the object in the lengthwise direction (cylindrical part only). Rotation Segments Defines the number of subdivisions of the object along its circumference. The greater this value, the smoother the cylinder will appear. Cylinder with different Rotation Segments settings. Orientation Choose a value from this drop-down list to set the cylinder’s initial orientation in space. This gives you a quick way to turn the object on its axis. 178 • CHAPTER 7 Caps Caps Enable this option to add caps to the top and base of the cylinder. Otherwise, the cylinder is hollow. Caps enabled (left) and disabled (right). Cap Segments Defines the number of subdivisions of the caps in a radial direction. The subdivision along a cap’s circumference is defined by Rotation Segments. Fillet, Radius Assuming that the cylinder has caps you can use this option to apply a fillet or chamfer to the join between the cylinder body and the caps. Enter the radius of the fillet. Fillet Segments With Fillet selected you can choose the degree of the roundness with this option. The higher the value the smoother the join will appear; enter a value of 1 to achieve a chamfer. In the picture is a rounded cylinder. To the left is a chamfer, then a rough fillet and, on the right, a high-value, smooth fillet. The roundness can be set as high as the cylinder’s radius — the caps will then be hemispherical. From left to right: Fillet Segments set to 1 (a chamfer), 3 and 10. OBJECTS MENU • PRIMITIVES • 179 Slice Slice, From, To Enable Slice to show a slice of the cylinder. Enter the slice angles into the From and To boxes. Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling this option and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. Interactive editing The cylinder initially has two handles. Drag handle 1 to change the radius, or handle 2 to change the height. If you enable Fillet, handle 3 appears. Drag handle 3 to change the cap fillet’s radius. The default handles of the cylinder primitive. Additional handle of the cylinder primitive. 180 • CHAPTER 7 Disc This creates a flat circular plate in the XZ plane. Attribute manager settings Object Properties Inner Radius, Outer Radius The value for the outer radius defines the overall size of the disc. A value for the inner radius of greater than zero generates a perforated disc. The inner radius can be no larger than the outer radius. Disc Segments, Rotation Segments Disc Segments gives the radial subdivision, Rotation Segments the subdivision along the circumference. Discs with different subdivisions. Orientation Choose a value from this drop-down list to set the disc’s initial orientation in space. This gives you a quick way to turn the object on its axis. OBJECTS MENU • PRIMITIVES • 181 Slice Slice, From, To Enable Slice to show a slice of the disc only. Enter the angles for this slice into the From and To boxes. Different disc cutouts. Interactive editing The disc has two handles. Drag handle 1 to change the outer radius or handle 2 to change the inner radius. The handles of the disc primitive. 182 • CHAPTER 7 Plane This command creates a quadrangle in the XZ plane, which is divided into further quadrangle surfaces. Attribute manager settings Object Properties Width, Height Define the size of the plane. Width Segments, Height Segments You can set the level of subdivision separately for the width and height. This is especially useful when you intend to convert the plane to polygons and edit it further. The more segments you use, the more smoothly you’ll be able to apply tools such as the Magnet. Differently subdivided, deformed planes. Orientation Choose a value from this drop-down list to set the plane’s initial orientation in space. This gives you a quick way to turn the object on its axis. OBJECTS MENU • PRIMITIVES • 183 Interactive editing The plane has two handles. Drag handle 1 to change the width or handle 2 to change the height. The handles of the plane primitive. 184 • CHAPTER 7 Polygon This command creates a single polygon — a triangle or rectangle — in the XZ plane. Attribute manager settings Object Properties Width, Height Define the size of the polygon. Segments Enables you to change the degree of subdivision of the object. Triangle Enable this option to create a triangle polygon out of triangular shapes, rather than a square polygon out of square shapes. Orientation Choose a value from this drop-down list to set the polygon’s initial orientation in space. This gives you a quick way to turn the object on its axis. OBJECTS MENU • PRIMITIVES • 185 Interactive editing The polygon has two handles. Drag handle 1 to change the width or handle 2 to change the height. The handles of the polygon primitive. 186 • CHAPTER 7 Sphere This command creates a sphere composed of triangles and quadrangles. Attribute manager settings Object Properties Radius Use this to define the size of the sphere. Segments Defines the degree of the subdivision of the sphere. The sphere is divided along its latitude and longitude. However, like any other parametric object, until you convert a sphere into a polygon object with Make Editable, a sphere is always generated by calculation, no matter by how much you subdivide it. Original sphere (center), segments set to 6 (left) and original sphere made editable (right). Type With this drop-down list you choose of which surfaces, and in which arrangement, a sphere is to be composed. With Standard the sphere surface is made up of triangles and quadrangles, Hexahedron uses only quadrangles and Icosahedron only triangles. OBJECTS MENU • PRIMITIVES • 187 Render Perfect If you enable this option, a perfect sphere is generated by the math (if the sphere was not already distorted or deformed). This type of sphere has the advantage that it looks truly round and smooth. In addition, it renders faster than a polygon sphere.  The Perfect Sphere stays perfect only as long as the object is not distorted (e.g. by scaling about an axis). If the Perfect Sphere is distorted it is converted to a polygon object before rendering. It then uses the number of segments defined on the Object Properties page. Interactive editing The sphere has one handle. Drag handle 1 to change the radius. The handle of the sphere primitive. 188 • CHAPTER 7 Torus This command creates a torus (solid ring) in the XZ plane. Attribute manager settings Object Properties Ring Radius, Ring Segments With these values you define the size and the subdivision of the ring. The ring is a notional circle running round the center of the pipe. Pipe Radius, Pipe Segments Specify the size and the subdivision level of the pipe. The pipe radius can be no larger than the ring radius. Orientation Choose a value from this drop-down list to set the torus’s initial orientation in space. This gives you a quick way to turn the object on its axis. OBJECTS MENU • PRIMITIVES • 189 Slice Slice, From, To Enable Slice to show a slice of the torus only. Enter the angles for this slice into the From and To boxes. Different torus cutouts. Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling this option and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. 190 • CHAPTER 7 Interactive editing The torus has two handles. Drag handle 2 to change the ring’s radius or handle 1 to change the pipe’s radius. The handles of the torus primitive. OBJECTS MENU • PRIMITIVES • 191 Capsule This command creates a cylinder along the Y-axis with hemispherical caps. Adjust the various properties to create all kinds of pill-shaped objects. Attribute manager settings Object Properties Radius Defines the object’s radius and the cap’s radius. Height The overall height of the capsule including the caps. Height Segments The number of subdivisions of the capsule in its lengthwise direction (cylindrical part only). Cap Segments Defines the number of subdivisions of the cap in a radial direction. The subdivision along the cap’s circumference is given by Rotation Segments. Rotation Segments The number of subdivisions of the capsule around its circumference. The greater this value, the more rounded the cap appears. Capsules with different segment values. 192 • CHAPTER 7 Orientation Choose a value from this drop-down list to set the capsule’s initial orientation in space. This gives you a quick way to turn the object on its axis. Slice Slice, From, To Enable Slice to show a slice of the capsule only. Enter the slice angles into the From and To boxes. Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling this option and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. Interactive editing The capsule has two handles. Drag handle 1 to change the radius or handle 2 to change the height. The handles of the capsule primitive. OBJECTS MENU • PRIMITIVES • 193 Oil Tank This creates a cylinder along the Y-axis with curved caps. By adjusting the parameters many different objects can be made, such as rivets. Attribute manager settings Object Properties Radius Defines the object’s radius. Cap Height This controls the cap curvature. A value of 0 produces flat caps. You can set values up to the same value as the Radius. For hemispherical caps, set the Cap Height to the same value as Radius. In contrast to the cone and capsule, the transition from the cylinder barrel to the cap is always sharp, the exception being if you have set the Cap Height to the maximum value. Height The overall length (the body plus the caps) of the oil tank. Height Segments Defines the number of subdivisions of the object in the lengthwise direction (cylindrical part only). Cap Segments The subdivision level of the caps in a radial direction. Rotation Segments The number of subdivisions of the oil tank around its circumference. The greater this value, the more rounded the oil tank appears. 194 • CHAPTER 7 Oil tanks with different segment values. Orientation Choose a value from this drop-down list to set the oil tank’s initial orientation in space. This gives you a quick way to turn the object on its axis. Slice Slice, From, To Enable Slice to show a slice of the oil tank only. Enter the angles for this slice into the From and To boxes. Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling this option and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. OBJECTS MENU • PRIMITIVES • 195 Interactive editing The oil tank has three handles. Drag handle 1 to change the radius, handle 2 to change the height of the oil tank or handle 3 to change the height of the caps. The handles of the oil tank primitive. 196 • CHAPTER 7 Tube This command creates a hollow cylinder with walls of various thicknesses, whose ends are aligned parallel to the XZ plane. Attribute manager settings Object Properties Inner Radius, Outer Radius Adjust these values to change the size and the wall thickness of the tube. Rotation Segments The number of subdivisions of the tube around its circumference. A large value means a smoother tube with more faces. Tubes with different segment values. OBJECTS MENU • PRIMITIVES • 197 Cap Segments Defines the number of subdivisions of the cap in a radial direction. The subdivision along the cap’s circumference is given by Rotation Segments. Height The tube’s length. Height Segments The number of the tube’s subdivisions in the Y direction. Orientation Choose a value from this drop-down list to set the tube’s initial orientation in space. This gives you a quick way to turn the object on its axis. Fillet, Segments, Radius To fillet (i.e. round) the object’s edges, enable the Fillet option. Segments defines how fine the fillet appears, while Radius is the radius of the curvature. The more segments you specify, the smoother the fillet. To create a chamfer instead of a smooth fillet, set Segments to 1. Slice Slice, From, To Enable Slice to show a slice of the tube only. Enter the angles for this slice into the From and To boxes. Different tubing cutouts. 198 • CHAPTER 7 Regular Grid, Width The Regular Grid option is only available when Slice is enabled. By enabling this option and entering a value into the Width box you can control the subdivisions within the plane of section of the sliced object. Small values produce a fine subdivision while larger values result in a coarse structure. This subdividing only affects the face (the plane of section) of the slice. Use this option only if you intend to process the object further after slicing it. Interactive editing The tube has three handles. Drag handle 1 to change the outer radius, handle 2 to change the inner radius or handle 3 to change the height (i.e. the tube’s length). The handles of the tube primitive OBJECTS MENU • PRIMITIVES • 199 Pyramid This command creates a four-sided (5, if you count the base) pyramid. By default, the base of the pyramid is parallel to the XZ plane of the world coordinate system. Attribute manager settings Object Properties Size These values give the object’s dimensions in the X, Y and Z directions. Different pyramids. Segments The number of subdivisions applied to all surfaces. Orientation Choose a value from this drop-down list to set the pyramid’s initial orientation in space. This gives you a quick way to turn the object on its axis. 200 • CHAPTER 7 Interactive editing The pyramid has three handles. Drag handle 1 to change the width, handle 2 to change the height (Y) or handle 3 to change the depth (Z). The handles of the pyramid primitive. OBJECTS MENU • PRIMITIVES • 201 Platonic This command creates a Platonic primitive. Several predefined shapes are available. Attribute manager settings Object Properties Radius This value gives the size of the circumscribing sphere inside which the object is placed. All corner points of the object will touch the surface of this sphere. Platonic object placed into the circumscribing sphere. Segments The number of subdivisions applied to all surfaces. 202 • CHAPTER 7 Type Here you can choose from a list of predefined Platonic objects. Tetrahedron, Hexahedron, Octahedron, Dodecahedron, Icosahedron and C60-Buckyball. Interactive editing Platonic objects have one handle. Drag handle 1 to change the radius. The handle of the Platonic primitives. OBJECTS MENU • PRIMITIVES • 203 Figure This command creates a dummy figure. Naturally, the figure is not intended for use as final output (for that, take a look at the excellent figures on the Objects > Object Library menu). Rather, the figure can act as a stand-in to represent your characters before you have built them. The figure is also included to help you learn IK — choose Functions > Make Editable to convert the Figure primitive to a full hierarchy complete with anchors and Kinematics tags with angle restrictions. Try changing the various parameters and study the setup of the tags. Attribute manager settings Object Properties Height The overall height of the figure. All the body elements are scaled accordingly. Segments Defines the number of subdivisions of all the figure’s surfaces. Interactive editing The figure has one handle. Drag handle 1 to change the height (size). The handle for the figure primitive. 204 • CHAPTER 7 Landscape Use this command to create a landscape in the XZ plane — from craggy mountains to gentle slopes. Fractals are used to generate the landscape. Attribute manager settings Object Properties Size These values define the object’s dimensions in the X, Y and Z directions. Width Segments, Depth Segments These values define the number of width and depth subdivisions. The more segments you use, the finer the structure. Both segment values set to 10 (left), 50 (center) and 100 (right). OBJECTS MENU • PRIMITIVES • 205 Rough Furrows, Fine Furrows Change how craggy the landscape with these values. Low values result in gentle hills, high values produce rough mountains. In the following illustrations, the Rough Furrows value was increased from left to right. Different landscapes (from left to right: 0%, 50%, 100%). Scale This controls the height of the fissures in the landscape. Large values result in deep valleys, while smaller values give flatter landscapes. Different scaling (from left to the right: 0.1, 1, 1.5, 10). Sea Level This sets the height of the sea. The higher the value, the further the landscape slips into the sea. With 100% Sea Level, you have total flooding and nothing more than a simple plane. Different sea levels (from left to the right: 0%, 25%, 50%, 75%). Water levels with borders not at sea level (from left to the right: 0%, 25%, 50%, 75%). If you disable Borders At Sea Level, you will see a rather different result. The landscape is truncated at sea level and is then lifted again to its full height, i.e. the parts rising from the water become steeper. 206 • CHAPTER 7 Plateau Level The value works in the reverse way to Sea Level. Instead of being cut off from the bottom, the landscape is truncated from the top, creating flattened mountain tops. If the plateau level is set to 0%, a plane will result. If you switch off Borders At Sea Level then, after truncation, the landscape is lifted again to full height, i.e. the mountains become steeper. Plateau with borders at sea level (100%, 75%, 50%, 25%). Plateau with borders not at sea level (100%, 75%, 50%, 25%). Orientation Choose a value from this drop-down list to set the landscape’s initial orientation in space. This gives you a quick way to turn the object on its axis. Multifractal If you disable this option, CINEMA 4D will use a different algorithm for generating the landscape. In general, leave Multifractal enabled for natural landscapes. Landscapes with multifractal on (left) and off (right). Borders At Sea Level This affects how the landscape changes where it meets the sea. With this option enabled, CINEMA 4D attempts to soften, or flatten, the landscape-to-sea transition. This option is not available if you have enabled Spherical. OBJECTS MENU • PRIMITIVES • 207 Spherical Enable this option if you want to wrap the landscape to form a globe. The radius of this globe is defined by half of the width value (the first Size value). The height of the landscape above the surface of the globe is taken from the height value (the second Size parameter). Spherical disabled (left) and enabled (right). Interactive editing The landscape initially has three handles. Drag handle 1 to change the width (X), handle 2 to change the height (Y) or handle 3 to change the depth (Z). If Spherical is enabled, only two handles appear. Drag handle 4 to change the globe’s radius (half the width — the first Size value). Drag handle 5 to change the height of the mountains (height — the second Size value). The handles of the landscape primitive. Alternative handles of the landscape primitive. 208 • CHAPTER 7 Relief This command creates an object in the XZ plane that is similar to the landscape primitive. However, in this case an image is used instead of fractals to generate the height. The relief map interprets the different grayscales within the image as altitude values. If you choose a color image, the grayscale is formed from the average value of the red, green and blue components of the bitmap picture. The brighter the pixel, the higher the elevation; the darker the pixel, the deeper it lies within the scene. In other words, darkness defines valleys, brightness is for mountains. Patterns (left) for different reliefs (right). Attribute manager settings Object Properties Texture Click the button and use the file selector that opens to choose which image file should be used to create the relief. OBJECTS MENU • PRIMITIVES • 209 Size These values define the object’s dimensions in the X, Y and Z directions. Width Segments, Depth Segments The values define the number of width and depth subdivisions of the surface. The more segments you define, the finer the structure. Reliefs of different subdivisions (on the left 10, centre 50, on the right 100). Bottom Level This defines the height of the notional sea. The greater this value, the further the landscape slips into the sea. At 100%, the entire landscape is flooded and disappears — a simple plane results. Different bottom levels (0%, 25%, 50%, 75%). Top Level The value works in the reverse way to Bottom Level. Instead of being cut off from the bottom, the landscape is truncated from the top, creating flattened mountain tops. If the top level is set to 0%, a plane will result. Different top levels (100%, 75%, 50%, 25%). Orientation Choose a value from this drop-down list to set the relief map’s initial orientation in space. This gives you a quick way to turn the object on its axis. 210 • CHAPTER 7 Spherical Enable this option if you want to create a globe. The radius of this globe is defined by half of the width value (the first Size value). The height of the relief above the globe’s surface is taken from the height value (the second Size value). Figure 1: Spherical disabled (left) and enabled (right). Figure 2: The image used (top), the sphere relief from the front (left) and the rear (right). A general problem of this wrapping operation is that, depending on the image used, you may get discrepancies at the edge of the relief, especially when using a non-tileable texture. Figure 2, above, illustrates this problem. Choose your images carefully and be prepared to experiment. Interactive editing The relief initially has three handles. Drag handle 1 to change the width (X), handle 2 to change the height (Y) or handle 3 to change the depth (Z). If you enable Spherical, only two handles appear. Drag handle 4 to change the globe’s radius (half the width — the first Size value). Drag handle 5 to change the height of the elevation (height - the second Size value). The handles of the relief primitive. Alternative handles for the relief primitive. OBJECTS MENU • NURBS • 211 NURBS On the NURBS menu, you’ll find some of CINEMA 4D’s most powerful modeling objects, including Extrude NURBS (for 3D logos etc.) and HyperNURBS (for any type of model, especially smooth shapes, such as characters). NURBS objects are generators, meaning they use other objects to generate their surfaces. NURBS enable you to create surfaces quickly and easily using simple curves or objects. For example, to create a wine bottle you might draw half the bottle’s outline as a spline and make this spline a child of a Lathe NURBS. The spline will then be revolved through 360˚ to generate the bottle. In addition to helping you model quickly, NURBS are faster and easier to edit than comparable polygon models that have thousands of points. For example, suppose you want to change the shape of a wine bottle. In the viewport, drag the spline’s points to form the new outline. The bottle updates in realtime as you drag the points, and in just a few seconds you’ve made the changes. Although NURBS modeling is generally more powerful than polygon modeling, there are still occasions when polygons are useful. For example, you must work with polygons if you want to use polygon tools such as the Magnet. Therefore, before you can use one of these tools on a NURBS object, you must first convert the NURBS to polygons. To do this, select the NURBS object and choose Functions > Make Editable. Keep in mind that the conversion is one-way only — you cannot convert the polygons back to NURBS. NURBS objects and hierarchies The HyperNURBS object will affect only its first child object. The entire hierarchy of that child object is affected, unless a Stop Tag is added. The remaining NURBS objects will take only the splines in the top-most hierarchy into account. Further, the NURBS will only use as many splines as is necessary to generate the object. 212 • CHAPTER 7 HyperNURBS For character designing especially, but for general modeling also, HyperNURBS is one of the most powerful sculpting tools available to the 3D artist. With point weighting, edge weighting and the subdivision surfaces of HyperNURBS, you can craft any shape at all — from high performance sports cars to characters that you can pose and animate easily. HyperNURBS is the most powerful modeling tool in CINEMA 4D and is ideal for character animation. Image © Yoichi Mimura. HyperNURBS objects are also well-suited to animation. Complex objects can be created using a relatively low number of control points. To animate these objects — perhaps using PLA or Soft IK — you animate these control points. This is a far quicker and easier process than, for example, using PLA to animate a character that has over 100,000 polygons. The HyperNURBS object uses an algorithm to subdivide and round the object interactively — a process termed ‘subdivision surfaces’. This is an extremely quick and simple way to create organic forms or, with the help of edge and point weighting, firmer shapes also. There are various ways to go about building your HyperNURBS models. Techniques include starting from a simple object such as a cube or creating the points manually one by one (join them together with the Bridge tool or Create Polygon tool). If you start with a Cube object, convert the cube to polygons with the Make Editable command and use tools from the Structure menu to extrude, bevel, knife and so on to craft the surface. To firm up the model, use point, edge and polygon weighting. Although in principle you can use any type of object with HyperNURBS, most of the time you’ll work with polygons so that you can use the various polygon tools such as Knife and Bevel. OBJECTS MENU • NURBS • 213  Make the source object (termed the cage) a child of the HyperNURBS object. HyperNURBS object and cage object visible (left) and only cage object visible (right). Attribute manager settings Object Properties Use this page to specify the subdivision level for shading within the editor (i.e. the viewport) and for the renderer. The higher you set the resolution, the smoother the object becomes, but the more memory it uses and the slower it renders. Figure 1. From left to right: source object, Subdivisions set to 1, 2 and 5. 214 • CHAPTER 7 Figure 2: Use point and edge weighting to further refine your HyperNURBS models. In Figure 2, a cube (left) has been made a child of a HyperNURBS object to produce a sphere (center). Edge and point weighting has then been applied to produce a complex shape (right). Weighting enables you to refine HyperNURBS models without having to add new points and is especially useful for creating hard edges or points. Subdivide UVs  When Subdivide UVs is set to Boundary or Edge, the UV mesh will be altered and may cause parts of the texture to be hidden. The Subdivide UVs setting resolves the problem of texture seams along the edges of adjoining small and large polygons. The Standard mode corresponds to the normal functionality. The Boundary and Edge modes apply HyperNURBS algorithms to the UV mesh and subdivide it accordingly. Example 1 2 3 4 Suppose you’ve textured a low-poly cube (1) using the Checkerboard shader (2). After hours of creative work, you drag and drop the cube into a HyperNURBS object and notice that the texture is stretched out of shape (3). Here’s where the Boundary and Edge functions come into play (experiment to find out which function works best for you). For this example, the Edge mode was chosen (4), which preserves the original outer edges of the UV mesh. OBJECTS MENU • NURBS • 215 Weighting HyperNURBS models You can weight HyperNURBS models in one of two ways: interactively, or manually using the Live Selection tool. Interactive weighting Select the elements (i.e. points, edges or polygons) that you want to weight. Hold down the period key (‘.’) and drag left or right to set the weighting for the selected elements. The more weight you apply, the harder the surface will try to reach it. To set the minimum and maximum weighting that you can apply by dragging, select the Live Selection tool and, in the Attribute manager, enter the desired values into the Interactive Minimum and Maximum boxes. Three modes are available: Point, Edge and Polygon. Point mode Selected points. ‘.’ + drag. ‘.’ + Shift-drag. ‘.’ + Ctrl-drag. To weight selected points, hold down the period key (‘.’) and drag. To weight selected points and all edges connected to them, hold down the period key and Shift-drag. To weight selected points and the edges between them, hold down the period key and Ctrl-drag. Edge mode Selected edges. ‘.’ + drag. ‘.’ + Shift-drag. ‘.’ + Ctrl-drag. To weight selected edges, hold down the period key (‘.’) and drag. To weight selected edges and all points connected to them, hold down the period key and Shift-drag. To weight selected edges and their shared points, hold down the period key and Ctrl-drag. 216 • CHAPTER 7 Polygon mode Selected polygon. ‘.’ + drag. ‘.’ + Ctrl-drag. To weight all points and edges of the selected polygons, hold down the period key (‘.’) and drag. To weight only the edges of the selected polygons, hold down the period key and Ctrl-drag. Manual weighting Select the elements (i.e. points, edges or polygons) that you want to weight. Select the Live Selection tool. You can now edit the HyperNURBS weighting parameters in the Attribute manager on the HyperNURBS Weights tab. Select the Live Selection tool and edit the weighting parameters in the Attribute manager. To assign a specific weight to the selected elements such as 60%, set Mode to Set, set Strength to the desired value and click the Set button. To add or subtract weight, set Mode to Add or Sub, set Strength to the amount that you want to add or subtract and click Set. Modeling with HyperNURBS Keep the following in mind when modeling with HyperNURBS: Use rectangles in preference to triangles — triangles tend to disrupt the smooth flow of the HyperNURBS surface. However, don’t be afraid to use triangles if you must. Place the triangles in areas where there are lots of points close together, to confine the distortion to a small area. You can often avoid visible distortion by tucking the triangles away in the less critical areas. A polygon should have one neighbor only per edge, otherwise the surface will tear. Sometimes you can repair a torn surface with the Optimize command from the Functions menu. OBJECTS MENU • NURBS • 217 Here two polygons overlap each other on the left side of the object — as a result, the polygon on the right has more than one neighbor and the surface is torn. Only connected polygons are rounded. To see which polygons are connected, select a surface, then use Selection > Select Connected. If you want to connect overlapping polygons, use the Functions > Optimize command. The sides of the cube are not connected to one another (left). The cube on the right is one piece.  Two shortcuts are especially useful when modeling with HyperNURBS. (1) Q switches the HyperNURBS on and off, i.e. toggles between cage display and subdivision surfaces display. (2) Hold down the 9 key to temporarily switch on the Live Selection tool. Drag over points, edges or polygons (whichever mode is active) to select. Hold down Shift at the same time to add to the selection or Ctrl to remove from the selection. As soon as you release the 9 key, you’ll be returned to the previous tool — ideal for quickly changing the selection while in the middle of using a polygon tool such as Extrude Inner. 218 • CHAPTER 7 HyperNURBS and n-gons An n-gon smoothed by HyperNURBS R7 (left) and normal HyperNURBS (right). You’ll find two types of HyperNURBS on the Objects > NURBS submenu. These are: HyperNURBS - N-gons are subdivided after they have been triangulated internally. - Use Isoline Editing mode is supported (Tools > Use Isoline Editing). - Weighting is supported. HyperNURBS (R7) - N-gons are subdivided correctly (without internal triangulation). - Use Isoline Editing mode is not supported (Tools > Use Isoline Editing). - Weighting is not supported. OBJECTS MENU • NURBS • 219 Extrude NURBS The Extrude NURBS object extrudes a spline to create an object with depth. The extruded object appears as soon as you drop the spline into the Extrude NURBS in the Object manager. You can also use splines to cut out holes. If, for example, a single spline object has two segments (an outer circle and an inner circle), the inner circle will be interpreted as a hole. CINEMA 4D detects hole splines automatically.  All segments must be contained within a single spline object — additional splines will be ignored. To connect the splines, select them and choose Functions > Connect. Before extrusion (left) and after extrusion (right). Attribute manager settings Object Properties Movement Into these three input boxes, enter the extrusion distance along the X, Y and Z-axes (based on the local axis system of the NURBS object). Subdivision Defines the number of subdivisions along the extrusion axis. Iso Subdivision Defines the number of isoparms used to display the Extrude NURBS when the isoparm display mode is active. 220 • CHAPTER 7 Flip Normals Flips (i.e. reverses the direction of) the normals of the Extrude NURBS. Usually, CINEMA 4D will point the normals in the correct direction. However, with open contours it is not possible for CINEMA 4D to know which way they should point. In this case, you can control the direction of the normals, either by changing the direction of the spline or by enabling the Flip Normals option. This option does not effect the caps, since their normals are always calculated correctly. Hierarchical If this option is enabled, you can group, say, several splines within a Null object and place this group in an Extrude NURBS. Each spline of this group is now extruded separately. This is important especially for a text spline when you have enabled its Separate Letters option. In this case, a separate spline is created for each letter; these splines are in an object group. The Hierarchical option must be enabled to extrude these separate letters. Untriangulate This option removes polygon edges where possible by converting triangles to quadrangles. However, this only works if the spline does not intersect itself when projected onto its average plane. If the spline intersects itself — such as a figure of eight — a different algorithm will be used (the one from CINEMA 4D R8.5 and earlier) that does not take the option into account. Caps and Rounding Use these settings to add caps and/or rounding to the Extrude NURBS. The Caps and Rounding settings are described later in this chapter. OBJECTS MENU • NURBS • 221 Lathe NURBS The Lathe NURBS rotates a spline about the Y-axis of the local axis system of the NURBS object to generate a surface of revolution, e.g. you can create a wineglass from a simple profile. The lathed object appears as soon as you drop the spline into the Lathe NURBS in the Object manager. Usually the profile should lie on the XY plane (because it will be rotated about the Y-axis). A profile spline. The result — a wineglass. Attribute manager settings Object Properties Angle Here you define the angle through which the spline is to be rotated. 360° is one complete revolution. Subdivision Defines the number of subdivisions along the rotation. Isoparm Subdivision Defines the number of isoparms used to display the Lathe NURBS when the isoparm display mode is active. 222 • CHAPTER 7 Movement Movement is the longitudinal distance from the beginning of the lathe to the end. If you set Movement to 0, the spline rotates on a circle. With any other value, it moves around a helix, enabling you to create shapes such as threads and screws. If you want to create several threads, set the Angle parameter to a large value such as 1800° for five revolutions and increase the Movement value so that the threads do not overlap. Scaling Scaling determines the final scale of the spline. The spline is scaled with respect to the origin of the local axis system of the NURBS object. Flip Normals Flips (reverses the direction of) the normals of the Lathe NURBS. CINEMA 4D will usually point the normals in the correct direction. However, with open contours it is not possible to know which way they should point. In this case, you can control the direction of the normals, either by changing the direction of the spline or by enabling the Flip Normals option. This option does not effect the caps, since their normals are always calculated correctly. Caps and Rounding Use these settings to add caps and/or rounding to the Lathe NURBS. The Caps and Rounding settings are described later in this chapter. OBJECTS MENU • NURBS • 223 Loft NURBS The Loft NURBS stretches a skin over two or more splines (although see the tip below). The order of the splines in the Loft NURBS determines the sequence in which they are connected. The original splines.  The splines in the Loft NURBS. You can use a single spline with a Loft NURBS to create a surface. Attribute manager settings Object Properties Mesh Subdivision U This gives the number of subdivisions in the U direction, i.e. along the circumference of the crosssection.  If you are using open splines, the number of subdivisions generated matches the Mesh Subdivision value exactly. However, if you are using closed splines, the first subdivision coincides with the last division, generating one subdivision less than the Mesh Subdivision value. Two closed splines with an open spline between. Mesh Subdivision V Defines the number of subdivisions created in the V direction, i.e. along the length of the loft. 224 • CHAPTER 7 Isoparm Subdivision U Defines the number of isoparms used to display the Loft NURBS when the isoparm display mode is active. Organic Form If this option is disabled, the Loft NURBS lines pass directly though the spline points and the distances between the lines adapt to the spline points, resulting in a very tight form. If the option is enabled, the Loft NURBS lines no longer pass through the spline points exactly but maintain equal parametric distance to each other, creating a looser, more organic form. Organic Form enabled (left) and disabled (right). Loop If this option is enabled, the first spline is connected to the last spline in the V direction. Adapt UV Adapt UV is similar to Subdivision Per Segment, but refers to the texture instead. The texture must use UVW mapping for this option to have an effect. It is independent of the Subdivision Per Segment option. The texture is projected either per segment (enabled) or evenly over the entire object (disabled). Adapt UV enabled (left) and disabled (right). OBJECTS MENU • NURBS • 225 Subdivision Per Segment You can use this option to choose whether the mesh subdivision is divided evenly over the entire length of the object or evenly per segment (a segment is the section between one spline and the next). Enabling this option gives you more control over the object’s appearance when splines are close to one another. If the option is disabled, the number of resultant subdivisions per segment is calculated using the average distance of the segments. This may be unsuitable for animation, but it generates more regular objects. Subdivision Per Segment enabled (left) and disabled (right). Linear Interpolation Enable this option if you want linear interpolation between the splines; otherwise, the interpolation is soft. Flip Normals Flips (i.e. reverses the direction of) the normals of the Loft NURBS. Usually, CINEMA 4D will point the normals in the correct direction. However, with open contours it is not possible for CINEMA 4D to know which way they should point. In this case, you can control the direction of the normals, either by changing the direction of the spline or by enabling the Flip Normals option. This option does not effect the caps, since their normals are always calculated correctly. Caps and Rounding Use these settings to add caps and/or rounding to the Loft NURBS. The Caps and Rounding settings are described later in this chapter. 226 • CHAPTER 7 Sweep NURBS The Sweep NURBS requires two or three splines. The first spline, the contour spline, defines the cross section and is swept along the second spline, the path, to create the object. The optional third spline (rail spline) can be used to modify the scale of the contour spline over the object’s length.  The contour spline should lie on the local XY plane. You can use splines with multiple segments, e.g. you can sweep an entire word along the path. This logo was swept parallel along two path splines (the final scale is 30%). The contour spline is swept along the path in the direction of the contour’s Z-axis. If you are using a planar (two-dimensional) path spline, there are no further considerations. However, the behavior of the sweep is a little more complicated with a non-planar (three-dimensional) path. If you enable Banking, the following rules apply: The contour spline is rotated at the start of the path spline so that its X-axis is parallel to the average plane of the path spline. The contour is still placed with its Z-axis tangential to the path spline. All subsequent contours are placed in such a way that the angle change from start to finish is kept to a minimum. If necessary, the contour is also given a rotation so that the start and end contours meet with closed path splines. Banking enabled (left) and disabled (right). Banking allows you to use arbitrary 3D paths. However, it is not suitable for a precise sweep since the contours may break up, depending on the path. If the Banking option is disabled, the following applies: the contour spline is rotated for each subdivision so that on the one hand its Z-axis is always tangential to the path spline and on the other hand its X-axis is parallel to the XZ plane of the path spline. You can use this XZ plane to control the sweep, although you do lose the ability to model loops, since the contour flips over when the path runs vertically. OBJECTS MENU • NURBS • 227 Finally, there is another, much more powerful functionality — you can use a rail spline to control the direction and/or scale of the contour as it runs along the path. The path spline controls the positioning of the subdivisions. Adaptive spline interpolation is usually a good choice since it generates a relatively low number of surfaces. Uniform spline interpolation, on the other hand, is the better choice for animation since the subdivisions will be a uniform distance apart. A common mistake when using rail splines is to use a path spline with adaptive interpolation. This can generate insufficient subdivision for the rail to work properly — a higher resolution is required. You can solve the problem by setting the path’s Intermediate Points to Natural. Intermediate Points set to Adaptive (left) and Natural (right). Attribute manager settings Object Properties Isoparm Subdivision Defines the number of isoparms used to display the Sweep NURBS when the isoparm display mode is active. Scaling Determines the size of the contour at the end of the path. The contour is 100% at the start of the path and the size is interpolated in between. Rotation Defines the rotation about the Z-axis that the contour has passed through by the time it reaches the end of the path. 228 • CHAPTER 7 Growth Defines the size of the sweep. 100% means the contour spline is swept along the entire path. If the path is closed, you can set caps (but not rounding) when the growth is less than 100%.  You can animate the growth by recording the Growth parameter. For example, you can gradually write a word by using a circle spline (e.g. radius 4, XY plane) as the contour and a spline in the shape of the handwriting as the path. Finally, record two keyframes for Growth. Parallel Movement If this option is enabled, the contour is swept in a parallel manner (i.e. it is not rotated at all). Banking If Banking is enabled, the contour spline will lean into the curves of the path spline (CINEMA 4D will calculate the banking by considering the curvature of the path). The initial banking angle is set to the average plane of the path spline, which is calculated from the position of the path’s spline points. The banking angle must be chosen at random for straight lines since they cannot define a plane. In this case, turn off banking to make the contour will run parallel to the path spline’s XZ plane. Use Rail Direction Use Rail Direction enabled (left) and disabled (right). If this option is enabled, the rail spline will influence the rotation of the contour about its Z-axis. The Z-rotation applied to each contour position is equal to the angle between the contour’s local +X axis and the projection onto the contour’s local XY axis of the vector that connects the contour’s local origin to the matching point on the rail spline. This vector connects spline points on the path to corresponding spline points on the rail and applies linear interpolation to determine corresponding points on paths of the splines between points. The best way to create a rail spline is to make a copy of the path spline, then adjust the location of the rail spline points to get the desired effect. OBJECTS MENU • NURBS • 229 Use Rail Scale If this option is enabled, the rail spline can be used to alter the scale of the contour along the path. The scale factor applied to each contour position is equal to the distance of the vector connecting the contour’s local origin to the matching point on the rail spline. This vector connects spline points on the path to corresponding spline points on the rail and applies linear interpolation to determine corresponding points on paths of the splines between points. Constant Cross Section This option is enabled by default. It is ignored if a rail path is used. It causes the contour spline to be scaled at hard edges in order to maintain a constant thickness throughout the sweep. The following star-shaped path illustrates the effect. Constant Cross Section enabled (left) and disabled (right). Keep Segments This setting is only used if you have changed the value for Growth. Its effect is, by and large, only noticeable with animated growth. If the option is disabled, the animation growth is smooth. However, if you enable Keep Segments, the sweep grows segment by segment. The positions of the segments are determined by the path spline’s interpolation type (Type). An adaptive path spline will usually lead to a jerky growth animation if Keep Segments is enabled. 2-Rail  The 2-Rail feature takes effect only if both the Use Rail Direction and Use Rail Scale checkboxes are checked. 2-Rail enabled (left) and disabled (right). 230 • CHAPTER 7 If this option is enabled, the contour spline will be placed between the path and the rail; otherwise, the rail controls the contour’s rotation about its Z-axis (provided Use Rail Direction is enabled). Flip Normals Flips (i.e. reverses the direction of) the normals of the Sweep NURBS. Usually, CINEMA 4D will point the normals in the correct direction. However, with open contours it is not possible for CINEMA 4D to know which way they should point. In this case, you can control the direction of the normals, either by changing the direction of the spline or by enabling the Flip Normals option. This option does not effect the caps, since their normals are always calculated correctly. Caps and Rounding Use these settings to add caps and/or rounding to the Sweep NURBS. The Caps and Rounding settings are described later in this chapter. Troubleshooting tilted contour splines The most commonly encountered problem when using SweepNURBS is when the contour spline appears to tilt or flip over for no apparent reason as it runs along the spline. The cause of this is rooted in complex math. We won’t concern ourselves with the math here. Instead, take a look at the examples below for the solution. In blue: the contour spline and the path spline. In red: the rail spline. Figure 1 demonstrates the typical problem: the contour spline suddenly changes direction. In Figure 2, the Banking option has been enabled, only partially solving the problem by tilting the spline as it travels along the path. Figures 3 and 4 represent alternative solutions to the problem. In Figure 3, the X and Y measurements for the contour have been swapped around and Banking has been enabled. Figure 4 demonstrates how you can overcome the problem using a rail spline — there’s no need to enable Banking in this case. OBJECTS MENU • NURBS • 231 Bezier NURBS The Bezier NURBS differs from the other NURBS in the sense that it does not require any objects. Bezier NURBS stretches a surface over Bezier curves in the X and Y directions. The control points for these curves pull on the surface like small magnets (apart from the edge points, to which the surface is fixed). The Bezier NURBS is perfect for smooth, curvy surfaces such as car wings, nosecones and sails. Attribute manager settings Object Properties Subdivision X, Subdivision Y These settings define the number of subdivisions in the X and Y directions. Grid Points X, Grid Points Y Enter the number of control points in the X and Y directions. The more points you set, the more control you have over the surface. Closed X, Closed Y Use these settings to close the surface in the X and/or Y direction. This is useful for creating tubular objects, for example. Closed X enabled. 232 • CHAPTER 7 The part of the closed surface formed by choosing Closed X, Closed Y will generally not intersect with itself if all control points corresponding to the outer edges of the original surface have unobstructed lines of sight to each other, with no control points or surfaces in the way.  If you change the subdivision, the Bezier NURBS is reset to its starting state. Therefore, ensure you have enough subdivisions before you start. OBJECTS MENU • NURBS • 233 Caps And Rounding This section describes the Attribute manager’s Caps and Rounding page for the Extrude, Lathe, Loft and Sweep NURBS objects. Start, End Use the Caps and Rounding page to change the rounding at the start and end of the NURBS object. If you set Cap And Rounding for Start or End, you can set the following parameters: Start Steps Here you enter the number of subdivisions for the rounding at the start of the object. Start Radius Determines the radius of the rounding at the start of the object. End Steps The number of subdivisions for the rounding at the end of the object. End Radius The radius of the rounding at the end of the object. 234 • CHAPTER 7 Fillet Type Choose the shape of the rounding from this drop-down list. When the constrained mode is active, all fillet types except the Engraved type extend the length of the extrusion of the NURBS object. 1. 1 Step 2. 2 Steps 3. Engraved 4. Linear 5. Convex 6. Concave 7. Half Circle Phong Angle Defines the smoothing angle between adjacent polygons that are part of the fillet. Hull Inwards / Hole Inwards The examples below demonstrate rounding inwards and rounding outwards. Hole Inwards refers to hole segments — it is ignored if the spline has no hole segments. OBJECTS MENU • NURBS • 235 Constrain This setting determines whether the object’s dimensions are preserved or whether the object should be inflated by the rounding. The thick line represents the initial spline  Keep the following in mind when rounding with the Constrain option enabled. The pictures below demonstrate this issue. The top picture shows the initial contour. Rounding the contour with a small radius produces the desired result (center picture). The final picture shows what happens if the rounding is set too high. CINEMA 4D cannot detect inappropriate settings for you in this case. It is up to you to use a sensible rounding radius. Rounding objects by inflating them always works, although it does increase the size of the hull. Regular Grid, Width This option is especially useful if you intend to use deformation objects. If enabled the surface will not be built out of long triangles but out of regularly-spaced quadrangles whose size you can enter into the Width box. Initially there appears to be no difference at all between the enabled and disabled option when you render or shade. However, if you disable the option and deform the spline so that it is no longer planar, artefacts will appear on the surface. The long triangles are now visible. You can reduce the artefacts by enabling the option. Although triangles will still be created at the edge, the quadrangles become smaller the more subdivisions you use, leading to fewer triangles. 236 • CHAPTER 7 Different materials for the hull, caps and rounding You can apply different materials to the hull, caps and rounding. To do this, either convert the object into polygons with Functions > Make Editable (caps and rounding become separate objects) or use invisible selections (see below). For example, using the Extrude NURBS you can create marble letters with golden rounding. Restricting a material to an invisible selection — in this case, the rounding at the front of the text. Apply a material to the start cap by using the Selection box (Texture tag). For example, type in ‘C1’ to apply the material to the start cap (use a capital C). The options are: C1 = Start Cap (Cap 1) C2 = End Cap (Cap 2) R1 = Start Rounding (Rounding 1) R2 = End Rounding (Rounding 2) OBJECTS MENU • SPLINES • 237 Splines Spline Object This command creates an empty spline object. Like the Polygon object, it is recognizable on screen only by its origin and axes. You can use this object for the construction of your own splines. Curves Splines are primarily a sequence of vertices, connected by lines, lying in 3D space. The shape of these connecting lines (straight or curved) defines the interpolation. Apart from the direct connection of the vertices with straight, rigid lines, there are other kinds of splines that use an interpolation method where the lines between the vertices are curved instead of straight. These splines have a soft leading edge without sharp corners. The spline itself is infinitely thin. A spline is not visible when rendered. The spline’s line has no three-dimensional depth, even though it occupies the 3D space. However, many complex 3D objects, among other things, can be constructed in seconds out of these curves by using them with NURBS objects. After the spline is created it can be pulled along its depth in order to make tube-like objects. You can also rotate a spline around an axis to create objects that have rotational symmetry, such as wineglasses. Or you can construct a skin over several splines, with the finished object simulating the contours on a map. More of these spline-modeling capabilities are discussed in the NURBS section. To create a new spline curve: - Choose Objects > Spline Object to create an empty spline. - Select the Points tool (click the Points icon or choose Tools > Points) and select the Move tool (choose Tools > Move). - Create points for the spline by Ctrl-clicking in each place where you want to create a point. The first point defines the start of the spline. - If you Ctrl-click on the curve between two existing points, the new point will be placed on the spline between the points. - If you hold down the Shift and Ctrl keys while clicking, the new point will be created at the beginning of the spline, giving a new starting point. - If the Close Spline option is enabled and you Ctrl-click the starting point, the spline will be closed. - You can move points by dragging and dropping them. To select multiple points, Shift-click each point (or use a selection tool). 238 • CHAPTER 7 - The spline is always created in the view of the active viewport. Bezier splines, B-splines, Cubic splines and Akima splines will be created on the construction plane in the perspective view or on the world planes of the remaining views. With a Freehand spline drawn in the perspective view, the spline will be created on the plane that is perpendicular to the camera direction. In all other views, the Freehand spline will be created on the world planes. - For some operations, such as the aligning of objects along a spline (Arrange command) or the movement of objects along a given curve (Align To Spline tag), the direction of the spline (where it begins and ends) is important. For this reason, the spline is color-coded. - By default, from the first vertex, the starting point, and moving outwards, the curve is colored from yellow to orange to red (the end point). The colors of the start and end points can be changed within the preferences. The colors chosen are then changed, in a graduated fashion, between the two points. This colored display is visible only when the Points tool is active. Segments A spline is made from several partial curves, or segments. For example, if you create some text, you will see that only one object is created, even though you typed in several letters. The text object now consists of several outlines — one outline or more per letter. For example, the word ‘Test’ consists of four letters; that makes four separate segments. However, another, fifth, segment is also present — the inside of the ‘e’ is a further spline segment. If this type of element is later extruded to form a 3D object, CINEMA 4D will automatically punch out a hole that is the same size and shape of the internal segment of the ‘e’. A spline converted to a 3D object with holes automatically created. Holes are formed only if a spline lies completely inside another spline and both form closed curves. If two segments overlap in any way, no 3D object can be formed. If you nonetheless try, strange results are likely. OBJECTS MENU • SPLINES • 239 On the left is a correct arrangement of splines and on the right we see spline segments arranged in an incorrect order. A spline object can be composed of any number of segments. However, all segments of a spline must have the same settings, e.g. they should be either all open or all closed and all have the same kind of interpolation. So, what is the advantage of a spline with many segments and many separate spline objects? Well, as long as the element is present as a complete, individual object, then all of its points can be modified and edited at the same time. Let’s return to the text example above. Before you convert the spline to a 3D object, you can bend it e.g. with a deformer object. The tool affects all vertices of all segments equally. Therefore the spline is deformed evenly, as a whole. The spline was modified before extrusion. If we have nothing but individual, separate spline objects, then even simple deforming becomes very difficult, if not impossible. As you can see, splines are an extremely important part of CINEMA 4D.  Do not confuse the Polygon object with the Spline object. Although both are essentially just empty containers, the former consists of polygon vertices only while the latter is made up of spline vertices (and splines). To create a new spline segment - Create a spline as described above. - Add a new point that will be the start point of a new segment (initially, this new point will be connected to the last point of the previous segment). 240 • CHAPTER 7 - Choose Structure > Edit Spline > Break Segment. The connection to the previous segment is now broken. - Add further vertices. All new vertices now belong to the new segment. - You can create further segments. - If a spline consists of several segments, then new vertices are always created from the active vertex. If no vertices are active, then new vertices are generated at the last-created segment. If several vertices at different segments are active, new vertices are always generated at the firstcreated segment. Attribute manager settings Object Properties Type Linear This simplest of all the spline types connects the vertices, which define the polygon, with straight, directly connected lines. You can use these splines to create angular objects or to simulate sharp jerky movements for animation. Cubic This kind of spline has a soft curve between vertices. The interpolated curve passes directly through the vertices. Looking at the two points at the top right of the diagram, you can see that the curve bulges more than is probably required. This behavior is called overshooting, and it often appears with closed curvatures. This becomes clearer when you compare this section of the curve with the same section of the curve with Akima interpolation. OBJECTS MENU • SPLINES • 241 Akima This spline type creates a soft curve between vertices. The interpolated curve always passes directly through the vertices. Overshooting does not happen with this type of curve. Akima interpolation adheres very closely to the path of the curve directly between the vertices but, because of this, it can sometimes appear somewhat hard. If this is not required, you should use Cubic interpolation. B-Spline This kind of spline also creates a soft curve between the vertices. However, the curve does not pass directly through the vertices. This produces a very smooth curve. The vertices control only the approximate path of the curve. Distant points have less influence on the curve than those lying closer together. Bezier This spline type creates a soft curve path between the vertices, which can be controlled very precisely. The interpolated curve always passes through the vertices. Overshoot does not happen. Compared to the other spline types available, Bezier splines are the most functional, offering the most control. Therefore CINEMA 4D uses Bezier splines for its animation system. Working with a Bezier spline and its tangents If you activate a vertex of the spline (i.e. by clicking on it), additional control points at the tangents to the curve become visible. Changing the direction of the tangent handles controls the direction of the curve at each vertex. To do this, drag the tangent end point. By adjusting the length of these tangent handles, you can control the strength of the curvature. Drag the tangent end point towards the vertex point and observe the symmetrical movement of the opposite handle. 242 • CHAPTER 7 In the previous illustrations all tangents lie horizontally. Now let’s rotate the tangent of the upper point through 180° so that the left tangent end point lies on the right, the right on the left. You can see the result in this illustration. You can change the lengths of the tangents separately from each other. To do this, Shift-drag a tangent end point. You may set different tangent directions on the right and on the left of the vertex. With this approach you can make the otherwise smooth path of a curve produce sharp corners and peaks, if required. To do this, Shift-drag a tangent end point. OBJECTS MENU • SPLINES • 243 If the tangents of two neighboring points have zero length, the segment that runs between the vertices will be linear. Thus, you can mix linear segments with curved spline shapes. If you double-click on a Bezier vertex with the Move, Scale or Rotate tool active, a dialog opens that allows you to accurately enter both the position of the vertex (in the spline’s object coordinates) and the position of the tangent end points (relative to the vertex) numerically. If you convert a Bezier spline to a different type of spline, all tangent settings will be lost. If a spline is converted from a non-Bezier type to a Bezier type, all tangents will be assigned default positions and orientations. Close Spline Each spline segment can be closed or open. If a spline is closed, the start and end points are connected. There is a big difference between closing a spline (and interconnecting the start and end points) and simply positioning the start and end points together. In the first case, the transition from the start to the end point is soft, in the second case it is abrupt. To close the spline, Ctrl-click the start point. Close Spline enabled (left) and disabled (right). Intermediate Points, Number, Angle Here you can define how the spline is further subdivided with intermediate points. This affects the number of subdivisions created when using the spline with NURBS objects. Even after you select the Interpolation type from the menu for the Intermediate Points, you can still make changes. 244 • CHAPTER 7 None This method of interpolation locates points only at the vertices of a spline, using no additional intermediate points. You cannot enter values into the Number or Angle boxes. For B-splines, the vertices, and therefore points, might not be located on the spline curve. Natural This interpolation type first locates points at spline vertices. In the case of B-splines, points are located at positions on the spline curve closest to the spline vertices. Number (N) corresponds to the number of intermediate points between vertices. The points are positioned closer together on areas of the spline with more curvature. You cannot enter values into the Angle box. The interpolation is not affected by reversing the point order. Uniform This interpolation subdivides the spline so that the distance between any two consecutive points, as measured along the spline curvature, is constant. One point is always located at the beginning vertex. For open splines, a point is also located at the ending vertex. Other points generally do not coincide with vertices. You cannot enter values into the Angle box. The interpolation is not affected by reversing the point order. Adaptive This interpolation type sets intermediate points whenever the angle deviation of the curve is larger than the value given in Angle. The points of the resulting curve pass through the vertices. If a spline has several segments, then the value of Angle will apply to each segment. The Adaptive method gives the best results in rendering, hence it is the default interpolation method. You cannot enter values into the Number box. For Natural and Uniform interpolation, the number of intermediate points is calculated as follows: - Open spline: ((Number + 1) * (number of vertices - 1)) + 1 - Closed spline: (Number +1) * number of vertices So an open spline with four vertices and a Number of 2 will contain ((2+1)*(4-1))+1=10 intermediate points. If the spline is then closed, a further (virtual) vertex is added — the number of intermediate points will then be (2+1)*4=12. This ensures that a spline is not more roughly divided when you close it. OBJECTS MENU • SPLINES • 245 Create Spline (Curves) The Spline object allows you to quickly create new splines from scratch. However, for some shapes this approach can be clumsy and unnecessary. For this reason CINEMA 4D includes spline curves. These are interactive tools that remain active until you select another tool, such as Move. You can thus create any number of these splines without the need to select the command each time. When drawn in a 3D camera view (Perspective, Parallel, Military, Frog, Bird, Gentlemen, Isometric, and Dimetric), all spline curve tools other than the Freehand spline curve tool draw spline curves in the XZ plane. When drawn in a 2D camera view (Left, Right, Front, Back, Top, Bottom), all spline curve tools draw spline curves in the facing plane. Freehand You can use this command to draw curves directly in the viewports. Select the Freehand tool, then click in a viewport and keep the mouse button pressed. You can then draw the Freehand curve for as long as the mouse button is held down. Releasing the mouse button will end the Freehand spline creation and the finished spline will appear. (This is especially useful when tracing patterns with a graphics tablet.) To add further vertices, Ctrl-click in the viewport. Keep in mind, however, that the vertices will now be placed onto the XZ plane. If the start and end positions of the finished curve are positioned close together, the curve is automatically closed.  Freehand Splines are always created on the camera plane when you work in the perspective views (Perspective, Parallel, Military, Frog, Bird, Gentleman and Isometric), not on the construction plane, which is the case for the Bezier, B-Spline, Cubic, Akima and Linear splines. If you want to draw a spline onto one plane (XY, ZY, XZ etc.) you should switch to the corresponding view. Attribute manager settings Tolerance This value defines how accurately the spline curve follows the mouse movements. The higher the Tolerance value, the more rounded the spline will be and the fewer vertices will be generated. 246 • CHAPTER 7 Bezier, B-Spline, Linear, Cubic, Akima Using these commands, you can create the exact type of curve you require. Choose the desired spline type. Point editing mode is activated automatically. Click to create each point. Once you’ve added the desired points, either click the starting point to close the curve or press Esc to exit the mode. You can then edit the spline in the usual way (drag to move a point; Ctrl-click to create a new point, etc.). If you work in the 3D viewport, the spline is created in the XZ plane. Then it is not possible to set vertices above the horizon.  You can alternatively create the points in the same way as for the Spline object. After choosing the command, rather than clicking to create points, use Ctrl-click instead; to move a point, drag it; to close the spline, click the starting point. OBJECTS MENU • SPLINES • 247 Spline Primitives CINEMA 4D gives you a generous number of predefined curves. Add to this the possibility to convert vector based artwork files from other programs (see ‘Vectorizer’) and to add graphic characters (see ‘Text’) and you have a wealth of spline primitives at your fingertips. All of these spline primitives are parameterized. This means that the spline is merely the graphical representation of a mathematical formula built controlled by parameters you can edit the Attribute manager. As a result, this mathematical formula initially has no properties to edit within the 3D viewport. It has no vertices to manipulate. To adjust the vertices with the Points tool, for example, you must first make the spline editable (Functions > Make Editable). You can, however, apply deformer objects to the spline even if the spline has not been made editable. You may change all the preset parameters of such an object — such as height and radius — at any time. Test the object’s various parameters in the Attribute manager for a better understanding of what can be achieved. Start by changing the values one by one so that you can see what effect each parameter has. Enter large values, then try smaller ones. When creating a new spline primitive from the Objects menu, the spline appears in the viewports and its parameters are displayed in the Attribute manager. Attribute manager settings Common properties Some of the spline settings are present for each type of primitive. These common properties are described in this section. Properties that are specific to certain types of spline primitive are described later in this chapter, in the individual entries for the primitives. Plane Use this drop-down list to define in which of the three planes (XY, XZ, ZY) the spline primitive is to lie. By default the spline is always positioned so that it is visible in the current active view. This means that if the spline is created in the XZ (top) or XY (front) view, then the spline will be seen, for example, as facing towards the XY plane in the 3D viewport. In each of the following examples the spline primitive has been created in the frontal view (XY plane). 248 • CHAPTER 7 Reverse If this option is enabled, the order of the points is reversed. Reversing the points of the spline primitive not only has an effect after the conversion to an editable spline curve. The reversal of points also affects commands such as Arrange. On the left is a spline, on the right the same spline with a reversed point order (the second spline vertex point is marked). Intermediate Points, Number, Angle These interpolation settings define exactly how finely the vertices of a spline will be positioned. The various choices are described earlier in this chapter. OBJECTS MENU • SPLINES • 249 Arc This command creates arc elements. Attribute manager settings Object Properties Type With this option you choose the circle element to be used in your arc. Choose from Arc, Sector, Segment and Ring. Arc, Sector, Segment and Ring Radius Defines the circle radius from which the circular element is to be created. Inner Radius If you set Type to Ring, this defines the inner radius of the ring. 250 • CHAPTER 7 Start Angle, End Angle Using these two values you can define the start and end point of the arc element. 0° defines the value as the positive X-axis, 90° the positive Y-axis, 180° the negative X-axis, etc. These examples assume you are working in the XY plane, as mentioned earlier. Plane With this drop-down list you choose in which of the three planes the spline primitive is created. Reverse Enabling this option will reverse the point order of the spline. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 251 Circle This command creates circles, rings, ellipses and ellipse rings. It is also suitable for the creation of hoses or tubes using NURBS objects. Attribute manager settings Object Properties Radius By default the Circle command creates a circle with a radius of Radius. Ring, Inner Radius If the Ring option is enabled, either circular rings or ellipse rings are created. Here the internal radius of the ring is given by Inner Radius. For ellipse rings this value is the internal radius along the ellipse’s X axis. The inner length along the Y-axis is automatically calculated from the outer ellipse’s dimensions. Ellipse, Radius, Radius Y If the Ellipse option is enabled, both Radius and Radius Y affect the shape, where Radius Y defines the length of the ellipse along the Y-axis. 252 • CHAPTER 7 Circle, Ring, Ellipse, Ellipse Ring. Plane With this drop-down list you choose in which of the three planes the spline primitive is created. Reverse Enabling this option will reverse the point order of the spline. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 253 Helix This command creates a helix — a spiralled, spring-like spline. Attribute manager settings Object Properties Start Radius, End Radius Enter the two radius values for the start and the end of the helix. Start Angle, End Angle These values specify the start and end points of the helix. 0° here designates that the relevant point is on the positive X-axis, 90° the positive Y-axis, 180° the negative X-axis, etc. Helix with 4 revolutions (left) and 3.5 revolutions (right). 254 • CHAPTER 7 For example, if the start angle is 0° and the end angle 720°, the helix makes two complete revolutions. If the helix begins at 180°, there will be only 1.5 revolutions.  You can enter calculations into the boxes. In the above example you might use 4*360 instead of 1440. For the avid mathematician, the number of spiral threads is the results of the formula: (EndAngle – StartAngle) / 360°. Height This value defines the height of the helix in the Z direction. The pitch of the screw is the result of the formula: Height / ((EndAngle – StartAngle) / 360°). Radial Bias, Height Bias The bias values give the speed with which the end values of the helix are to be reached. The radial bias defines the speed of the horizontal growth, while the height bias determines the vertical growth. See the examples below. Three spirals with 10 spiral threads and an end radius of 0; radial bias set to 10% (left), 50% (center) and 90% (right). Three spirals with 10 spiral threads; height bias set to 10% (left), 50% (center) and 90% (right). Subdivision The creation of a helix is based on a formula. The smoothness of this formula is defined by Subdivision. Helix with five subdivisions (left) and 100 subdivisions (right). OBJECTS MENU • SPLINES • 255 Plane With this drop-down list you choose in which of the three planes the helix is created. Reverse Enabling this option will reverse the point order of the spline. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. 256 • CHAPTER 7 n-Side This command creates a regular, angular, closed spline. Among other things it is suitable for creating hoses and tubes when used with the Loft NURBS object. Attribute manager settings Object Properties Radius The n-Side object is created within a bounding circle. Radius defines the size of this initial shape. Sides This value defines the number of sides for the n-Side spline. Rounding, Radius Enabling Rounding to round all corners by the Radius value. OBJECTS MENU • SPLINES • 257 Plane With this drop-down list you choose in which of the three planes the spline primitive is created. Reverse Enabling this option will reverse the point order of the spline. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. 258 • CHAPTER 7 Rectangle This command creates a rectangle. Attribute manager settings Object Properties Width, Height These values define the size of the spline primitive. By default, the Width and Height are equal and produce a square. Rounding, Radius Enable Rounding to round all corners by the Radius value. Plane With this drop-down list you choose in which of the three planes the rectangle is created. Reverse Enable this option to reverse the rectangle’s points (but not the rectangle itself). Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 259 Star This command creates a star. Attribute manager settings Object Properties Inner Radius, Outer Radius The points of the star are based around two circles, the sizes of which are defined by the Inner Radius and the Outer Radius. A star, based around two circles. 260 • CHAPTER 7 Twist Use this to twist the points of the star around its own shape — ideal for saw blades. Enter a value from –100% to +100%. A value of 0% represents the basic, star-like position. From left to right: Twist set to –50%, 0% and 75%. Points This value defines the star’s number of points. Plane With this drop-down list you choose in which of the three planes (XY, XZ, ZY) the star is created. Reverse Enable this option to reverse the star’s points (but not the star itself). Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 261 Text You can add letters, characters and any other piece of text using this type of spline. Simply choose a font and type the text into the spline’s Text box. Attribute manager settings Object Properties Text Enter the text into the Text box. You can enter up to multiple lines of text — press Return to start a new line. The text appears in the viewport as a spline primitive when click outside the text box.  CINEMA 4D generates text objects as connected splines. Add depth to these objects using an Extrude NURBS. Create an Extrude NURBS object and in the Object manager, drag the name of the text spline onto the name of the Extrude NURBS. Symbols can be used.  When moving scenes that use Text objects from one computer to another, keep in mind that if the font used is not installed on the target computer, the spline outline will be lost as soon as changes are made to the object. To avoid such problems, make the spline editable (Functions > Make Editable). Font, Font button Use the drop-down list and button to choose between TrueType or PostScript Type 1 fonts. With TrueType fonts, a font selector window will open when you click the Font button, allowing you to choose a character set. 262 • CHAPTER 7 With PostScript fonts, a standard file selector window opens, from which you can locate and load any desired PostScript font. CINEMA 4D works with the PFB (PostScript Font Binary) format of Type 1 fonts.  Some fonts are poorly designed and will have noticeable overlapping edges. CINEMA 4D cannot improve these faults. Always use high quality fonts for best results.  Kerning information is not evaluated by CINEMA 4D. Therefore, to shift individual text letters accurately, proceed as follows: Convert the spline primitive with the Functions > Make Editable command. Select the Points tool, select a vertex of the desired character (by clicking it) and choose Selection > Select Connected. All points in this character object are now selected. Select the Move tool and drag to move the entire character.  You can get a good result with 3D fonts by using the Bevel command on a font object and restricting the angle limit to approx. 20°. Align Set the text’s alignment to left-aligned, centered or right-aligned. Height The height of the letters, in world coordinates. Horizontal Spacing, Vertical Spacing With these command you can insert space between the characters or between the text lines. Separate Letters Enable this option. Now choose Functions > Make Editable. A new object is created that has a separate spline child object for each letter of the text. The object axes of the separate letter splines are placed at the baseline of the chosen font. This option is especially useful when you want to arrange text (the separate letters) along a spline. Plane Choose in which of the three planes the text is created. Reverse Enable this option to reverse the text’s points (but not the text itself). Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 263 Vectorizer Vectorizer allows you to create spline outlines from 2D pictures. To turn the outline into a 3D object, make the Vectorizer object a child of an Extrude NURBS object. Attribute manager settings Object Properties Texture Click the three dots button to open a file selector. Use the file selector to choose the picture that will be converted to splines. Click the black arrow left of the filename box to open the picture’s preview. Keep in mind that only pure black (RGB 0/0/0) is interpreted as a solid background — all other colors will be bordered with a line. The larger the source image, the better the results will be. Converting an image (color image with black background and black image with white background). Effect of the image size on the result (512x512 and 1024x1024 pixels). 264 • CHAPTER 7 Width This parameter defines the size in the X direction. The height (Y direction) is calculated automatically using the picture’s aspect ratio and the Width value. Tolerance This defines the smoothing of the conversion. The higher the value, the smoother the contour appears. However, more and more detail will also be lost. The smaller the value, the more detail of the original picture will appear in the result. However, this can lead to staircase-like jaggies at the spline’s edges. Different tolerance values affect the accuracy of the spline. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. OBJECTS MENU • SPLINES • 265 4-Side This command creates various 4-sided primitives, such as trapeziums or parallelograms. Attribute manager settings Object Properties Type Choose a shape from Diamond, Kite, Parallelogram and Trapezium. Various 4-Sided objects (Diamond, Kite, Parallelogram and Trapezium). 266 • CHAPTER 7 a, b, Angle Depending on your choice of 4-Sided object, these values have different meanings as demonstrated in the illustrations below. The parameters a and b for the diamond. The parameters a and b for the kite. The parameters a, b and angle for the parallelogram. The parameters a, b and angle for the trapezium. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 267 Cissoid Creates various mathematical curves. Attribute manager settings Object Properties Type Choose a shape from Cissoid, Lemniscate and Strophoid. The Lemniscate results from a special calculation, using a technique known as Cassini curves. Cissoid, Lemniscate and Strophoid. Width This value defines the overall size of the curve. 268 • CHAPTER 7 Tension This will only affect the Cissoid and Strophoid types. With the Cissoid, the larger the value you enter, the more the two arcs are pulled together on both the left and the right of the axis of symmetry. Increasing the Tension value on the Strophoid object has a similar effect to when used on the Cissoid. The arcs are pulled up further as the value is increased. The loop also becomes narrower. Various Cissoid objects with tension values of 50, 6 and 2. Various Strophoids with tension values of 2, 6 and 10. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 269 Cogwheel This command creates a cogwheel. Attribute manager settings Object Properties Teeth Defines the number of teeth for the cogwheel. Inner Radius, Middle Radius, Outer Radius The overall size of the cogwheel is defined by Outer Radius, while Inner Radius defines the depth of the teeth. For avid mathematicians: Depth of teeth = (outer radius – inner radius). The third value, Middle Radius, gives the height at which any bevel will start to take effect (see Bevel below). The three radii of a cogwheel. 270 • CHAPTER 7 Bevel As already mentioned, in addition to an inner and outer radius that define their depth, the teeth have another value, Bevel, that can be used to create different degrees of sharpness. This is entered as a percentage from 0% (no bevel) to 100% (pointed teeth). The bevel starts to take effect from Middle Radius. From outer to inner: Bevel set to 0%, 50% and 100%. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 271 Cycloid This creates a sort of rolling curve. This curve is described by a point located on the circumference of a circle as the circle rolls along a straight line. (This point can also be located inside or outside the circle.) Cycloids, epicycloids and hypocycloids are particularly suited to rotating types of movement such as walking, gear mechanisms and planetary orbits. Attribute manager settings Object Properties Type With this option you choose the kind of rolling effect you want the curve to adopt. The basic cycloid is the rotating curve of a circle (radius R) along a straight line. The epicycloid is the rotating curve of a circle (radius r) that moves outside of a second (usually) larger circle (radius R). The hypocycloid is the rotating curve of a circle (radius r) that moves inside a second (usually) larger circle (radius R). Parameters of a basic cycloid object. Parameters of an epicycloid object. Parameters of a hypocycloid. 272 • CHAPTER 7 Radius, r, a With the basic cycloid (a = R), the observed point P (that the curve forms) is on the radius of the circle. With the shortened cycloid (a < R), it is inside the circle radius, and with the extended (prolate) cycloid (a > R) it is outside. R = 2, a = 2. R = 2, a = 1. R = 2, a = 4. With the basic Epicycloid, the observed point P (that forms the curve) is on the radius of the outer circle (a = r). With the shortened Epicycloid, it is on the inside of the outer circle (a < r), and with the extended Epicycloid it is outside (a > r). The examples below illustrate some of the curves that are possible. R = 4, r = 2, a = 2. R = 3, r = 1, a = 1. R = 4, r = 1, a = 1. R = 4, r = 3, a = 3. R = 8, r = 2, a = 1. R = 10, r = 2, a = 5. OBJECTS MENU • SPLINES • 273 R = 2, r = 3, a = 4. Special cases arise when the both circles are set to the same radius value (known as Pascal’s curve). If, in addition, point P is on the radius of the outer circle (a=r), the result is known as a Cardioid. (See the illustrations below.) R = 2, r = 2, a = 1. R = 2, r = 2, a = 3. R = 2, r = 2, a = 2 (cardioid). With the basic Hypocycloid, the observed point P (that forms the curve) is on the radius of the inner circle (a = r). With the shortened Hypocycloid, it is located inside the inner circle (a < r), and with the extended Hypocycloid it is outside (a > r). If the radius of the outer circle is exactly four times the size of the inner circle, the result is an Astroid. The examples below illustrate some of the curves that are possible. R = 6, r = 2, a = 2. R = 8, r = 1, a = 1. R = 8, r = 2, a = 2 (astroid). 274 • CHAPTER 7 R = 8, r = 2, a = 1. R = 12, r = 3, a = 6. Start Angle, End Angle These values define the start and end positions of the rolling circle. There is a small, but crucial, difference between the Cycloid, Hypocycloid and Epicycloid values. For Cycloid, you simply define the values for the start angle and the end angle of the rotating circle. With Epicycloid and Hypocycloid, you define the values for the start and end points on the fixed circle. Although the rotating circle still begins at 0°, these angles can be thought of as the range over which the rotating curve becomes visible. Angle range on the left is 0 – 360°, on the right it is 90 – 270°. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPLINES • 275 Formula This command creates a geometric curve based on a mathematical formula. You’ll find a list of all CINEMA 4D’s built-in commands, operators and constants in the appendix. Attribute manager settings Object Properties X(t), Y(t), Z(t) Enter a mathematical command, with dependant variable t, for each of these directions. Tmin, Tmax Specify the definition range here. Samples Using this value you can define how many vertices between Tmin and Tmax are to be created. The value you enter will specify how many times a spline will be divided (note: it will always calculate one vertex more than the value you input). 276 • CHAPTER 7 In the following illustration is a standard sine wave with a definition range of –1 to +1. Below it we see the same command but this time with a range of –2 to +2. In both cases, the number of steps was set to 10. The same curve using various ranges for t. As you increase the range of values that t can take, you may need to increase the Samples value in order to keep the curve smooth. Cubic Interpolation Enable this option to keep down the number of vertices. Cubic interpolation adds additional intermediate values between two vertices, effectively calculated according to the interpolation. Figure 1: The effect of cubic interpolation. No interpolation (top), interpolation enabled (below). Figure 2: The true and interpolated curves. Figure 2, above, illustrates the differences between interpolated and non-interpolated (true) examples of the curve. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. OBJECTS MENU • SPLINES • 277 Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. Examples A curve generated by the parametric equations X(t)=100*cos(pi*t), Y(t)=100*sin(pi*t), Z(t)=100*exp(0.25*t), t=0...15: The curve in the 3D view. The curve in the front (XY view). The curve in the top (XZ view). The curve in the right (ZY view). 278 • CHAPTER 7 Curve generated by X(t)=100*sin(t)/t, Y(t)=100*log(t), Z(t)=100*sin(t), t=0.5...15: The curve in the 3D view. The curve in the top (XZ view). Curve in the right (ZY view). The curve in the front (XY view). Various parametric equations: The splines in a Sweep NURBS with a rectangle as a contour spline and (right) additionally in an Atom Array . OBJECTS MENU • SPLINES • 279 Flower This command creates a flower-shaped object. Attribute manager settings Object Properties Inner Radius, Outer Radius The inner radius defines the size of the inner area from where the petals begin to grow. The petals extend from the inner to the outer radius. Petals This value gives the total number of petals. Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. 280 • CHAPTER 7 Profile Attribute manager settings Object Properties Type Here you choose the profile shape. Height, b, s, t The relevance of the individual parameters can be seen in the following illustrations. OBJECTS MENU • SPLINES • 281 Plane With this option you choose in which of the three planes the spline primitive is created. Reverse Enable this option to reverse the spline’s points. Intermediate Points, Number, Angle These interpolation settings define how the intermediate points of the spline are produced. For more information on these settings, look up ‘interpolation, spline’ in the index. OBJECTS MENU • SPECIAL MODELING TOOLS • 283 Special Modeling Tools Null Object The null object might well mutter to itself “I cannot do anything, I’m a nothing!” And it would be right ... almost. If you call this function, CINEMA 4D creates an empty axis system in the 3D space. The object contains neither points nor surfaces and cannot be edited in the normal way. So what’s the point of the null object? Well, the null object can have other objects placed within it. So it is useful for grouping elements of a scene together. Null objects are also created by an automatic grouping in the Object manager using the Group Objects command. A further possible application is as a handle in inverse kinematics chains, where a null object acts as the last part of an IK chain. The advantage? Normally if you move, say, the hand at the end of an arm of a figure by IK, the hand itself remains rigid. This is avoided by the use of such a dummy object at the end of the chain. Let’s not forget one of the most frequently used applications of the null object — its use as a dummy object for accurate rotation of previously rotated objects. As long as the axes of an object lie parallel to those of its parent system (with newly created objects the parent is the world coordinates system), an object rotates around its Y-axis (a heading rotation). However, if the object, or its local object coordinate system, is already rotated (so that its axes are not parallel to those of its parent), the result often astonishes even the most experienced 3D designers. Left: rotation with parallel axes systems, Right: with an already rotated object system (in each case, the final rotation is through 90°). 284 • CHAPTER 7 The use of a null object gives the desired result. The null must point in the same direction of the object and the object must be made a child of the null. Now the object can be rotated correctly, using the null as the coordinate system for rotation. Correct rotation behavior through the use of a null object. In addition, some tools that rely on a particular orientation of an object in 3D space (such as Rotate and Duplicate) profit from the use of a parental null object. Animations with particles represent a further problem that null objects can help with. Assume you move an object from A to B, record this as a position track for the object and place this in an emitter. What happens? The objects simply fly from the emitter, as if they had never heard of the phrase “position animation”. The solution is to use a null object. Put the animated object into the null object and then the null object into the emitter. The result is that, as you intended, all emitted particles follow the position track you defined. Attribute manager settings Object Properties These parameters enable you to change the shape that is displayed for the null in the viewport, including its width and height as well as the general shape. This is especially useful when you are rigging complex characters and need to be able to see the nulls clearly. Display Choose the shape that is used to represent the null in the viewport. Possible shapes include Point, Circle and Pyramid. Radius Defines the radius of the shape that represents the null. OBJECTS MENU • SPECIAL MODELING TOOLS • 285 Aspect Ratio Defines the shape’s height as a ratio of height:width. For example, to make the pyramid shape twice the height of its width, set Aspect Ratio to 2. Orientation Defines the orientation of the shape. Choose from Camera, XY, ZY and XZ. With the Camera setting, the shape will face the camera in all active viewports. This helps to keep the null highly visible and is especially useful when it comes to character animation using the MOCCA module, where nulls play an essential part in controlling the rotation of bones. 286 • CHAPTER 7 Polygon Object This creates an empty polygon object. Initially, all you’ll see in the view is its origin and axes. You can later fill this object with points and polygons using tools such as Add Point and Create Polygon. The polygon object can also be used as an alternative to the null object for grouping objects together. Polygon fundamentals A polygon is a triangle or a quadrangle. A triangle has the points A, B and C; a quadrangle has the points A, B, C and D. So-called perfect polygons, like the one in Figure 1, are not that common, since the points may lie anywhere in 3D space. This is not a problem if the points are planar — i.e. if they all lie on the same plane, as in Figure 2. If the quadrangle’s points are not on the same plane, the quadrangle is said to be non-planar. In Figure 3, point B has been moved into the depth plane. Now, CINEMA 4D must render this polygon as two triangles. This happens internally and usually has no negative effects. However, non-planar polygons can occasionally lead to unexpected effects and are generally best avoided. Figure 1: A “perfect” polygon. Figure 2: The quadrangle is no longer a rectangle. However, all the points are on the same plane — the quadrangle is still planar. Figure 3: Point B has been moved into the depth plane. Now, the polygon is non-planar. Figure 4: The angle at point B is greater than 180° — the polygon overlaps itself. Figure 5: All the points for this polygon are on a line. Figure 6: Polygons in CINEMA 4D have their own coordinate system. OBJECTS MENU • SPECIAL MODELING TOOLS • 287 For planar quadrangles, if the interior angle at points B or D is greater than 180°, problems can occur when rendering — this is because the polygon overlaps itself, as in Figure 4 above. Another problem arises if all of the polygon’s points are on the same line. In this case, a surface normal cannot exist and the polygon is called a degenerated polygon, illustrated in Figure 5. Polygon coordinate system Polygons in CINEMA 4D have their own coordinate system, as illustrated in Figure 6. You cannot see this system in the viewports, but it is important to be aware of it when using modeling tools such as Matrix Extrude. The origin of the polygon coordinate system is located at the centre of the polygons. The X-axis is along the line between A and B. The Z-axis is the normal. The Y-axis is perpendicular to the XZ plane. N-gons In versions of CINEMA 4D prior to R9, a polygon was limited to having three or four corner points. Now, a polygon may have any number of corner points. An n-gon (pronounced ‘en-gon’) is simply a polygon that has more than four corner points. An n-gon is a polygon that has more than four corner points. N-gons can help to simplify the polygon modeling process. Before n-gons were implemented in CINEMA 4D, almost every time you cut a polygon, new edges would be created automatically on the neighboring polygons. These extra edges could make the object difficult to work with and slow down your workflow, because a manual rebuilding would often be required in order to clean up the mesh. The following example demonstrates the advantage of using n-gons. 288 • CHAPTER 7 Example Suppose you want to bevel an area. First you cut around the area that you want to bevel (the inset picture marks the cut line). Above you can see the result of making the cut in an older version of CINEMA 4D (left) and in the current version of CINEMA 4D (right). With the older version of CINEMA 4D, notice how unwanted triangles have been created in the areas around the cut. These triangles will make it difficult, if not impossible, to select and bevel the desired area. A substantial rebuilding of the mesh would be required. Thanks to n-gons (right picture), it is now much easier to recognize, select and work with the actual cuts. N-gons change your workflow. Instead of having to clean up the mesh after each cut, you can now leave the clean-up stage until the end of the modeling process. But why do you still need to clean up the mesh if n-gons are so wonderful? N-gons are one of the most powerful features in the 3D modeler’s toolbox. However, a ‘perfect’ mesh should ideally be made up of triangles and quadrangles only, especially if the mesh is to be deformed or animated. Internally, n-gons will be triangulated automatically when you render, animate and so on. Because automatic triangulation is unlikely to produce the triangles in the best places, it’s up to you to ensure that the mesh is correctly structured. Only you can ensure that the points and polygons of, say, a character’s elbow are in exactly the right places to allow the arm to bend cleanly. Making parametric objects editable CINEMA 4D works mainly with parametric objects – objects that can be defined mathematically. Such objects include the primitives, spline primitives and NURBS objects. These objects have neither polygons nor points. Instead, the surface is defined mathematically and is only converted to polygons when rendered.  Splines do, of course, have points, but you can only access these once you have made the spline editable. OBJECTS MENU • SPECIAL MODELING TOOLS • 289 To make parametric objects editable, i.e. to convert them into polygons or points, choose Functions > Make Editable. An icon like this in the Object manager means the object is a polygon object. An icon like this in the Object Manager means the object is a spline. Click this icon to make an object editable. Quadrangles for modeling In general, quadrangles are best for modeling and triangles are best for animation. You are free to use triangles, but be particularly careful when using them with HyperNURBS — triangles can cause irregularities. Only quadrangles generate a totally clean HyperNURBS. Here, triangles are responsible for the poor quality of the mesh. 290 • CHAPTER 7 Array Object The Array object (Objects > Modeling submenu) creates copies of an object and arranges them in a spherical form or wave form. The wave (amplitude) can be animated. The original object must be a child of the array. The copies are placed around the array object’s origin. Attribute manager settings Object Properties Radius Defines the distance of the objects in the array (in the example above, the spheres) from the array object’s origin. Copies Defines the number of copies of the original object. Note that the original object remains visible, so the total number of objects in the array equals this value plus one. Amplitude The maximum movement in the Y direction. Frequency Use this setting to determine the rotational wave velocity. Array Frequency The Array Frequency defines the number of waves. OBJECTS MENU • SPECIAL MODELING TOOLS • 291 Atom Array Object You’ll find the Atom Array on the Objects > Modeling submenu. It creates an atom-like structure from each of its child objects. All object edges are replaced with cylinders and all points are replaced with spheres. To obtain this particular atom-like model, make a Platonic primitive (Type set to Bucky) a child of the Atom Array.  The Atom Array is especially useful for rendering polygon edges (i.e. the mesh). In the Object manager, select the Atom Array. In the Attribute manager, set Cylinder Radius and Sphere Radius to the same value. Attribute manager settings Object Properties Cylinder Radius Defines the radius of the cylinders that are placed between object points. Sphere Radius Defines the radius of the spheres that are placed at each object point. 292 • CHAPTER 7 Subdivisions Defines the number of subdivisions for the cylinders and spheres. You may need to increase this value to ensure smooth edges depending on how close the camera is to the atom array. Single Elements This option only matters when you make the Atom Array object editable (press the C key or choose Functions > Make Editable). If the option is enabled, each sphere and cylinder becomes a separate parametric object. If the option is disabled, a single editable object is created. OBJECTS MENU • SPECIAL MODELING TOOLS • 293 Boole You’ll find the Boole object on the Objects > Modeling submenu. It performs realtime Boolean operations on primitives or polygons. This means that you can see the result in the viewport as soon as you make the two objects children of the Boole object (try two spheres for testing). The default Boolean mode is A subtract B.  The Boole object also works with hierarchies. This means you can, for example, cut not only one but two or more holes in an object using A subtract B. Each further cut object must to be located in a hierarchy under the first cut object. If any cut object in the hierarchy overlaps with a cut object higher in the hierarchy, the Boolean operation will not work for the area of cut object overlap.  For a cleaner cut (i.e. if you can see defects), increase the number of subdivisions for the objects. Attribute manager settings Object Properties  Most of these settings are available in High Quality mode only. Boolean Type Four Boolean modes are available: A Union B, A Subtract B, A Intersect B and A Without B. A Union B: Object A is merged with object B. A Subtract B: Object B is subtracted from object A. A Intersect B: The volume of intersection is shown. A Without B: This is similar to A subtract B, but it is not a genuine Boolean operation. It cuts holes in object A without capping the holes. 294 • CHAPTER 7 High Quality The Boole object incorporates a high quality Boolean algorithm known as Better Boole. Enable the High Quality option to use the Better Boole algorithm, which generates a cleaner mesh with fewer polygons (triangles). Disable the option to use the standard Boolean mode. High Quality disabled (left) and enabled (right). There is, however, a disadvantage to the High Quality mode: when applied to complex objects, it may take longer to generate the result. Create Single Object If you convert the Boole object to polygons (Functions > Current State To Object), this option controls whether a single object is created or multiple objects (one for each object involved in the Boolean). If the option is enabled, the Boole object’s Phong tag will be evaluated if present. Hide New Edges This command can be used to hide any additional edges created by the Boolean algorithm (above and beyond the object’s cut edges). This serves a more cosmetic purpose than anything else. To make these edges visible, enter edge mode (Tools > Edges) and choose Selection > Unhide All. Create Phong Breaks At Intersections This option breaks Phong shading at the cut edges of the newly created object. Note that the breaks will only be visible if Create Single Object is also enabled. Select Intersections If you convert the Boole object to polygons (Functions > Current State To Object ) and this option is enabled, the object’s cut edges will be selected (edge mode!). OBJECTS MENU • SPECIAL MODELING TOOLS • 295 Optimize Points This parameter is only available if Create Single Object is enabled. If the Boole object is converted to polygons (Functions > Current State To Object ), points within a set distance of each other are merged to a single point. Enter the desired distance into the box. In the example, the Boole has been applied to the top-right and bottom-right objects. The following settings were used. Left: Create Single Object disabled. Center: Create Single Object enabled. Right: Create Single Object and Create Phong Breaks At Intersections enabled. 296 • CHAPTER 7 Instance Object To create an instance of an object, select the object in the Object manager that you want to instance and choose Objects > Modeling > Instance. The instance now appears in the Object manager. To change which object is referenced, first select the Instance object in the Object manager to display its settings in the Attribute manager. On the Attribute manager’s Object page, you’ll find a box called Reference Object. Drag and drop the name of the object that you want to be instanced from the Object manager into the Reference Object box. Attribute manager settings Object Properties In addition, three commands are available for the Instance object. To reach these commands, click the triangle next to the Reference Object box. Clear Removes the reference to the original object. Show In Manager Scrolls the Object manager if necessary to make the original object visible. Select Element Selects the original object. An instance object is a special duplicate of an object that does not have its own geometry. As a result, instances require far less memory than conventional duplicates, but the advantages do not end there. Imagine that you have created a street scene with over 40 street lamps (all instances of the same original object). By adjusting the brightness of the original lamp’s light, you can change the brightness of all lamps in one go. You may even edit the original with the modeling tools and the instances will follow suit. Material properties are adopted as well. Only the position, scale and rotation are independent of the original. An instance object will not significantly increase the size of the saved CINEMA 4D file. However, the CINEMA 4D editor will still need to allocate additional memory as if the instance object were a non-instance duplicate. The Scene Information dialog shows instance objects to consume as much memory as duplicates. OBJECTS MENU • SPECIAL MODELING TOOLS • 297 Metaball Object Think of the Metaball object (Objects > Modeling submenu) as an elastic skin that can be stretched over spheres, splines and points. The skin becomes active the moment you make such an object a child of the metaball object. If you move any of the child objects, the skin — called the hull — updates in realtime. You can use parametric spheres, splines (all types) or polygon objects with the Metaball object. In the case of polygon objects, each point is interpreted as a sphere. Splines have a special feature — you may use a second spline to control the hull’s thickness. This second spline must be a child of the first spline and also must be of the same type (you might want to copy the first spline).  You can use a particle emitter with a metaball object. The original circles. Attribute manager settings Object Properties The circles in the metaball object. 298 • CHAPTER 7 Hull Value Defines how tightly the hull is applied. Higher values mean that the hull is wrapped more tightly around the objects. Editor Subdivision Defines the number of subdivisions that are displayed in the viewport. The subdivision is specified in distance units. This means that you should lower the value to increase the number of subdivisions and mesh-smoothness. Increasing the value will reduce the number of subdivisions. It makes sense to use a high value here (e.g. 40), otherwise the redraw rate may slow down noticeably. Render Subdivision Defines the number of subdivisions that are rendered. The subdivision is specified in distance units. This means that you should lower the value to increase the number of subdivisions and meshsmoothness. Increasing the value will reduce the number of subdivisions. You should choose a low setting here (e.g. 5), so that the surface is rendered smoothly. Exponential Falloff By default, the force of attraction of metaball spheres to each other is similar to gravity, which has a 1/r^2 relation. You can change this with the Exponential Falloff which, if enabled, has the effect that metaball attraction occurs at shorter distances, and more abruptly. Metaball Tag You can assign a metaball tag to child objects of the metaball for further control. In the Object manager, select the child object that you want to fine-tune and choose File > CINEMA 4D Tags > Metaball. The tag is added to the object and the tag’s settings are displayed in the Attribute manager. Negative Influence Normally, objects attract the metaball hull and make it expand. However, if you activate this option, the object will repel the hull instead and cause it to shrink. Strength You can use Strength to define how strongly the object affects the hull relative to the other objects. Radius This value determines the radius used by the object to affect the hull. The Radius parameter has no effect on metaball spheres. OBJECTS MENU • SPECIAL MODELING TOOLS • 299 Symmetry Object  The Symmetry object works with geometry and splines only, not with lights, cameras and so on. The Symmetry object (Objects > Modeling) is especially useful when polygon modeling symmetrical (or nearly symmetrical) objects such as faces. Model just one half of the object and the other half is generated automatically. Once you’ve finished modeling one side you might want to make the Symmetry object editable to convert the generated half into polygons. You can then tweak either side separately to avoid the model looking unnaturally symmetrical. Try something simple: create a sphere, convert it to polygons with Functions > Make Editable and select the Points tool. Select the Rectangle Selection tool and, in the Front view, select the right half of the Sphere object’s points and delete them. Create a Symmetry object and, in the Object manager, make the sphere a child of the Symmetry object. The right half of the sphere is generated and the sphere is complete once more. Note that only the left-hand side has points. Now edit some of the points on the left-hand side, perhaps with the Magnet tool. Notice how the generated side is updated automatically. Attribute manager settings Object Properties Mirror Plane Determines which plane is used as the mirror. ZY is the default since it is used in the front view for objects with vertical symmetry, such as a face. Weld Points, Tolerance If the Weld Points option is enabled, points at the mirror’s edge are welded automatically — two points become one. This joins the object smoothly, avoiding a seam along the middle. Enter the maximum weld radius in the Tolerance box. Points that are within this distance to each other will be snapped together and welded. Symmetrical Enable this option if you want to ensure that the welded points (Weld Points enabled) are placed exactly on the mirror axis. Otherwise, each welded point is placed midway between the points from which it was formed — this may or may not be on the mirror axis depending on whether the points are the same distance from the mirror axis.  To mirror more multiple objects, group the objects together and make the group a child of the Symmetry object. 300 • CHAPTER 7 Construction Plane Object The world grid is the default construction plane. The disadvantage of the world grid is that it cannot be moved or rotated. When you create a construction plane, the world grid is switched off. The construction plane (Objects > Modeling submenu) is an aid to object placement. You can place objects, splines and points onto the construction plane. For example, you can move and rotate the construction plane so that you can place tiles straight onto a slanted roof. So that objects, points, surfaces etc. come to rest on the construction plane, activate the corresponding options in the tool’s Snap Settings. For example, if you activate spline snapping and draw the spline in the 3D viewport, it will be drawn straight onto the construction plane. Note that the mouse pointer must remain below the horizon line in the process. Attribute manager settings Object Properties Type The construction plane can be on the local XY, ZY or XZ plane. Grid Spacing Defines the distance between grid lines. Lines You can use this to set the number of grid lines in both directions. 100 is the default setting. Enter a higher number if you need to increase the size of the construction plane. Major Lines Every nth Major lines are darker than normal lines. Use this setting to determine the frequency of major lines. OBJECTS MENU • CAMERAS • 301 Cameras Camera Object You can add as many cameras to the scene as you wish. When you create a new camera (Objects > Scene > Camera), the camera will adopt the position and focal length of the active view. When placing and aligning a camera, CINEMA 4D uses the camera’s coordinate system. The X-axis and Y-axis define the focal or film plane, and the Z-axis is the direction in which the camera is pointing. In the viewports, the camera is shown as a cuboid with two spools of film and a lens. Attribute manager settings Object Properties Projection By default, objects are shown from the viewpoint of a central perspective projection. Alternatively, choose other types of projection. From left to right: Perspective, Gentleman, Dimetric, Isometric. Focal Length The CINEMA 4D cameras simulate a lens system. You can choose the focal length of this lens. 302 • CHAPTER 7 camera model used in computer graphic programs corresponds to a pinhole camera of  The infinite sharpness. Therefore CG focal length is to be understood only as a simulation and corresponds in no way to a physical model. Short focal lengths give a wide-angle view and are ideal for a good overview of the whole scene. They do, however, distort objects in the scene — a particularly striking effect is that of a very short focal length. Large focal lengths correspond to a telephoto lens and display a very small area of the scene since only a small spatial angle can be captured. Lens type ������������� Focal Length Fish-eye 20 mm Wide-angle 35 mm Normal 50 mm Portrait Telephoto Super telephoto 85 mm 200 mm 1000 mm ������������ �������������� The advantage of a telephoto lens is that you can capture detail with hardly any distortion. With an extremely high value used as a focal length, the perspective depth is lost completely as the perspective projection changes into a parallel projection. Aperture Width The Aperture Width parameter corresponds to the size of the opening in a camera (the aperture) that allows light to pass through the lens onto the film. The ratio of the Aperture Width to the Focal Length determines how much of the scene (the ‘viewing volume’) can be viewed through the camera. For example, if you double both the Focal Length and the Aperture Width, the viewing volume is unchanged. Field of View A measurement for the camera’s angle of view. The greater the Focal Length, the smaller the Field of View. Zoom  This setting is not available if Projection is set to Perspective. The Zoom setting allows you to zoom the view. It defines the scaling factor for the view. OBJECTS MENU • CAMERAS • 303 Film Offset X, Film Offset Y Film Offset X Film Offset Y Suppose the CINEMA 4D camera worked like a traditional film camera, with images being recorded onto photographic film one after the other. Now imagine if additional image information could be recorded by moving this film along the X and Y-axis (beyond the strip of film in the example). This is exactly what these parameters do. CINEMA 4D takes this one step further in that it does not restrict itself to the size of the “filmstrip”. So what use is all this? First, it lets you shift the part of the image displayed without changing the perspective. This is especially useful for adjusting views in architectural visualizations. Perspective, linear direction and linear angles are not affected. Second, you can create images larger than 16,000 x 16,000 pixels, and you can network render single pictures over a network with CINEMA 4D NET. A special trick makes it possible to render images to any given size. This is how it works: Animate Film Offset X and Film Offset Y in steps of 100% for each image. Split the scene into separate parts that will be rendered sequentially. Choose an image format as your output format (don’t choose video). Because you’re animating, it’s possible to use CINEMA 4D NET. Of course, you can also simply split a “normal” sized image, such as 1024 x 768 pixels, and render it using CINEMA 4D NET. Once you’re done rendering, you’ll have several images (none of which may exceed a resolution of 16,000 x 16,000 pixels) that you can then piece together in an image editor. 304 • CHAPTER 7 For the example, the scene was been split into four pictures. The camera’s Film Offset X and Film Offset Y were animated over four frames as follows. First frame: Film Offset X / Y = 0% / 0% Second frame: Film Offset X / Y = 100% / 0% Third frame: Film Offset X / Y = 100% / -100% Fourth frame: Film Offset X / Y = 0% -100% The result is four separate images that you can piece together in an image editor.  When using radiosity, use Stochastic mode (Render Settings > Radiosity). Show Cone If this option is enabled, the viewing volume is displayed in the 3D viewport as a green pyramid. Depth Of Field  If you own the separately available Advanced Render module, then when you output a Depth multi-pass channel, the Depth Of Field settings described here are used rather than Advanced Render’s Depth Of Field settings. This is because Advanced Render’s depth of field is a posteffect, whereas these settings are part of the rendering process. The Depth of Field settings enable you to specify which part of a picture will be out of focus. You have a choice of Front Blur or Rear Blur, depending on whether you require the objects at the front or the rear to be blurred. If neither Front Blur nor Rear Blur is enabled, all objects will be in focus. Figure 1: The relationship between Front Blur, Rear Blur and Target Distance. Target Distance Determines the distance from the camera at which objects are perfectly sharp. Depending on which blur options you’ve enabled (Front Blur and/or Rear Blur), the blur increases in front of and/or behind the target distance. OBJECTS MENU • CAMERAS • 305 Front Blur, Rear Blur The settings determine the distance from the camera to the front and to the rear of the scene at which objects will become completely out of focus. Adjusting the camera interactively Although you can adjust the camera’s settings via the Attribute manager, the quickest way is to drag the camera’s handles in the viewport. To try out the camera’s interactive handles: - Choose File > New to create a new, empty document. - Choose Objects > Scene > Camera to create a Camera object. On the Attribute manager’s Depth page, enable Front Blur and Rear Blur. Set the End value for Front Blur to 500 and the End value for Rear Blur to 1000. - Now take a look at the camera object in the 3D viewport. - In the 3D viewport, choose Edit > Frame Scene. Hold down the 2 key and drag left to zoom out, then hold down the 3 key and drag left or right to orbit the camera until you can see the camera object fully, as illustrated in Figure 1. Figure 1: Ensure that you can see all of the camera’s planes. The point that we’ve enclosed in a circle is the camera’s Target Distance. Drag this point - called a handle - to change the Target Distance value. In move mode or rotate mode, Shift-click and drag this point to rotate the camera about its axis and simultaneously change the target distance. - In move mode or rotate mode, Shift-click and drag this point to rotate the camera about its axis and simultaneously change the target distance. - On the same plane as the target point there are four further handles, each one midway along a side of the plane. This plane represents the camera’s Focal Length. Drag one of these handles to adjust the Focal Length interactively. 306 • CHAPTER 7 - There are two further, optional, planes that run parallel to the focal length plane — one in front and one at the back. These two planes (or just one of them) are available only if you select a depth of field (Front Blur, Rear Blur). At the center of each plane you’ll see another orange handle. Use this handle to shift the depth of field plane interactively along the camera’s Z-axis. Again, you can see these realtime adjustments in the viewport. - You may also adjust the focal range i.e. the area that is shown in focus. Keep in mind that it is always the active camera that is used for rendering. To switch cameras during animation, use a Stage object. Animating camera movements In this section, you’ll find a few tips on how to go about animating camera movements in CINEMA 4D. First, as a general rule, avoid using a single camera path for your entire movie. A single camera path tends to bore the viewer! CINEMA 4D gives you two main ways to animate cameras. For both ways, you must first link the camera to the viewport — in the perspective view, choose the camera’s name from the Cameras > Scene Cameras submenu. 1. The simplest method is to record keyframes for the camera’s position and rotation. This is achieved by moving and rotating the camera and recording keys at different times of the animation. Once the keys have been recorded, you can fine-tine the camera movements using the F-Curves for the sequences. Occasionally, this method can become tedious because you may need to edit multiple sequences (for the X, Y and Z components). 2. A more refined method is to use a spline that acts as a path along which the camera is moved. To make the camera follow the spline, assign an Align To Spine tag to the camera, then drag and drop the spline into the tag’s Spine Path box. Next, animate the tag’s Position parameter. A flexible variant of the second method involves the use of two splines and a target camera that points at a null object. One spline is used for the camera path, and the other spline acts as a path that the null moves along (two Align To Spline tags will be needed this time, one for the camera and the other for the null). Naturally, the null must keep still at the times when the camera should look at the same position over a period of time. OBJECTS MENU • CAMERAS • 307 Animated camera and target. These two splines give you a very precise way to control the camera position and orientation. You can fine-tune the animation using the F-Curves of the two Position parameters (Align To Spline tags). Tips - To ensure that the camera/null moves along the spline at a constant velocity, set the spline’s Intermediate Points to Uniform. - For extra realism, try adding a slight amount of shake to the camera using the Vibrate tag. Assign the tag to the splines, not to the camera and null (which are already controlled by other expression tags). Cameras Menu Scene Cameras Each view may have its own camera. The editor camera is used by default, but you may create and use your own cameras. When you create a camera, the camera is initially switched off, i.e. it isn’t used by the viewport. Position the camera as desired and, to switch it on for the viewport, choose the camera’s name from the viewport’s Cameras > Scene Cameras menu. You can also switch a camera on for a viewport in the viewport settings (viewport: Edit > Configure) using the Linked Camera box on the View tab. Drag and drop the camera from the Object manager into the Linked Camera box. 308 • CHAPTER 7 The name of the camera will be displayed green in the Object manager if the camera is used by the viewport and is not selected. If the camera name is displayed yellow, the camera is used by the viewport and is selected. Link Active Object You can view a scene through any object, not just through a camera. In the Object manager, select the object that you want to use as the viewport’s camera. In the desired viewport, choose Cameras > Link Active Object. Sometimes it’s useful to view the scene through particular objects. For example, when creating hair using the separately available Shave and a Haircut for CINEMA 4D plugin, you need to ensure that a light’s shadow cone just covers the hair (otherwise you’ll lose shadow definition). This is easy to check if you use the light as the camera. You can then re-size the shadow cone accurately so that it encompasses the hair. When using the separately available Shave and a Haircut for CINEMA 4D, use the light as a camera when setting the shadow cone. This makes it easy to ensure the shadow cone just encompasses the hair, as required for best shadows.  When using an object as a viewport camera, the object’s Z-axis defines the viewing direction (as is the case with Camera objects). Editor Camera When you start a new scene, the viewports initially use the editor camera — an internal camera that you can’t see in the Object manager. If you’ve changed cameras to one of your own and want to switch back to the Editor Camera, use this command. Target Camera In principle, a target camera (Objects > Scene > Target Camera )is no different from the standard camera described above, except that a Target tag is assigned to the camera automatically and a target object (a null) is created. If you move the target object, the camera will rotate to follow it. Similarly, if you move the camera, the camera will rotate at the same time so that it continues to point at the target object. OBJECTS MENU • LIGHTING • 309 Lighting Light Object When building a new scene in CINEMA 4D, a default light is used called the auto light. To change the default lighting setup for all future scenes, build a new scene that contains only the lights that you require for your default lighting and save this scene within the CINEMA 4D folder under the name ‘new.c4d’. This setup will be opened automatically each time you start a new CINEMA 4D scene.  You can also save other CINEMA 4D scene/environment attributes (Sky, Floor, Environment and so on) in the ‘new.c4d’ file.  CINEMA 4D’s auto light will switch on automatically when you switch off lights during an animation unless you disable Auto Light in the render settings (Options page). Creating a light To create a light, choose the desired light from the Objects > Scene menu or click the light icon in the top toolbar. Displaying lights in a viewport The lighting within a scene can be easily previewed by turning on the Gouraud shading option. This option will update your lighting in realtime, even adjusting the lighting and updating your scene as you move the lights around. To change the name of a light, double-click the light’s name in the Object manager and enter the new name into the dialog that opens. 310 • CHAPTER 7 Attribute manager settings General Color You can adjust the color of each of your lights using the slider controls and the text input boxes for each color element (RGB). You may change the color system (perhaps to HSV 0...255) using the drop-down list below the Color box. It is also possible to use the color sliders to achieve negative lighting effects, which is discussed in detail later in this chapter. Brightness Defines the brightness of the light source. By adjusting brightness values with the slider control you can simulate any type of light from the small glow of a candle to the extreme brightness of sunlight. In most cases the maximum slider value of 100% will suffice, but you can enter much higher values into the adjacent text box. Type Defines the light’s type, such as Spot, Tube or Parallel. Shadow Defines the type of shadow generated by a light source. Visible Light Defines the visibility of the light in a scene. Noise With this option you can make your lights exhibit irregularities in the visible light or on the surface lit by the light.  Using the Noise effect, you can produce very interesting effects, such as a supernova, simply by setting the internal and external colors of the visible light to yellow and red. OBJECTS MENU • LIGHTING • 311 No Light Radiation If you need to see just the visible light and/or its lens effects without the light source actually illuminating objects, enable this option. Should you need your light sources for special effects (such as the exhaust gas of a jet engine) enable this box for faster rendering. Show Visible Light Enable this option to show an approximation of the visible light in the viewports, not to be confused with illumination. Again, this range can be interactively adjusted via its handles. Show Illumination If this option is enabled, a wireframe approximation of the light’s illumination is shown in the viewports. This range can be adjusted by dragging the handles of the wireframe representation. Show Clipping Enabling this option shows an approximation of the selected light’s clipping range (the restriction of the light range) in the viewports and can be interactively adjusted with the wireframe’s handles. Memory Requirement This indicator shows the amount of memory needed for the selected light sources in your scene. Here is an overview of the memory requirements of light sources: - Hard shadows and area shadows need memory-intensive raytracing calculations. - As more objects are added to a reflection/refraction dependent scene, extra memory will be required. - A soft-shadowed visible light needs a shadow map of at least (Resolution X * Resolution Y / 250) KB. - Omni lights require six times as much memory for their shadow maps. - When used with transparent textures (light maps), up to 20 times more memory may be needed. Render Time Gives an approximate render time for the selected light source. Here is a short overview. - Soft shadows are calculated far more quickly than hard shadows, hard shadows being much faster to calculate than area shadows. - Making a light visible in a rendered scene adds a negligible amount to its render time. Using a volumetric light increases render time, sometimes substantially, according to the Sample Distance. - Noise adds to render time, with hard and soft turbulence requiring more calculations than basic noise, while wavy turbulence roughly doubles rendering time over that of basic noise. - Using a high sample radius will increase the render time of soft shadows. - Tube lights and area lights also add to render time, although not to the same extent as the processor-intensive volumetric light. 312 • CHAPTER 7 Types of light This section describes the types of light available on the General page. Omni. Spot (round/square). Distant. Parallel. Parallel spot (round/square). Tube. Area. Omni An Omni light source acts like a real life light bulb — casting rays in all directions. Placing an Omni light in the center of your scene will illuminate your scene evenly. Spot (round/square) Spotlights cast their rays in just one direction, which is along the Z-axis by default. Once created, they can be easily moved and rotated to light individual objects and specific areas of a scene. The spotlight source can project a round or a square cone of light. Square light cones are ideal for, amongst other things, the simulation of that which require a square picture to be cast onto a wall. Examples of round spotlights include car headlights and torches. OBJECTS MENU • LIGHTING • 313 Distant  Owing to its characteristics, the distant light source itself cannot radiate visible light. The Distant light type is so called because it mimics light that is cast from an infinite distance. Using a Distant light would, for example, evenly illuminate the whole of a floor (provided the floor is flat). Since a Distant light is infinite, the light has no actual origin. Thus the exact position of a Distant light, near or far, has no effect on your scene’s objects. Only the actual direction in which the light is facing is important with this light source. Distant light sources are suitable for simulating sunlight. Parallel  Like the Distant light, Parallel lights cannot be rendered as a visible light. Parallel lights resemble a very distant light source. Unlike the Distant light source however, the Parallel light has an origin and simulates a large, single axis wall of light. By default, all Parallel lights will radiate light rays along the Z-axis. These lights take the appearance of an infinitely large surface, radiating parallel light in a single direction; anything behind the point of origin will not be illuminated. Parallel spot (round/square) Parallel spotlights resemble the regular spotlight but do not have light cones to define falloff or distance. Instead, light rays are cast along cylinders and/or bars. The origin is important in defining which objects in a scene will be affected by this light. The radius of the spotlight can also be modified using the adjustment handles. Tube  Tube lights are especially useful when you want objects to show long, drawn-out highlights. Tube lights do not have a single point of origin, but a linear one. The Tube light is represented by a line, from which light is radiated in all directions. When used as a visible light, this is a very quick and easy way to make neon tubes. A classic example of the use of the Tube light is the laser sword. For specular effects, tube lights are approximated by a string of exactly 11 omni lights, which is why you may see a string of specular circles on surfaces if the specular width parameters for a tube light are tall and narrow. For illumination effects, tube lights are accurately modeled. Area  As with Distant and Parallel lights, an Area light cannot be rendered as a visible light source. The light rays from an Area light expand from all points on its surface outwards in all directions. A rectangular computer screen is a good example of such a light. The resultant lighting and specular effects are somewhat different from those of an Omni light; specular highlights are more angular and the surface illumination is richer. The closer the light source is to the object, the more apparent this becomes. However, an Area light with a small radius that is placed far way in a scene will hardly seem to differ from an Omni light source. 314 • CHAPTER 7 Types of shadow This section describes the different types of shadow you can select for the Shadow option on the General page. The Shadow page itself is described later in this chapter. Soft shadow. Hard shadow. Area shadow. You can combine different light source types with different shadow types For example, an area light can cast not only area shadows, but hard shadows as well. None Select None if your light is to cast no shadow. This is a very helpful option in a scene with many lights, allowing you to turn on shadow-casting for the main lights only. Any real world photographer will envy you this option and its possibilities. Soft In reality all objects — whether they are trees growing in the wild, or a vase in a room — are lit by several partial light sources. The result of this is a gradual transition of light to shadow. This soft edge, or umbra, can be simulated in CINEMA 4D by using a ‘shadow map’. A shadow map is a grayscale picture of the scene as viewed from the light source. Contained in this are all the objects lit by the light source. During the render calculation the renderer will determine exactly which objects will fall into this shadow of the light source. The major advantage of this method is the high computing speed and the soft shadow’s natural appearance. However, the one downside to soft shadows is the memory needed. Depending on the size of the shadow map, a great deal of additional memory may be needed. So be careful in your allocation of shadow maps or you may find your scenes wasting precious memory. Hard Traditionally in raytracers, genuinely raytraced scenes contained hard shadows. As this technique needed to compute many more additional rays, this method increases the render time dramatically. Hard shadows, because of their abrupt, sharp appearance, are of particular interest for technical illustrations. However, in other more natural pictures they look rather unrealistic because such hard, sharp shadow borders are rarely found in real world environments. OBJECTS MENU • LIGHTING • 315 Area Although Soft shadows are more natural than Hard shadows, they are still not perfectly natural. On careful examination you can see that the soft edge always has the same width. In nature this does not happen; the closer an object is to a surface on which it casts its shadows, the sharper this edge will be. Area shadows simulate this effect. CINEMA 4D calculates the shadow at the origin of the light source outwards (for all lights, whether Omni, Spot or Area). Only a hard shadow is computed at this point. The softer Area shadow is the result of a virtual Area light source that simulates the overlay of several light sources. This provides the natural scattering of light. However, as usual, this method comes with a price: it adds to the render time. So much so that Soft shadows are often used in preference despite being of a lower quality. Carefully assigned Area shadows, however, can produce very realistic shadows. Types of visible light This section describes the different types of visible lights you can select for the Visible Light option on the General page. The Visibility page itself is described later in this chapter. Visible. Volumetric. Inverse Volumetric. In nature, a light beam becomes visible when small particles such as dust, insects, smoke or fog are present in the air. For example, if a car headlight shines in fog, you’ll see its cone of light quite distinctly. In CINEMA 4D, all light sources and/or the light cone emitted can be made visible. This type of effect can be seen in a smoky room. This effect is comparable to fog, which does not diminish light, but rather adds to its brightness. With Visible Light, you can produce stunning effects including headlights, shimmering lights, laser beams and a host of atmospheric effects. Visible If Visible Light is set to Visible on the General page, the light source will produce visible light that passes through all objects. For example, a visible light could be placed in the center of a planet’s sphere to simulate an atmosphere. The Visible option is of special importance to the particle system. Visible lights (with No Light Radiation enabled) lend themselves to a huge range of effects, such as nebula clouds, smoke, comet tails, fire and flames. 316 • CHAPTER 7 Volumetric A visible light does not affect objects that lie in its cone of light — the light rays penetrate objects unhindered, casting no shadow in the visible light’s beam. In order for a shadow to be cast by a visible light, volumetric lighting must be used. The parameters for the visible Volumetric light are taken from the light source’s shadow map values: Resolution X, Resolution Y, Sample Radius and Parallel Width. Inverse Volumetric Enabling the Inverse Volumetric function has the interesting effect of inverting your volumetric light — that is, the light is visible where the light cone would normally be in shadow. Imagine a company logo, behind which you have placed an Inverse Volumetric light source. This inverts the light’s volumetric effect, giving the impression that the light is radiating from the logo itself. Types of noise This section describes the different types of noise you can select for the Noise option on the General page. The Noise page itself is described later in this chapter. Illumination. Visibility. Both. Effects such as animated fog or sun flares can be achieved using this feature without having to use potentially time consuming volume shaders. However, keep in mind that lights with a noise effect have a small price to pay in rendering time, as any light using the Noise feature is slower to calculate than one without. Illumination You can add irregularities to your light source in order to give it a realistic appearance. A light’s illuminated surface is very rarely evenly lit — particularly if dust or small particles are present. Visibility This option adds irregularities not to your lit surface, but to the visible light itself. For example, you can simulate rolling fog that is visible in the light cone. Both Ensures that both the basic light and any visible light are provided with noise irregularities. OBJECTS MENU • LIGHTING • 317 Details Using the Details tab, you can access the individual properties of each of your light sources. Use Inner, Inner Angle Use Inner disabled. Inner Angle set to 0. Depending on the type of light you use, this will adjust either the Inner Angle (for a standard Spotlight) or the Inner Radius (for a Parallel Spotlight) of the light. Within the Inner Angle area, the luminosity value of the light source is 100%. From the Inner to the Outer Angle the luminosity value falls from 100% to 0%. If Use Inner is disabled, the luminosity of the light source in the entire light cone amounts to 100%, resulting in a hard cone of light. If the Inner Angle has a value of 0, the light source will have a soft transition spreading from the center of the light to the light’s edge. Outer Angle Adjusting this value will define how large the light will be in total. The Outer Angle value indicates the limits of the light source’s luminosity. 318 • CHAPTER 7 Aspect Ratio Enables you to stretch and shear the shape of the light’s cone. The standard aspect ratio value is 1. For example, increasing the value to 2 will double the light cone’s height relative to its width. Similarly, decreasing the value to 0.5 will make the light cone only half as high as it is wide. Brightness This value controls the overall brightness of the light source. While this control may be seen as just a way to brighten or dim your light source, it’s also capable of another interesting, and very useful, effect. Using a negative value with this option results in negative lighting. The color of your light source (set in the General tab) is important here. That color will not be added to the scene where a negative light source is in effect. With this technique you can artificially darken and shade specific areas of your scene. This type of lighting works even better when used with carefully constructed environment lighting and falloff ranges. A good understanding of environment lighting is needed. Contrast The intensity of a light source on an object is not dependent on the distance of the light from the object (unless you explicitly adjust its falloff), but rather on the angle at which its rays hit the object. If a ray hits a surface at an angle of 90°, the surface is illuminated with the light’s maximum intensity (taking any falloff into account). As this angle (called the angle of incidence) decreases, the strength of the illumination decreases as well. Therefore, in an average scene, a soft transition is normally seen on any lit surfaces. The Contrast value controls this transition. Figure 1. Contrast set to 0%. Figure 2. Contrast set to a negative value. In Figure 1, above, a series of pictures of a planet is illustrated, towards which a light is directed. You can clearly see how little the planet’s front and sides are lit using 0% contrast. The transition on this lit surface is not very soft; this surface contrast is not natural for planets. If you look at photographs of a planet you will see that the transition of its lit surface to its shadowed edge is hard — as illustrated further to the right in the series of pictures. With the contrast control you can adjust how soft or hard you wish the lit surface transition to be. If you need a special over-soft look to your objects you may even enter negative values, as illustrated in Figure 2. OBJECTS MENU • LIGHTING • 319 Falloff A normal virtual light source will illuminate its surrounding environment with a continuous, linear brightness. However, this is not how all lights work in reality; real light sources will have their luminosity absorbed. Just as in nature, CINEMA 4D light sources are able to have their luminosity reduced over any distance. To achieve this, several falloff functions are available from this drop-down list, illustrated below. A bug has been corrected that affected the falloff functions in previous versions of CINEMA 4D. You can now choose from two sets of falloff functions: the new corrected ones and the old incorrect ones (marked “R7”). If you are working with an old scene and you want the lighting to look the same as before, use the R7 falloff functions. Otherwise use the new functions. With the Inv. and Inv. Square functions, the light now starts to fall off from the Radius/Decay value. Inner Radius Within the Inner Radius there is no falloff. Up to this point, the brightness of the light remains constant. Outside of this boundary is where the Inner Radius falloff begins. Radius/Decay The range between the Inner Radius and the Radius/Decay is where the brightness of the source light changes from 100% to 0%. This Radius/Decay value indicates the maximum range that will be illuminated by the source light. 320 • CHAPTER 7 Ambient Illumination Ambient illumination. Ambient illumination with Falloff enabled. Normally the brightness of a surface is determined by the angle at which a ray of light hits it. The greater the angle between the ray and a tangent to the surface, the more the surface will be lit by the light. When Ambient Illumination is switched on, however, this physical law is waived. Here the angle does not matter. All surfaces are lit with the same intensity. This results in a much flatter look. Only the material color is considered in the lighting calculations. With both Ambient Illumination and Falloff enabled for the light source, you can lighten specific regions of your scene in a similar way to how you darken them with Negative Lighting, explained earlier. No Specular This bottle is lit by two light sources, causing more highlights to develop than you’d normally want. No Specular option is enabled for one light source only. Now the highlights are fine. When this option is enabled, the light source produces no specular highlights on your scene’s objects. Imagine you have a bottle on a table with two or more light sources in the scene. The bottle may show too many specular highlights, with the glass material looking too busy. To avoid this, enable No Specular for some of the light sources. OBJECTS MENU • LIGHTING • 321 Colored Edge Falloff Colored Edge Falloff disabled. Colored Edge Falloff enabled. This option is only available when using a spotlight with Use Inner Color enabled. The normal behavior of the inner color is to spread in a linear direction along only the Z-axis of the spotlight, from its origin to the light source’s color (selected on the General page). If you select Colored Edge Falloff, however, the Inner Color will also radiate outwards from the Inner Angle through to the light source’s general color. Use Inner Color, Inner Color In the illustration above, the light source is white and the Inner Color is red — the light shows a gradual color change from red to white. Independently of the light source’s color, which is defined on the General page, you may assign another color to the internal range of the light. When used, this Inner Color is the core color of the light source. Starting at 100% of its value, the Inner Color spreads outwards and gradually changes into the light source’s General color. For the Inner Color to be used, the Falloff function must be activated. The Inner Distance of the Falloff determines the expansion of the Inner Color. Click on the color chooser to select the color properties of the internal color. 322 • CHAPTER 7 No Diffuse No Diffuse disabled. No Diffuse enabled. When No Diffuse is enabled, the color properties of an object are ignored by the light source; only specular surfacing is produced by the light. This can be useful for objects such as a golden signature, where you would like specular glints, but no lightening of the color properties. Separate Pass If you enable this option, separate diffuse, specular and shadow layers will be created for the light source when you render (provided you have set the appropriate multi-pass parameters). Near Clip From = 90, To = 90. From = 90, To = 150. Enable Near Clip to restrict the illumination and visible light (if present) radially with an Omni light and linearly with all other light types. The light source does not have to radiate light from its origin; the radiation may begin, for example, five meters from the light’s origin. The two values used for this effect are From and To and signify the distance for the clipping effect. The larger the difference in the two values, the softer the transition.  If 10 m and 50 m are entered into the two fields, there will be no illumination from the light source between 0 and 10 m; from 10 m the luminosity begins, reaching full luminosity at 50 m. OBJECTS MENU • LIGHTING • 323 Far Clip From = 300, To = 300. From = 220, To = 300. Enable Far Clip to cut off the light source’s illumination abruptly. To use Far Clip, once again two values are needed. This time the From and To values denote where the cut off begins, and where the light source will fully vanish. Again, the larger the difference between these two values, the softer the transition. Individual clipping ranges using an Omni light. 1 = Near Clipping (from); 2 = Near Clipping (to); 3 = Far Clipping (from); 4 = Far Clipping (to). 324 • CHAPTER 7 Visibility Use Falloff, Falloff 100% Falloff. 0% Falloff. Falloff is the percentage reduction in the light’s density. The axial falloff of the visible light is set to a standard 100%. This means that from the origin of the light to its outer distance, the density of the visible light falls from 100% to 0%. So, if a value of 10% is entered into the Falloff box, the outside edge will be at 90% visibility. Enable or disable Use Falloff to switch falloff on or off. OBJECTS MENU • LIGHTING • 325 Use Edge Falloff, Edge Falloff 100 % Edge Falloff. 0 % Edge Falloff. Edge Falloff is relevant only with Spotlight sources. The Edge Falloff determines how quickly the light’s density decreases towards the edge of the light cone. If you enter a value of 0% (or disable Use Edge Falloff), you will produce a very hard visible light. A value of 100% gives a more gradual falloff from the inside of the light cone to its outer edge, until it reaches 0%. Colored Edge Falloff Colored Edge Falloff disabled. Colored Edge Falloff enabled. This option is only available with Spotlight sources, and in addition, Use Edge Falloff must be enabled. Normally, the Inner Color behaves in such a way that it travels along the Z-axis of the Spotlight source linearly to the Outer Color. However, enabling Colored Edge Falloff will cause the Inner Color to also spread outwards radially from the Inner Angle to meet the Outer Color. Inner Distance Beneath this value the density of the visible light is always a constant 100%. The falloff begins only outside this distance. Outer Distance, Relative Scale Between the Inner Distance and the Outer Distance the density of the visible light changes from 100% to 0%. When using spotlights, modify the scale of the Outer Distance value along each axis using the three Relative Scale text boxes. 326 • CHAPTER 7 Sample Distance The Sample Distance is relevant for visible volumetric lights. Adjusting this value defines how finely the visible light’s volumetric shadow will be computed. Larger values lead to a somewhat rough (but swift) calculation, while smaller values lead to a much finer, but more time-consuming, result.  Take care with the Sample Distance values. Finding a happy medium (small for fine detail, but as large as possible for reducing render time) is the key here. The value of this Sample Distance is measured in world units. This value thus determines how finely the shadows within a visible light will be sampled. Values will usually be from 1/10th to 1/1000th of the light source radius. By increasing the value your scene will render noticeably faster but certain parts of your scene will be sampled very roughly, resulting in sampling artefacts. To reduce these sampling artefacts requires a reduction in your sampling value too. The smaller the value, however, the higher the cost in rendering time. CINEMA 4D contains an integrated antialiasing technique for surface shine, ensuring even the roughest surfaces render smoothly, allowing you to set the Sample Distance value somewhat higher than without this feature. Sample Distance tips To produce fine shafts of light, such as those produced when light beams radiate through cracks or from behind stone columns, set the Sample Distance to a relatively low value. On the other hand, a light that is completely covered and allows no beams of light to break through may be sampled at a much higher value. To clarify this, here’s a small example; the pumpkin in the pictures below has a radius of 150 units, the visible volumetric light a radius (Outer Distance) of 700 units. Sample Distance: 10. Render time: 105 s. The volumetric light looks perfect. Sample Distance: 20. Render time: 60 s. Here the rays emitting from the mouth and the right eye are showing the first signs of artefacts. Sample Distance: 40. Render time: 35 s. You can clearly see now how the rays in the visible light are losing their fine edges. Sample Distance: 80. Render time: 23 s. The picture has, quite literally, been rendered useless. So why is volumetric lighting so time-consuming for the renderer? When a beam hits a light cone, it is not only the intensity of the light that needs to be computed. Additionally, for each part of the beam, CINEMA 4D needs to look for other objects within the light cone that might be casting shadows. So for every part of the beam of light, an extra raytracer ray needs to be initiated and emitted. Because it is not possible to shrink segments in the fog below a certain length, an approximation must be used; the length of the light cone is subdivided into equal parts. OBJECTS MENU • LIGHTING • 327 Suppose the raytracer ray hits the light cone and the distance between the entry and the exit points of the light cone is 1,000 units. A sample distance of 50 units will mean that an intensity value and a shadow beam will have to be calculated 20 times (1,000/50). The shorter the sample distance, the longer the calculation will take. Even with just five subdivisions (so a sample distance of 200 in the above example), this will require a five-fold increase per raytracer ray and per contact with the light cone than without volumetric lighting. Using progressively finer subdivisions, the processing time involved very quickly becomes astronomical. This is an inherent problem with computer graphics that cannot be resolved or accelerated other than by throwing processor power at it.  Volumetric lighting needs a lot of calculation time, therefore render such light sources only when it is absolutely necessary. So why can’t you input a fixed value for the number of samples? Well, if the raytracer beam hits the light cone at its beginning, the distance between the entry and exit points might be, for example, 100 units. But if the beam hits the cone further from the light source, this distance might grow to 5,000 units or more. So if you used a fixed number of samples, at the narrow end of the cone a lot of unnecessary calculations would be made and later too few (which would result in artefacts). Brightness This value is the brightness of the visible light source. Dust Determines the darkness of the light cone. With a Dust value of more than 0%, Brightness is subtracted instead of added. To ensure you see the full effect of this, lower the light’s brightness accordingly. The difference between a normal bright light and a dust-assigned light can be seen clearly in the following illustration. To the left is a bright, visible light. To the right a dark, dusty, somewhat sooty light. To create a dark, dusty light, on the Visibility tab, set Brightness to a low value. In principle, you can use dust in conjunction with particles to create realistic fire and smoke. 328 • CHAPTER 7 Dithering This produces irregularities in the visible light, which can help to prevent unwanted banding or contouring in the visible light source.  With certain light source combinations, such as visible lights that overlap, you may find that the 24-bit picture depth of your output device is insufficient and it may display color gradients in large steps. This display problem is known as ‘contouring’. To avoid this problem, use the Dithering option to give the visible light irregularity and help to smooth the color graduations. Custom Colors Here you can assign your own colors to the visible light — independently of the actual color of the light source (General page) and the inner color (Details page). Inner Color, Outer Color Use the color selector to define colors for the light’s outer edge and inner edge. Additive  This setting exists primarily for compatibility with CINEMA 4D R5’s additive light sources. The light beam will look more realistic if this option is left disabled. Additive enabled. Additive disabled. Enable this option if you want to mix the light beam additively with other light sources. Adapt Brightness Adapt Brightness enabled. Adapt Brightness disabled. This option prevents a light beam from being over-exposed. The brightness is reduced until the over-exposed effect disappears. OBJECTS MENU • LIGHTING • 329 Shadow Use the parameters on this page to fine-tune the scene’s shadow maps. Density Adjusting this value will vary the intensity of your shadow. A value of 100% means the shadow has full intensity. With 50% your shadow will be half transparent and at 0% the shadow is invisible. Color Here you can change the shadow’s color. Since shadows in nature are rarely jet black, this setting is more useful than it first appears. Or you might want to set the shadow to include some of the complementary color of the subject, to emphasize the contrast between light and shade. Transparency Transparency enabled. Transparency disabled. If shadow maps should take the transparency and alpha channels into account, enable this option. 330 • CHAPTER 7  The calculation of transparent soft shadows is memory-intensive. An Omni light source can sometimes use six times as much memory as a spotlight, because six shadow map calculations must be computed compared to the spotlight’s single shadow map. Clipping Influence If this option is enabled, the clipping settings on the Details tab are applied to shadow-casting as well as to illumination. Shadow Map 250x250 map size. 750x750 map size. The Shadow Map settings are available only when soft shadow is selected. When using soft shadows, CINEMA 4D initially sees the scene from the point of view of the light source and calculates the complete scene from this view. All objects seen in this view are interpreted as shadows for the scene. This results in Shadow Maps. Shadow Map assigns memory for each shadow map. The smaller the memory assignment, the more pixelated the shadow will appear. This can result in a shadow with a jagged, staircase-like appearance at its edges. The more memory used for the shadow map, the smoother the shadow and its edges, but the higher the memory usage. By default, a standard size of 250x250 is used. Shadow map size can be increased substantially if needed. In order to keep your shadow sharp and smoothly defined, your shadow map will need to increase in size. If you simply need to keep your shadow edge soft, you can increase the Sample Radius. Again, this will increase render time.  Rather than use a map with a doubled Shadow Map size, you can achieve an equivalent soft edge by doubling the Sample Radius. Sometimes when you have a small shadow map created by a very distant light source, spherical objects may cast rectangular shadows! You can remedy this by viewing the scene through your light source. A light source, like any other scene object, can be defined as a camera view. To do this, ensure the light source is selected and from the viewport, choose Cameras > Link Active Object. Resolution X If the preset value of the map size does not give the desired result, adjust the Resolution X manually. In general, set Resolution X (width) to the same value as Resolution Y (height) OBJECTS MENU • LIGHTING • 331 Resolution Y With a spotlight, you can provide a non-square shadow map by entering a value for Resolution Y. Memory Usage CINEMA 4D automatically calculates the maximum memory use for the shadow map, which is shown here. This helps you to estimate how much memory will be needed for the shadow maps. Sample Radius Determines the shadow map accuracy. The higher the value, the more accurate the shadow is, at the expense of a longer render time. If you must use a small shadow map, selecting a higher value will improve the shadow quality. So you can trade off render time against memory usage. Absolute Bias In general, leave this option enabled. If you disable the option, the distance of the shadow from the object depends also on the distance of the light source from the object — called relative bias. With relative bias, the further the light source is from the object, the further the shadow will be from the object. This behavior originated in CINEMA 4D R5 and is present for compatibility reasons when loading old scenes. Bias (Rel), Bias (Abs) Occasionally, you may need to adjust the shadow’s position using the Bias value. A value of 1 m will suffice for most scenes. However, sometimes an adjustment may be necessary.  The smaller an object is and the more you zoom in with the camera, the smaller the Bias value must be set. This ensures no gap between object and shadow is visible. If the object is excessively large and unwanted self-shadowing occurs, increase the Bias value. Generally speaking, a value of 1 m is usually adequate for objects up to a size of 10,000 m wide. When zooming the camera on extremely small objects, the distance between object and shadow will become apparent (see Figure 1). Correct the error by lowering the value (Figure 2). You may also at times have too small a Bias value — especially with very large objects — which can result in the object casting the shadow onto itself (Figure 3). In such cases, increase the Bias value. Figure 1. Figure 2. Figure 3. 332 • CHAPTER 7 Parallel Width This setting will only be active for Distant and/or Parallel lights. This is a visible light concept known as a light cube. The light cube has its length and width dimensions set to the Parallel Width value, the depth (Z-axis) of the light cube being infinite. Objects within the cube can cast shadows. This value cannot dynamically adapt to your scene, as it is possible for other objects to jump into the shadow-casting area during an animation. Therefore, a fixed value is used, which is entered here.  You can change the size of the shadow map. The lower this value, the more pixelated the shadow becomes. If the parallel light cube boundary had a dynamic value, these pixels would appear to jump, since the shadow map would otherwise vary dynamically in its size. In order to prevent this, a fixed value is used and any such shadow jumps are eliminated. Outline Shadow This option results in a thin shadow outline instead of a full shadow.  When enabling this option, we recommend you use higher than usual values for the shadow map’s resolution and sample radius. Shadow Cone, Angle One of the drawbacks of Omni light sources is that six shadow maps must be computed in total, which can sometimes produce small artefacts at the edges of shadows. If Shadow Cone is enabled, the shadow production is limited to a cone, thus generating a single shadow map that is free from artefacts. This also has the advantage of speeding up render times. Set the vertex angle of the shadow cone using Angle. OBJECTS MENU • LIGHTING • 333 Soft Cone Enable this option to give the shadow cone a softer edge. This ensures that any object only partially in the shadow cone area casts a soft, fading shadow. Area Shadow Width High Area Shadow Width value (300 m). Low Area Shadow Width value (50 m). The area shadow is produced by a virtual Area light source (independently of the actual light source). The Area Shadow Width determines the size of this surface. The higher you set this value, the more the light is scattered and the softer the shadow becomes. However, as the value is increased, this adds to the render time, sometimes substantially so. Area Shadow Samples If you lower this value, the quality of the area shadow is reduced, but it is calculated more quickly. Caustics  These settings will be available only if the Advanced Render module is installed. For more details about Advanced Render, please contact your local MAXON representative or visit maxon.net. Advanced Render is an optional module that includes global illumination (radiosity), caustics, enhanced depth of field, enhanced glow and a highlights filter. The caustics feature improves the realism of scenes that use reflective or transparent objects that are curved in some way and focus light patterns, such as the patches of light a wineglass focuses onto a table. The Advanced Render module gives you an easy way to recreate these effects. 334 • CHAPTER 7 Noise Type Noise produces dark and bright areas. Chose from four types, including three types of turbulence that produce cloud-like effects. Noise. Soft Turbulence. Hard Turbulence. Wavy Turbulence. Octaves Only relevant for the Turbulence types above. The Octaves value determines the graininess of the noise. The higher the value, the grittier the appearance. OBJECTS MENU • LIGHTING • 335 Velocity Sets the speed of the irregularities. Brightness Using this you can raise the overall brightness of the irregularities. You can enter a negative percentage to reduce the brightness. Contrast Higher values increase the contrast of the noise, lower values reduce it. Local Enabling this option ensures that the local coordinates of the light source are nailed down. If the light source is moved now, the turbulence/noise will move also. For normal use, leave this option disabled, since dust and particles in the real world move due to the forces of nature, not simply because the light itself moves. The illumination noise is always local to the light’s coordinates. The visible noise can be made global to the scene by unchecking the box. Visibility Scale These values determine the size of the irregularities in the X, Y and Z directions in relation to the scene’s absolute Cartesian coordinates. If the noise effect is too severe, try reducing these values. Illumination Scale The general intensity of the noise. Wind, Wind Velocity Here you define the wind properties for the noise, This will add realism to the animation since wind will appear to blow the dust. The three Wind values define the vectors of the wind direction in absolute Cartesian coordinates (and/or local coordinates if the Local option is enabled). Use the Wind Velocity value to change the wind’s strength. Lens Effects  Lens effects cannot be displayed in QuickTime VR panoramas CINEMA 4D can simulate the aberrations of real-world camera lens systems and film material. Basic sunbeams are brought to life with a solar corona or a halo. A lens reflection of a low-quality camera lens can be easily simulated, as rainbow colored circles develop and run diagonally across the screen. A welcome flaw in an otherwise too perfect virtual world!  Why not build a library of lens effects? You can produce many types of light sources with different effects an save them as individual objects in the Object manager. When you require one of these specific lights for your scene, simply load it from your light source library. 336 • CHAPTER 7 You may recall that on the General page you have the option to disable light radiation (No Light Radiation). If this option is enabled then the light source will no longer illuminate the objects in the scene, but all lens effects of the light will still be visible. This is handy, for example, in a scene in which the objects are already illuminated as you want and adding another light source for a lens flare will result in over-lighting the scene.  Try not to overuse lens effects; they can soon become distracting. Real world the cameraman will try to avoid them. The parameters for these lens effects are many and varied and take up two separate pages. You can define the basic effect on the Lens page. Use the Glow editor and Lens editor to refine almost any detail of the lens effect. Glow To change the overall shape of the light’s glow, select a glow element from this menu of predefined light source glows. Default. CINEMA 4D R4. Wide-angle. Zoom. OBJECTS MENU • LIGHTING • 337 Hi-8. Camcorder. Searchlight. Artifact. Star 1. Star 2. Star 3. Purple. Flashlight. Sun 1. Sun 2. Grey. Blue 1. Blue 2. Red. Yellow-green 1. Yellow-green 2. Candle. Brightness Controls the global brightness of the glow. To increase the brightness, enter a value above 100%. To reduce the brightness, enter a value below 100%. 338 • CHAPTER 7 Aspect Ratio Modifying this value allows you to change the aspect ratio of the glow. The glow appears circular at its default size of 1. Smaller or larger values shrink or stretch the glow’s aspect to a horizontal or vertical ellipse. Edit Click the Glow Edit button to open the Glow editor. The Glow editor is described later in this chapter. Reflexes Select the desired reflexes from this menu of presets. Brightness Controls the global brightness of the reflexes. Values below 100% reduce the brightness of the effect; values greater than 100% increase the brightness. Aspect Ratio The reflexes appear circular at the default size of 1. Smaller or larger values shrink or stretch the reflexes to a horizontal or vertical ellipse. Edit Click the Reflexes Edit button to open the Lens editor. The Lens editor is described later in this chapter. Scale This value adjusts the size of the entire lens effect (rays, glows and reflexes). This saves you from having to adjust each effect individually. Rotation Use this value to rotate the lens glow to any angle. Reference Size When the Glow Distance Scale checkbox or the Reflex Distance Scale checkbox is enabled, this setting adjusts the distance value used to calculate the glow and reflex effects. The lower the value, the more distant (i.e. smaller) the effect appears. Increasing the value makes the effect appear closer. Lens reflexes normally have a constant size no matter how far away they are from the camera. However, if for example you want a spaceship model to fire torpedoes that pass under the camera, the lens reflexes and glows must become larger as the torpedoes near the camera. OBJECTS MENU • LIGHTING • 339 Use Light Parameters If this option is enabled, the properties defined on the light’s General page also affect the glow/ reflex effects. For example, if the light source color is red then the glow/reflex effect also appears red. Fade If Behind Object Enabling this option will determine whether light sources that lie behind objects will still produce effects. Lens flares do not occur if light sources are behind objects, but glows or radiation can produce pleasing effects. Glow Distance Scale If this option is enabled, the glow effect is scaled according to its distance from the camera. The further away the glow is from the camera, the smaller the glow will be. Fade If Near Border Enabling this option will make the lens effect fade the closer it is to the edge of the image. The lens effect will have maximum intensity when it is at the center of the screen. This corresponds to a light’s physical behavior in the real world. Fade If Approaching Object Normally, if a light source with a lens effect starts to disappear behind an object, the effects are still at maximum strength until the light source origin is fully behind the object. With this option enabled, the effect’s strength gradually fades as the light source approaches the object.  A good example of this effect is the gradual fading of a sun behind a planet. Reflex Distance Scale The same as Glow Distance Scale only for reflexes. If this option is enabled, the reflexes are scaled depending on their distance from the camera. The further away the reflexes are from the camera, the smaller they appear. 340 • CHAPTER 7 Glow editor To open the Glow editor, on the Attribute manager Lens page (with a light source selected in the Object manager), click the Edit button in the Glow pane. Glows are a type of over-exposure to light. When the light intensity is sufficient, this exposure bloom includes film grain in the areas surrounding a bright light, even though those areas are not illuminated. The rings around a glow (sometimes called halos) are also caused by over-exposure, but with added color distortions caused by the diffraction of the film grain. Use the Glow editor to edit glow properties such as rings, the colors of beams and the number of beams. There are four main areas in Glow Editor dialog: one area for the glow itself (top left), one for the surrounding ring (center left), one for beams (bottom left) and one for the type and appearance of the beams (top right). Glow properties Glow Glows consists of a stack of separately editable elements. The end result is the combination of effects from each element. Select which element you want to edit. OBJECTS MENU • LIGHTING • 341 Type Choose a type of glow type for the currently selected element. This defines the distribution of brightness for the element. Size Here you set the overall size of the glow element as a percentage of the screen’s size. A value of 100% represents the distance from the center of the screen to the edge of the screen. Color To set the color of the glow element, click the box to the right of Size. The system color chooser will open. Select the desired color. R This value defines the aspect ratio for the glow. A value of 1 results in a circular glow, whereas values greater or less than 1 produce a horizontal or vertical ellipse. Ring properties Ring Choose one of the following Ring settings from the drop-down list: Inactive (no ring), Ring (set the ring’s color using the color box next to Size) or Rainbow Ring (multi-colored ring). Size Here you set the overall size of the ring element as a percentage of the screen’s size. A value of 100% represents the distance from the center of the screen to the edge of the screen. Color To set the color for the ring element, click the box to the right of Size. The color picker for your operating system will open. Pick the desired color. R This value defines the aspect ratio for the ring. A value of 1 results in a circular ring, whereas values greater or less than 1 produce a horizontal or vertical ellipse. Beam properties Beams Beams consists of a stack of separately editable elements. The end result is the combination of effects from each element. Use the drop-down list to choose which element you want to edit. Type Choose a beam type for the element from the drop-down list. This defines the distribution of brightness for the element. 342 • CHAPTER 7 Size Here you set the overall size of the beam element as a percentage of the screen’s size. A value of 100% represents the distance from the center of the screen to the edge of the screen. Color To set the color of the beam element, click the color box to the right of Size. The system color picker opens. Pick the desired color. R This value defines the aspect ratio for the beam element. A value of 1 results in a circular shape, whereas values greater or less than 1 produce a horizontal or vertical ellipse. Angle To rotate the beam element to a particular angle, enter the angle value here. Other properties Thickness Defines the width of beams as a percentage. The lower the value, the narrower the beams will appear. Beams Defines the total number of beams. Up to 200 beams are allowed per light source. Breaks, Width You can add breaks to the beams by entering the number of breaks into the Breaks box. The breaks will be added to the gaps that already exist between beams. Use the Width parameter to control the size of the breaks. Random Distribution For a random arrangement of beams, enable this option. Random Beam Length Enable this option if you want the beams to vary in length. Star-like To have the beams arranged in a star-like pattern, enable this option. The beams will thicken towards the center. For a realistic star, use a low number of thick beams. OBJECTS MENU • LIGHTING • 343 Lens editor To open the Lens editor, in the Attribute manager, on the Lens page (with a light source selected in the Object manager), click the Edit button in the Reflexes area. Lens reflections, (termed reflexes), are caused by the focal image of poor quality lenses. The colored shape produced is an artefact of the lens surface, the shape resulting from the shape of the lens. Large apertures produce small reflections, small apertures produce larger ones. Use the Lens editor to change the reflexes as desired. The small preview shows the Lens Type, while the large preview shows the entire lens effect. Element, Add, Rem Choose which reflex you want to edit. To add or remove reflexes, click the Add or Rem buttons. You can use up to 40 reflexes. Lens Type Defines the shape of the reflexes. Only in the rarest case, if at all, should different reflex types be used in the same scene. For example, apply only circular or only hexagonal types in the same scene. Keep in mind that your scene is shot through one simulated real-world lens — these lens reflections depend upon that lens system, not on your existing scene lights. Here are some examples: 344 • CHAPTER 7 Position This value sets the positioning of the element on the screen. The axis on which all reflections lie travels through two points: the light source, and the center of the screen (which is also the center of the lens). Here the following values apply. 0% 50% 100% = light source = screen center = 2 x distance light source center Negative values place the reflections behind the light source. Size This value determines the size of the element. The radius is shown as a percentage, where 100% is the distance from the center of the screen to the edge. Color Select the color for the element. Scene Here you can choose which objects will be affected by the light. Drag and drop the objects from the Object manager into the Objects box. Mode If the light should illuminate specific objects only, set Mode to Include and drag the names of the objects that should be lit by the light from the Object manager into the Objects box. If the light should be switched off for specific objects, set Mode to Exclude and drag the names of these objects from the Object manager into the Objects box. OBJECTS MENU • LIGHTING • 345 Objects box Click the icons alongside any object in the Objects box to enable or disable illumination, specularity and shadows for that object. Enable the right-most icon if the object’s children should also be affected by the inclusion or exclusion. From left to right: Object icon, Illumination, Specularity, Shadows and Include Entire Hierarchy. To switch off specularity, shadows and illumination for the cube on the left, Mode has been set to Exclude and all icons in the Objects box have been enabled. PyroCluster Illumination, PyroCluster Shadow Casting  These settings will only have an effect if the optional PyroCluster module is installed. See your PyroCluster manual, or, for more details about PyroCluster, please contact your local MAXON representative or visit maxon.net. 346 • CHAPTER 7 Target Light When you choose Objects > Scene > Target Light, a light source and a Null object are created. The null acts as a target for the light. The light source can be any light type of your choosing and you simply move the null into the hierarchy of the object towards which the light should point. Now, when you move this object, the light automatically remains pointing at it. OBJECTS MENU • LIGHTING • 347 Sun Light The sun light source is a special case of a light. It is a light source with its Type set to Distant and Shadow set to Hard (you’ll find both these parameters on the General page of the Attribute manager). Additionally, the sun light source has an expression tag that allows you to define the exact time of day, date and geographical position for the sun. The sun is of particular interest to architects who often want a scene illuminated with a light that has the correct direction and color of the sun. South is in the direction of negative Z-axis of the world coordinate system; the sun will always be here at 12 noon. East (sunrise) is therefore in the direction of positive X-axis, west in the direction of the negative X-axis, and north in the direction of the positive Z-axis. The sun light source is placed far away from the origin of the world coordinate system. Owing to its distant position, it radiates parallel light. The sun shines only if it is above the horizon (day). To animate the sun you should therefore disable the Auto Light option in the render settings (Options page). Otherwise, the scene will be illuminated by the auto light after sunset. The color of the sun depends on the absorption spectrum of the mantle of air around the Earth and is normally yellowish during the day, shifting into the red spectral region as the sun nears the horizon. The sun light is intended for users who want to simulate realistic colors and shades at different times of day, appropriate for landscape planning or house building. 348 • CHAPTER 7 Sun tag In the Object manager, select the Sun tag to display its settings in the Attribute manager. Attribute manager settings Tag Properties Latitude Enter the latitude of the desired location, such as 51.3˚ for London, 40.4˚ for New York, 35.4˚ for Tokyo, 48.5˚ for Paris or 50.1˚ for Friedrichsdorf. Longitude Enter the longitude of the desired location. 0˚ runs through Greenwich, UK. Negative values are west of Greenwich, positive values east. Distance Here you enter the distance of the sun light source from the center of the world axes. The smaller this value, the smaller the circular arc on which the sun travels. Time, Now Enter the local time for the sun light using the upper three Time boxes (from left to right: hours, minutes, seconds). Enter the date using the lower three Time boxes (from left to right: day, month, year). You can also set the date with the help of a calendar. To display the calendar, click the triangle next to the input boxes. Local summer time and other time zone corrections are ignored. For example, subtract one hour from the time during the summer months to obtain Central European Time. To use the system’s current time, click the Now button. OBJECTS MENU • LIGHTING • 349 Interpolate Time, Interpolate Date Use these options to control whether the time and date are interpolated. Examples 1 You want to simulate three days — the sun should fall and rise three times. Enable both options. 2 You want to animate several months with the clock always at 12 o’clock in the daytime. Disable Interpolate Time. Enable Interpolate Date. This prevents the time from being animated while still allowing the data to change. Set Light Color If this option is enabled, CINEMA 4D automatically adjusts the sun light’s color to match the geographical position, time and date. Using the Sun tag with other object types You can drag and drop the Sun expression tag onto other types of object. For example, drag the tag onto a sphere to simulate a moon. 350 • CHAPTER 7 Making gels A gel (also known as a lightmap) is produced by assigning a material with a transparency map texture to a light source. The light’s colored areas are then filtered by this texture and colored in exactly the same way that a slide projector projects a still picture. For example, the striped-shadow effect of a Venetian blind can be simulated by assigning a black-and-white striped gel to a light object. You can assign as many gels as you wish to each light object.  Lights do not use the Texture tags of parent objects. OBJECTS MENU • PARTICLES • 351 Particles Ever wanted to create shark-infested waters, an intergalactic fleet with hundreds of starships, or just some swirly cigarette smoke? CINEMA 4D’s particle system will do all of this for you, and much more, in a very easy and intuitive way.  The optional Thinking Particles module enables you to create high-end, studio-quality particle effects directly within CINEMA 4D. Thinking Particles gives you astonishing control over particle streams with features such as nodes, spawning, object-based collisions and much more. For full details on Thinking Particles, please contact your local MAXON representative or visit www.maxon.net. At the heart of CINEMA 4D’s particle system is the emitter, which ejects a stream of particles. These particles and their shapes can be modified by various parameters and controls to produce, amongst other effects, rotating, deflecting and decelerating particles. It’s a simple as this: - Create an emitter (Objects > Particle > Emitter). - Click the Play icon in the animation toolbar and view the default particle system in the viewport. - Make an object a child of the emitter (a sphere is suitable for now). In the Attribute manager, ensure that the emitter’s Show Objects option is enabled. CINEMA 4D enables you to use any object as particles — not only spheres, but also complex, grouped objects with hierarchies such as a jointed bird or a car. Even light sources can be used as particles. You can create fire or smoke effects very easily using visible lights, and particles can even cast lights and shadows. All objects in the emitter can be fully animated to create, for example, birds that fly and fish that swim. 352 • CHAPTER 7 The particle stream can also contain mixed random particle objects (e.g. a variety of different birds). Simply drag the different objects into an emitter. These particles are then emitted in the same proportion. You can also use a metaball to achieve otherwise difficult effects, such as bubbling liquids. If the particles from an emitter are to be melded together into a metaball, the emitter must be a child of the metaball. The particles move in a straightforward fashion until they arrive within the range of a modifier. Then they are diverted, slowed down, rotated, etc. These modifiers work, by default, in the Z direction of their coordinate system (e.g. the wind blows in this direction); if this is not the case, it will be explicitly pointed out in the text below. Modifiers can be embedded in other modifiers (i.e. nested). Thus a Turbulence modifier within a Wind modifier results in very realistic smoke effects. Almost all the properties of an emitter and the modifiers can be animated. Why not animate the strength of wind for realistic gusts?  Particle effects will only be displayed accurately when played at a constant rate in the Timeline. If you go backwards in time or move more than one frame forward then strange things may happen on the screen. These strange effects happen because the new position of a particle is calculated from the previous position. Therefore you should always reset the time slider to the starting position when adding new modifiers to the particle system.  When playing back you should enable the Animation > Frame Rate > All Frames option, or click on the Animation toolbar’s Options icon and enable All Frames. In order to get an accurate display using the Timeline animation controls, you must single-step through the animation to make sure that no frames are skipped. This doesn’t matter when the scene is finally rendered with the raytracer, since the scene will then be calculated frame by frame from start to end.  When using a light for particles, disable the light’s shadow casting, otherwise the many shadow will slow down rendering greatly.   You cannot use emitters as particles. You’ll find two particle system examples at the end of this chapter, one for light sources as particles, the other for metaballs as particles. OBJECTS MENU • PARTICLES • 353 Baking Particles Under certain conditions it may become necessary to use the Bake Particles command for particle streams. What does this mean? Under normal conditions particle streams are rendered dynamically and sequentially, i.e. the position of a particle in the next frame depends on its position in the previous one. But this can cause problems in two ways ... First of all let’s consider rendering within mixed networks. With the CINEMA 4D NET Render module, the rendering of an animation within a network can be distributed over several computers for faster results. For this type of network rendering a variety of different platforms can be combined, e.g. Power PC, AMD and Pentium processors. Since the floating-point units (FPU) of these processors work slightly differently, the sequential nature of the particle rendering can produce different results on the different platforms. The final output could be a non-continuous particle stream with large gaps in parts along the stream. The solution is to bake the particles before rendering them over the network. The second problem occurs when using several independent particle systems in a scene. In principle all modifiers will always affect all particles of a scene, no matter what the source. If this is not what you want, remedy it by baking the particles. To bake particles: - In the Object manager, select the emitter and choose Objects > Bake Particles. When baked, a particle stream will become frozen in its present condition, i.e. the position, rotation and size for each particle for each frame of the animation is fixed (also in the Timeline, although you won’t notice it). All computers in a NET Render network will now render the particles correctly.  As you might expect, there is a price to pay for these extra particle options: high memory consumption. The data — such as position, speed, situation, lifetime etc. — must be saved for each particle and for each frame. To check the memory consumption of the baked objects, select the objects and in the Object manager, choose Objects > Object Information. 354 • CHAPTER 7 Emitter Attribute manager settings Particle Birthrate Editor Defines how many particles per second are to be created in the viewport. The particles are emitted randomly from the entire surface of the emitter. Birthrate Renderer Defines how many particles per second are to be created in the renderer. The particles are emitted randomly from the surface of the emitter. Visibility Defines how many of the particles should be visible. At first glance, this appears to offer no more than the birthrate settings. However, it is not possible to animate some of the parameters in the particle system, such as the birthrate settings. If you want to vary the intensity of the particle stream over time, animate the Visibility setting. Start Emission, Stop Emission Use these values to define when (in frames) the particle emission should start and end. OBJECTS MENU • PARTICLES • 355 Seed Seed is used to create the pattern of the particle stream. If you copy an emitter, you’ll notice that both emitters generate exactly the same pattern. If you want each stream to be unique, set the Seed of each emitter to a different value. For example, a seed value of 1 will create a completely different stream than a seed value of 0. Lifetime Gives the length of time a particle will be visible. For example, if flying sparks are set to be visible for 20 frames, the particles will disappear after this time. This value also controls the length of the animation sequence in the Timeline. Variation adds a deviation factor to the Lifetime value; i.e. individual particles can live for a longer or shorter time, according to the size of the Variation value. Speed Indicates the speed of the individual particles, in units per second. The higher you set the value, the longer the particle stream will be displayed in the viewport. Variation introduces randomness to the speed. A value of 100% can make individual particles twice as fast, or twice as slow.  The speed can be set to 0. This can be useful if the emitter is animated, such as travelling along a spline, and you want the emitter to leave a trail of particles behind. Negative values can also be used. The emitter will then emit the particle stream in the negative Z direction. Rotation Specifies the amount by which the particles will revolve around a spatial axis. Variation adds a deviation factor to the value. End Scale Defines the final size of the particles relative to their starting size. A value of 0.5, for example, will shrink the particles to half their initial size. Variation defines a variable factor for the scaling so that the particles are sometimes larger or smaller at the end of the animation. Tangential If this option is disabled, the local Z-axis of the individual object particles will always be aligned with the Z-axis of the emitter. If the emitter orientation is animated, the local axes of each particle will be rotated if necessary to maintain this relationship. When Tangential is enabled, object particles are emitted with their Z-axis aligned with the emitter’s Z-axis, but the orientation of each particle’s local axis does not change as the emitter’s orientation changes. Show Objects If this option is disabled, the particles will be displayed in the viewport as lines. The direction and length of each line indicates the direction of flight and current speed of the respective particle — the longer the line, the faster the particle. If this option is enabled, the particles will be displayed in the viewport as objects (provided you’ve made an object a child of the emitter). This display mode can slow down the redraw rate considerably, especially when using complex objects as particles. 356 • CHAPTER 7 Emitter Emitter Type Choose whether the particles will be emitted in the shape of a cone or pyramid. X-Size, Y-Size Give the size of the emitter. You can also scale the emitter by selecting the Scale tool and dragging in the viewport. Angle Horizontal, Angle Vertical These parameters set the value of the emission angle. If Emitter Type is set to Cone, the horizontal range is from 0° to 90°; with the Emitter Type set to Pyramid, the horizontal range is from 0° to 360° and the vertical range is from 0° to 180°. For example, to create a radial emitter, set Emitter Type to Pyramid, set X-Size and Y-Size both to 0, Angle Horizontal to 360° and Angle Vertical to 0°. OBJECTS MENU • PARTICLES • 357 Attractor The Attractor is a radially symmetrical gravitational force. With this modifier you can capture particles in a similar way that the sun captures individual planets. You can also create water whirls with this function. Outside of the range of the Attractor, the particles will move in a linear fashion. Particles inside the attractor’s bounding box are influenced by the attractor’s strength. The size of the bounding box does not influence the strength. Attribute manager settings Object Properties Strength Defines the strength of attraction or, if you enter negative values, the strength of repulsion. Speed Limit To prevent the particles from travelling too quickly in a scene when using large values, define a speed limit with this parameter. Size Defines the size of the Attractor modifier in the X, Y and Z directions. 358 • CHAPTER 7 Deflector Balls colliding with the edges of a billiard table can easily be simulated using the Deflector modifier. A Deflector modifier deflects particles. A realistically animated billiard table could quite easily be created with just five deflectors (one for the surface plus four cushions). The emitter creates just one particle (a sphere for the ball) that never leaves the table, rebounding off the cushions. Beware of using fast moving particles with deflectors. Consider a simple particle moving at a high velocity of 200 units per frame. In the first frame it is 100 units in front of the deflector. However, in the next frame it has moved to 100 units behind the deflector. The deflector algorithm simply does not see the particle and has no chance to influence it. This is a problem common to all particle simulations currently available. The use of the Bake Particles command may help here (Object manager: Objects > Bake Particles). In the Bake Particles dialog, define a higher Samples Per Frame, such as 10. This will ensure that the entire animation, and in particular those frames involving particle calculations, are rendered with a higher time rate (in this case, it would be 10 times higher). The deflector then has a chance of seeing, and thus influencing, the particle. OBJECTS MENU • PARTICLES • 359 Attribute manager settings Object Properties Elasticity Indicates how bouncy the deflectors should be, i.e. the degree of rebound. With a value of 100%, the exit angle is the same as the entry angle. The smaller the elasticity value, the more the particle’s energy is absorbed by the deflector and the more the motion proceeds along the direction of the deflector. Split Beam If this option is enabled, the deflector divides the particle stream. Some of the particles will be deflected, while the remaining particles ignore the deflector and pass through unhindered. Size X, Size Y Defines the size of the Deflector modifier in the X and Y directions. 360 • CHAPTER 7 Destructor The Destructor modifier enables you to destroy (i.e. remove) particles from the particle stream. Particles are affected by the destructor if the origin of their local axes lands within the boundaries of the destructor (the size of the particle object plays no part here).  So that the destructor has a definite effect, i.e. destroys particles, it must have a minimum thickness greater than the distance covered per frame by the particles. For example, if a particle is in front of the destructor at frame 20 and then past the destructor at frame 21, it will not be destroyed, even though it has effectively passed though the destructor. The particle must be inside the destructor to be destroyed at that frame. Attribute manager settings Object Properties Randomness Affects how many particles will survive. 0% n% 100% All particles are destroyed. n% of the particles remain. All particles pass through the destructor. Size The size of the Destructor modifier in the X, Y and Z directions. OBJECTS MENU • PARTICLES • 361 Friction Friction reduces the speed of the particles, even bringing them to a complete standstill. Attribute manager settings Object Properties Strength Gives the strength of the friction, which affects how quickly the particles are slowed down. The friction coefficient can also be a negative value, in which case the particles will be accelerated. Size Defines the size of the Friction modifier in the X, Y and Z directions. 362 • CHAPTER 7 Gravity The gravitational force acts in the negative Y direction only (unlike the Attractor modifier), which is indicated in the viewport by a yellow arrow. Attribute manager settings Object Properties Acceleration Defines the strength of the acceleration due to gravity. A negative value for Acceleration produces repulsion instead of attraction. Size Defines the size of the Gravity modifier in the X, Y and Z directions. OBJECTS MENU • PARTICLES • 363 Rotation Rotation imposes a velocity vector in the XY plane of the modifier that is always tangential to a circle whose radius connects the particle and the modifier’s Z axis. This rotation occurs around. The Z-axis of the Rotation modifier. For an interesting effect, place the modifier with its Z-axis parallel to the direction of the starting point of the particles. This will create a spiral-shaped helical movement. Attribute manager settings Object Properties Angle Speed Gives the rotation speed of the particles about their Z-axes.  Particles may enter the rotation object on faces with normals that are not aligned to the modifier’s Z-axis. However, half of the surface area on those faces have rotational vectors that will cause the particles to rebound away from the rotation modifier. Size Defines the sizes of the Rotation modifier in the X, Y and Z directions. 364 • CHAPTER 7 Turbulence The Turbulence modifier continually assigns random velocities to the individual particles. Interesting effects can be made with an elongated modifier, resulting in twisting effects such as smoke. Attribute manager settings Object Properties Strength The strength of the turbulence. Size Defines the size of the Turbulence modifier in all three directions. OBJECTS MENU • PARTICLES • 365 Wind Wind diverts and disrupts the particle stream in a particular direction. The wind’s direction is represented in the viewport as a fan with a yellow arrow that points in the direction of the wind. The speed at which the fan rotates in the viewport gives you an indication of the wind’s speed. Attribute manager settings Object Properties Wind Speed The strength of the wind. Size Defines the size of the Wind modifier in all three directions. 366 • CHAPTER 7 Examples Particle animation with light sources In this example, we’ll create a comet tail. Create a light source with the Attribute manager settings listed below. Only the values that you need to change are listed — leave other values at their default. General page Color = R 100%, G 50 %, B 0%; Visible Light = Visible; No Light Radiation enabled. Visibility page Outer Distance = 10 m; Relative Scale Z (i.e. the third Relative Scale box) = 200%; Additive enabled. Next, choose Objects > Particle > Emitter to create an emitter. In the Attribute manager, change the following values (again, leave the values that are not listed set to their defaults): Particle page Birthrate Editor = 100; Birthrate Renderer = 100; Speed Variation = 50%. Emitter page X-Size = 30 m; Y-Size = 30 m; Angle Horizontal = 30°; Angle Vertical = 30°. In the Object manager, drag and drop the name of the light onto the name of the emitter to make the light a child of the emitter. Move the time slider some way into the animation and render the picture. To refine the tail, animate the light source parameters. For example, the particles could start with a yellow color, changing to orange then black over time. Why not add a few modifiers? OBJECTS MENU • PARTICLES • 367 Metaparticles In this example, you’ll learn how to combine particles with metaballs. Note that the emitter — including its child — must be a child of the Metaball object. Start by choosing Objects > Modeling > Metaball to create a Metaball object. Now edit the settings in the Attribute manager. As with the first example, only the values that you need to change are listed — leave the other values set to their default. Object page Hull Value = 70%; Editor Subdivision = 15 m; Render Subdivision = 5 m. Next, choose Objects > Particle > Emitter to create an emitter. In the Attribute manager, change the following values (again, leave the values that are not listed set to their defaults): Particle page Birthrate (Editor & Renderer) = 15; Lifetime = 100 F (Variation = 50%); Speed = 500 m (Variation = 50%); End Scale = 0 (Variation 100%). Choose Objects > Primitive > Sphere to create a sphere. In the Attribute manager, set the sphere’s Radius to 35 m. In the Object manager, drag and drop the sphere’s name onto the emitter’s name to make the sphere a child of the emitter. Now drag and drop the name of the emitter onto the name of the metaball. Move the time slider some way into the animation and render the picture. Now experiment!  You must render to the Picture Viewer (Render > Render To Picture Viewer) in order to see a smooth movement of the metaballs — this smoothness relates to the metaball’s Render Subdivision value. OBJECTS MENU • DEFORMERS • 369 Deformers The deformer objects deform the geometry of other objects. You can use deformers on primitive objects, NURBS objects, polygon objects and splines. The deformer will affect its parent object and the hierarchy below that parent. This means that a deformer will affect any object at its level in the hierarchy (since those objects are children of the deformer’s parent) and any object below the deformer’s level in the hierarchy (since those objects are in the hierarchy of the deformer’s parent). However, a deformer will have no affect if it is positioned at the top level of the Object manager hierarchy, since it will have no parent. You can use several deformers on the same recipient. Their order of evaluation is from top to bottom in the Object manager. The evaluation order matters — a twist followed by a bend produces a different result from a bend followed by a twist. The deformer can only work with what you give it. For example, to twist the recipient smoothly, ensure that it has a sufficiently high number of segments/subdivisions along the twist axis. In the Object manager, this means a deformer is active. In the Object manager, this means a deformer is inactive. Clicking this icon turns deformers on and off. All deformers apart from bones are activated automatically when you create them. If a deformer is activated, you will see a green checkmark icon in the Object manager. To deactivate the deformer, click the green checkmark. The icon changes to a red cross. A deformation object has no effect when deactivated. You can also switch off the deformer using the Enabled option on the Attribute manager’s Basic Properties page. You can activate or deactivate all deformers at once by toggling the Use Deformers option on the Edit menu (main window). The deformer cage A deformer cage is cyan colored with orange handles. Use the orange handles to apply the deformer interactively to an object. The Taper deformer’s cage, after some work. 370 • CHAPTER 7 By default, all deformers in CINEMA 4D are represented in the viewport by a cyan cage. The cage and its handles represents how the deformation effect will be applied to the object. You can modify the deformer’s cage in several ways. The two most common ways are by dragging its handles in the viewport or by adjusting its values in the Attribute manager. The following sections on the individual deformer objects give more detail on the relevance of this cage and how it can be adjusted. You can restrict a deformer’s influence using vertex maps and polygon selections.  Activate UVW mapping before you deform objects. This will prevent textures from ‘slipping’. OBJECTS MENU • DEFORMERS • 371 Bend This deformer bends an object. Drag the orange handle on the deformer’s top surface to change the bend interactively in the viewport. Cube with 5x5x5 segments. The same cube with a bend deformation. Attribute manager settings Object Properties Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. 372 • CHAPTER 7 Mode There are three modes for bend deformation. Limited. Within Box. Unlimited. Limited The entire object is affected. Surfaces at a height between the top and bottom of the (undeformed) cyan box are bent and the other surfaces are translated if necessary to accommodate the bend. Within Box Surfaces within the (undeformed) cyan box are bent. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object is bent. Strength Defines the strength of bending. To change this value interactively, drag the orange handle in the viewport. Angle Defines the direction of bending. 0° is the deformer’s local X-axis. To change this angle interactively, drag the orange handle in the viewport. Keep Y-Axis Length If this option is enabled, the object keeps its original length. OBJECTS MENU • DEFORMERS • 373 Bone Modeling characters and moving their limbs and clothes realistically is one of the most challenging and rewarding tasks in 3D. One approach is to divide the character object into several objects and apply inverse kinematics. A downside to this method is that it requires you to split the mesh at the joints, which causes splits in the character’s surface. A better solution is to mimic nature by placing a skeleton (i.e. a hierarchy of bones objects) inside a single character mesh. The character can then be posed by moving the bones. The skin (i.e. the surface) will bend and stretch as the bones move. This approach avoids the problem of split joints and, since the bones are completely separate of the object itself, you can use the same skeleton again with other characters.  The optional MOCCA module gives you outstanding control over character animation. Creating complex, custom character rigs and skeletons is made simple with MOCCA. You can create and edit preset poses and quickly create elaborate character animations by mixing these poses. A new IK system (Soft IK) with built-in dynamics and constraints allows more fluid motion. Easily add secondary motion to your characters or gain even more control over animation parameters. For full details on MOCCA, contact your local MAXON representative or visit www.maxon.net. Bones can be used with all object types including parametric objects, NURBS objects, polygon objects and splines. You can even apply bones to other deformer objects! HyperNURBS and bones You can apply bones to a HyperNURBS object. There is no need to convert the HyperNURBS object into a polygon object. Rather than work with a high-poly object, you can apply the bones directly to the low-poly cage of the HyperNURBS. The bones deform the cage, which in turn deforms the HyperNURBS object. The object is smoothed after the deformation. This method avoids the polygon errors, torn mesh and kinks that are associated with high-poly characters. Animate the cage and the result is a smooth, kink-free surface. In addition, it is much easier and more flexible to work with a low-poly object when using limited radii or even vertex maps. 374 • CHAPTER 7 Attribute manager settings Object Properties Null If this option is enabled, the bone becomes a null bone. You can use this null bone as a parent bone — in other words, as a parent axis system. Smart Bone Enable the Smart Bone option to apply a new bone algorithm. This algorithm is compatible with other 3D software and is also much faster. Once the option is enabled, a second option, Absolute Vertex Map, becomes available. If Smart Bone is disabled, the weighting of the bones is calculated using the function chosen (such as 1/r^2) and the result is multiplied by the default parameters. This corresponds approximately to the standard bone algorithm. Smart Bone enabled is a special mode, primarily meant for the importer filters such as FBX. The weighting for each bone and each point is determined directly by the import plugin. Additionally, the weighting of the bones can be defined directly by a vertex map or Claude Bonet map without having to take other bone parameters into account. In previous versions of CINEMA 4D, these maps were added to the remaining bone parameters. If Absolute Vertex Map is enabled, all other bone parameters will be hidden apart from Null and the maps alone will control the entire weighting. Length Here you can enter the length of the bone. The length extends from the bone’s origin to the orange handle. When a bone is disabled, you can scale the length of the bone by dragging the orange handle at the end. When the bone is active, you cannot scale the bone using the orange handle. Function The function defines how loose or tight the bend at the joints should be. The bend function between two bones in a hierarchy is determined by the function setting of the topmost bone in the hierarchy. The function setting of the child bones has no effect. OBJECTS MENU • DEFORMERS • 375 The higher the power of 1/r, the greater the pull on the surrounding points, as shown in these examples: Function 1/r^2 Function 1/r^10 The bend becomes tighter in the joint region with increasing power for the radius setting. Lower settings are more suited to tube-like objects such as snakes; higher settings are more suited to anatomical joints such as elbows. The function must be defined in the bone at the top of the hierarchy (topmost in the Object manager). This will define the function for all the bones in the hierarchy, regardless of the function value set in those bones. Strength This lets you specify the influence that a bone exerts on a point in comparison to all other bones. Scale Strength If the length of a bone is animated, it can be useful to change its strength proportionately. If you require this behavior, enable this option. Limit Range, Minimum, Maximum If Limit Range is disabled, the bone influences all the object’s points. In order to prevent, say, the head moving when you move the little toe, use Limit Range to restrict the influence of bones. Minimum defines the distances within which all points are transformed completely by the bone (1:1). Points between the Minimum and Maximum distances are transformed softly, generating a smooth stretch. If you set Minimum and Maximum to the same value, the points at the edge tear abruptly. 376 • CHAPTER 7 Limit Range enabled, Minimum set to 35 and Maximum set to 95. The pictures above and below show how, in view of the original horizontal position of the bone: - the volume within the Minimum distance is rotated but not distorted; - the volume between the Minimum and Maximum distances is rotated and distorted; - the volume outside the Maximum distance is not influenced at all. Starting object; plane with bone.  Soft transition at the edge (Minimum = 0) — all points within the Maximum radius are transformed softly. Hard edge (Minimum = Maximum) — all points within the Maximum radius are transformed completely. If you restrict the bones using the Limit Range option, the Minimum and Maximum distances must, on principle, be restricted for all child bones too. As a general rule, restrict all the bones or none at all. OBJECTS MENU • DEFORMERS • 377 Fixation You can use this page among other things to define an irregular scale for a bone, e.g. to create irregular bone radii. Proceed with caution — the sub-systems will be distorted, which can lead to unexpected results. Fixed This option is primarily a visual feedback to indicate whether the bone has already been fixed. For example, disable the option to mark all bones which have yet to be fixed. Fix Bone Fixes the selected bones. Fix With Children Fixes the selected bones and their child bones. Fix Chain Fixes all bones in the same chains as the selected bones. In other words, this command fixes the selected bones, their child bones and their parent bones. Display “Normal” bone display (left) and proxy display (right). The Display tab allows you to display bones as boxes. 378 • CHAPTER 7 Show Proxy Enable this option to display the bone as a box. Start Size, End Size Define the size of the box in the X, Y and Z directions. Start Offset, End Offset These values allow you to move the start and end of the box away from the bone’s position. Laying out a bones hierarchy In this section we’ll create a hierarchy for a HyperNURBS leg. Once the leg is in the viewport, the next step is to create three bones, one each for the thigh, lower leg and foot. We’ll start with the bone for the thigh, since this needs to be the parent of the bones hierarchy (the bones hierarchy will be created automatically, so it is important to start with the parent bone). Choose Objects > Deformation > Bone to create a Bone object. Initially, the bone points in the direction of the Z-axis. You can rotate the bone by dragging the small orange handle at the tip of the bone. Change to the side view and position and rotate the bone to fit neatly inside the thigh (see Figure 1) with the orange handle in the region of the knee. To create the second bone (for the lower leg), we’ll pull it out of the thigh bone. Hold down the Ctrl key and drag the thigh bone’s orange handle to pull out the second bone. Let go of the mouse once the new handle reaches the ankle region. Change to the front view and ensure that both bones run down the middle of the lower leg (if you need to correct their positions, drag the orange handle of the thigh bone then the orange handle of the lower leg bone). When a new bone is created by being pulled out of an existing parent bone, the new bone is automatically a child of the parent bone (Figure 2). OBJECTS MENU • DEFORMERS • 379 Figure 1. Figure 2. Figure 3. We need just one more bone, the foot bone. In the side view, pull the foot bone out from the lower leg bone (Figure 3). Move into the top view and ensure that the bone runs through the middle of the foot.  The bone may spin around its Z-axis when you drag its handle. If this happens, rotate the bone about the Y-axis of the world coordinate system using the Rotate tool instead, otherwise problems may occur later when the bone is animated. Using the Limit Range option The next stage is to restrict the influence of each bone, otherwise each bone will pull on all parts of the leg. For example, if you were to move the foot bone, the thigh would also be distorted! CINEMA 4D gives you three ways to restrict the influence of bones — the first and most simple way is to use the Limit Range option. In the Object manager, hold down Shift and click all three bones to select them all and display their settings in the Attribute manager. On the Attribute manager’s Object Properties page, enable Limit Range and set Minimum and Maximum to 30 and 50. In fact, the exact values do not matter since we shall be adjusting them interactively in the viewport later. What is important is that we enter a value greater than 0 for Minimum, otherwise its handle will not appear in the viewport. Now each bone is surrounded by two capsule-shaped cages in the viewport. This looks a little confusing with the cages of all three bones shown on at once — that’s because all the bones are still selected. So in the Object manager, click the name of one of the bones to select it and display only that bone’s cages. You can enlarge or scale down the cages by dragging their orange handles. When using a HyperNURBS object, you can often set both radii to the same value, since the points of the HyperNURBS cage are usually so far apart that a soft transition occurs automatically. In the Object manager, select the foot bone if it isn’t already selected by clicking its name. The radii for the foot appear in the viewport. Adjust the radii so that they enclose the foot completely (Figure 5). 380 • CHAPTER 7 Now adjust the radii for the lower leg bone until they enclose the entire lower leg and part of the foot. Next, adjust the radii for the thigh bone so that they enclose the entire thigh and part of the knee (Figure 6). Slight overlaps are fine. What is important is that all parts of the leg are influenced by at least one bone, otherwise uninfluenced points will be left behind when the bones are animated, causing the leg to tear. Figure 4 Figure 5 Figure 6 Now it’s time to test the bones. In the Object manager, drag the name of the thigh bone onto the name of the leg to make the bone hierarchy a child of the leg. Lastly, we need to fix the bones. In the Object manager, select the thigh bone (the topmost bone) by clicking its name. On the Attribute manager’s Fixation page, click the Fix With Children button to fix the bone and its children. (You can also fix bones by choosing Objects > Fix Bones in the Object manager). The Attribute manager’s Fixed option is now enabled, indicating that the bones are fixed. The position in which the bones are fixed is their starting position. You can return the bones to their starting position at any time by choosing Objects > Reset Bones in the Object manager. Resetting the bones deactivates their influence at the same time, i.e. they will no longer be fixed. You can fix bones again in the usual way (Object manager: Objects > Fix Bones or click Fix With Children in the Attribute manager). This enables you to change the starting position (move the bones to their new starting position before fixing them again). You can tell if a bone is active by its activation icon in the Object manager: OBJECTS MENU • DEFORMERS • 381  Bones are activated automatically when you fix them. However, just activating the bones will not fix them! You must fix the bones before activating them. Once you have fixed the bones, you can activate and deactivate them as required. You may be wondering what happens if you activate a bone before it is fixed. The answer is simple — the default fixing values of 0,0,0 will be used as the starting position and the object will be deformed accordingly (probably causing extreme distortion of the mesh). Try rotating the bones using the Rotate tool. If some parts of the leg are not moving properly, try increasing the radii for one or more of the bones. You can change the radii interactively even though the bones are fixed. Even if the leg is moving properly, try changing the radii to see how easy it is. The bend at the knee isn’t quite right — the Function setting is too soft. In the Object manager, click the name of the thigh bone (topmost bone). In the Attribute manager, on the Object Properties page, change the Function value to 1/r^10 for a perfect bend. Restricting bones using polygon selections or vertex maps In the previous section we used the Limit Range option to restrict the influence of bones. Bones can also be restricted using polygon selections or vertex maps (or Claude Bonnet maps if you are using the MOCCA module); in fact you can use polygon selections and vertex maps to restrict the effect of any type of deformation object. In the previous section we were able to restrict the bones in a leg quite effectively using radii. However, most conventional life-forms have at least two legs — as you can see in the picture below, the radii on the left leg spill over onto the right leg, causing problems when the legs are animated. 382 • CHAPTER 7 You can solve this problem by defining either a polygon selection or a vertex map for each leg. There is no need to define a restriction for each part of the leg — it is sufficient to restrict each leg as a whole. For our example, a polygon selection per leg is adequate, since the points in the HyperNURBS cage are spread out. If, on the other hand, you are using an object with a high point density, vertex maps are the better option in order to obtain a smooth transition at the edges of bones. In any case, the procedure for both methods is identical, i.e. the following applies to vertex maps as well as polygon selections. The polygon selection will restrict each leg as a whole. This means that we still need to use limited radii (see above) to further restrict each bone, e.g. so that the foot bone of the left leg will only influence the foot region of the left leg. We can use our HyperNURBS leg from the previous section. The bones already use the limited radii that we require. Use the Mirror command (Structure > Mirror) to mirror the leg to create a second leg. Now, select all the polygons of the leg which contains the bones and choose Selection > Set Selection from the main menu. Name the selection ‘left leg’. Now for the really important part — the allocation of the Restriction tag to each bone. We can use multiple selection to assign a tag to each of the three bones in one go. In the Object manager, hold down Shift and click the name of each bone to select all the bones. Choose File > CINEMA 4D Tags > Restriction to add a Restriction tag to each bone. The following settings will appear on the Attribute manager’s Tag Properties page: Here you can specify all the polygon selections and vertex maps that the selected bones should influence. The strength percentage (V) allows you to weight the selected bones for each selection or vertex map. In our example, we use just one selection, left leg. Type ‘left leg’ into the first line (or drag and drop the tag from the Object manager into the box). You can leave the strength setting at 100%. As long as the restriction tags of all bones are selected, the setting is applied to all three bones at the same time. Restriction tag. This will ensure that the bones influence the left leg selection only. When you rotate the bones, you’ll find that only the left leg is affected — exactly what we want. OBJECTS MENU • DEFORMERS • 383 Bulge This deformer makes an object bulge or contract. Drag the orange handle on the deformer’s top surface to control the bulge interactively in the viewport. Cube with 5x5x5 segments. The same cube with a bulge deformation. Attribute manager settings Object Properties Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. Mode There are three modes for bulge deformation: Limited, Within Box and Unlimited. Limited. Within Box. Unlimited. 384 • CHAPTER 7 Limited The entire object is affected. Surfaces at a height between the top and bottom of the (undeformed) cyan box are bulged and the other surfaces are translated if necessary to accommodate the bulge. In the example, the result is the same as Within Box. However, the effect differs when the bulge deformer is moved or rotated. Within Box Surfaces within the (undeformed) cyan box bulge. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object bulges. Strength This is the strength of the bulge. To change this value interactively, drag the orange handle in the viewport. Curvature This value affects the curvature of the bulge. The higher its value, the more curved the bulge. Fillet If this option is enabled, the deformation is softened near the top and bottom. OBJECTS MENU • DEFORMERS • 385 Explosion FX With Explosion FX, you can quickly create and animate realistic explosion effects. It produces clusters out of the object it is deforming, over which you have a great deal of control. To animate the explosion, animate the Time parameter. Attribute manager settings Object Properties Time Drag the Time parameter’s arrowheads to preview the animated explosion in the viewport.  To create a slider for the Time parameter, in the Attribute manager, right-click (Windows) or Command-click (Mac OS) on the Time parameter name. From the context menu that opens, choose User Interface > Float Slider. Explosion Strength, Decay, Variation Strength defines the force used to accelerate the clusters. The value needed for a good effect depends on the size and density of the clusters. Use Decay to set a fall-off for the Strength. 0% means no fall-off, 100% means the Strength falls to 0 by the time it reaches the edge of the blast range. Use Variation to vary the Strength for each cluster. 0% means no variation, 100% means the Strength can vary from zero to twice its entered value. 386 • CHAPTER 7 Direction This sets the direction in which clusters can be accelerated — along all axes, along two axes, or along one axis only. Use Variation to vary the direction of each cluster. This helps you avoid uniform shapes to the explosion. If you have set Direction to a single axis, enable Linear if you want equal force to be applied to all clusters. Blast Time Like Strength, this affects the amount of force applied to the clusters. Change this value only if the maximum Strength value is insufficient. Blast Speed, Decay, Variation Here, enter the blast speed (in metres per second). A cluster remains in place until the blast (green frame) reaches it. If you set Blast Speed to 0, all clusters are accelerated immediately. Use Variation to vary the Blast Speed value. Decay sets fall-off for the Blast Speed. 0% means no fall-off, 100% means the Blast Speed falls to 0 by the time it reaches the edge of the blast range.  If the gravity range (blue frame) is larger than the blast range (red frame), the Decay value refers to the gravity range instead. Blast Range, Variation Object surfaces outside the Blast Range (red frame) are not accelerated by the blast. Use Variation to vary the Blast Range value.  Surfaces accelerated within the blast range can continue travelling beyond the blast range: The blast position is shown here as a white line for illustrative purposes only — usually, the blast position is shown as a green frame. OBJECTS MENU • DEFORMERS • 387 Cluster Thickness, Variation Enter a Thickness value here to give exploding clusters volume. The volume is achieved by extruding the cluster surfaces in the direction of their surface normals. To reverse the direction of the extrusion, enter a negative value. Use Variation to vary the thickness of clusters. Density, Variation Here, enter a density so that the weight of each cluster can be calculated and taken into account. Use Variation to vary the density of clusters.  If you want the explosion to ignore cluster weight, set Density to 0. Cluster Type, Mask, Fix Unselected, Min Polys, Max Polys The Cluster Type defines how clusters are formed from the object’s polygons. Polygons Each polygon forms a cluster. Automatic Choose this setting if you want each cluster to have a random number of polygons. Enter the lowest number of polygons per cluster into the Min Polys box and enter the highest number into Max Polys. Use Selection Tags Each polygon selection forms a cluster. The unselected polygons form a single, unselected cluster. To prevent the unselected cluster from moving, enable Fix Unselected. However, if you type the name of a selection into the Mask box, only two clusters will be formed – one cluster for the named selection, the other cluster for all remaining polygons. 388 • CHAPTER 7 Selections + Polys Each polygon selection forms a cluster. Each unselected polygon also forms a cluster. However, if you type the name of a selection into the Mask box, a cluster is formed for that selection and a cluster is created for each remaining polygon. Disappear, Kind, Start, Duration Enable the Disappear option if you want the clusters to shrink and eventually disappear during the explosion. The Kind parameter controls whether the clusters disappear after a certain time (Time) or distance (Distance). You can enter the Start and Duration as a percentage of time or as a distance in meters. Gravity Acceleration, Variation The Acceleration defines the acceleration due to gravity. By default, this is set to Earth’s value of 9.81. A value of 0 means no gravity. Use Variation to vary the gravity for each cluster. Direction This defines the direction of the gravity effect. To switch off gravity, choose None. OBJECTS MENU • DEFORMERS • 389 Range, Variation Beyond the red radius, only gravity accelerates the clusters. Gravity is limited by the blue radius. This (blue) frame defines the area in which gravity has an effect. However, all clusters inside the blast range (red frame) will be affected by gravity regardless. Use Variation to prevent a perfect sphere of gravity. Rotation Speed, Decay, Variation Speed defines the speed of rotation of the clusters. A negative value reverses the direction of rotation. Decay controls fall-off for the Rotation value. 0% means no fall-off, 100% means the Rotation value falls to 0 as the clusters reach the edge of the blast range. Use Variation to vary the rotation for each cluster. Rotation Axis, Variation By default, each cluster rotates about its center of gravity. Here, you can make clusters rotate around the X-axis, Y-axis or Z-axis only of the world system. This is useful for special effects, logo animation and so on. Use Variation to tumble the clusters. 390 • CHAPTER 7 Special Wind, Variation The Wind value defines the strength of the wind effect. The wind blows in the direction of the exploding object’s Z-axis. Use Variation to vary the wind for each cluster.  Wind does not take object weight into account. Twist, Variation Use Twist to twist the clusters about the Y-axis of the exploding object. Use Variation to vary the twist for each cluster. OBJECTS MENU • DEFORMERS • 391 Explosion The Explosion deformer explodes an object into its constituent polygons. The recipient object explodes from the deformer’s origin. Drag the orange handle to control the state of the explosion interactively in the viewport.  The Explosion object does not support vertex maps. To animate the explosion, animate the Strength parameter. For a complete explosion, set Strength for the first key to 0% and Strength for the second key to 100%. To reverse the explosion (an implosion), swap the keys around. Implosion is especially useful for logo animation. A normal sphere. The same sphere with an explosion deformation. Attribute manager settings Object Properties Strength This value defines the state of the explosion. 0% is the start of the explosion, 100% is the end of the explosion. To change this value interactively, drag the orange handle in the viewport (at the default value of 0%, the orange handle is at the Explosion object’s origin). Speed This value defines the speed of the polygons during the explosion. 392 • CHAPTER 7 Angle Speed This value defines the angle through which each polygon rotates during the entire explosion. The direction of the rotation axis for each polygon is random and changes over the course of the explosion. End Size This value defines the relative size of each polygon at the end of the explosion. If the value is set to 1, the polygons will remain the same size throughout the explosion. If the value is set to 0, the polygons will disappear by the end of the explosion. If the value is 2, the polygons will double in size. Randomness This value defines the percentage by which the speed and angle speed may vary. OBJECTS MENU • DEFORMERS • 393 FFD The FFD deforms objects freely using any number of grid points. The FFD deformer affects vertices of any object that reside within the original unmodified FFD cage. You can animate an FFD deformer using morph targets or PLA.  In contrast to the other deformers, you must edit the FFD in point mode (there are no handles to move, only grid points to manipulate). Cube with 5x5x5 segments. The same cube with an FFD deformation. Attribute manager settings Grid Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. Grid Points X, Y, Z You can use the X, Y and Z values to define the number of grid points in the respective directions. 394 • CHAPTER 7 Formula The Formula object uses mathematical formulae to deform other objects. Drag the handles to control the size of the deformer. All surfaces — including those outside the cyan box — are affected. The default formula creates circular waves. Try dropping the Formula deformer into a sphere and then drag the time slider on the animation toolbar. The Formula box dimensions scale the effect of the formula. Each dimension of the box scales the result of the formula by that dimension. The scale factor is half the dimension: if the dimension has a value of 2, the scale factor is 1. Plane with 40x40 segments. Attribute manager settings Object Properties Size You can use the X, Y and Z values to change the deformer’s dimensions. Effect This value defines how the formula deformation should be applied. When using an effect other than Manual, each vertex is translated in the direction of the effect by an amount equal to the result of the equation. OBJECTS MENU • DEFORMERS • 395 Manual You can enter separate formulae for the X, Y and Z directions. This enables you to combine several formulae. Spherical The effect radiates spherically from the deformer’s origin outwards. Cylindrical The effect starts from the deformer’s Y-axis and travels radially along its X-axis and Z-axis. X Radial The effect starts from the deformer’s origin and travels along its X-axis only. Y Radial The effect starts from the deformer’s origin and travels along its Y-axis only. Z Radial The effect starts from the deformer’s origin and travels along its Z-axis only. d(u,v,x,y,z,t) This is where you enter the formula for all effects apart from Manual. ‘u’ and ‘v’ are parameters that run from 0 to 1 along the horizontal and vertical axes respectively. X(x,y,z,t), Y(x,y,z,t), Z(x,y,z,t) Enter the formula for the X, Y and Z directions here when you have selected a Manual effect. Example cos(4*sqrt(x*x+z*z)-2*t)/sqrt(1+4*sqrt(x*x+z*z)) This formula creates damped circular waves. The time parameter (t) has been introduced so that the waves are animated over time. CINEMA 4D handles this animation automatically when t (time) is present in the formula. 396 • CHAPTER 7 Melt The melt deformer has no cyan bounding box. The recipient object melts radially from the deformer’s origin. Drag the orange handle to control the state of the melt deformation interactively in the viewport. The recipient object will melt onto the Y plane of the deformer’s origin. Consequently, the melt deformer is usually placed at the bottom of the recipient object. Any part of the original object below the deformer’s XZ plane will be truncated. Cube with 5x5x5 segments. The same cube with a melt deformation. Attribute manager settings Object Properties Strength This defines the state of the deformation. If set to 0%, there is no melting. If set to 100%, the object is fully molten. To change this value interactively, drag the orange handle in the viewport. Radius Surfaces within the Radius setting will melt more slowly than the other surfaces. If you set the Radius to 0, the object will be completely flat. Vertical Randomness Defines the variation in downwards motion. OBJECTS MENU • DEFORMERS • 397 Radial Randomness Defines the variation in outwards motion. Melted Size Defines the final width of the recipient object relative to its original width. The default value is 400%. Imagine a melting ice cube — the width of the puddle left behind is naturally much larger than the original width of the ice cube. Noise Scale The higher you set this value, the more irregular the surface becomes during the melt deformation. 398 • CHAPTER 7 Polygon Reduction The Polygon Reduction deformer enables you to reduce the number of polygons of any CINEMA 4D geometric object and operates in a flexible and intuitive way. Polygon Reduction is available from the Objects > Deformation menu and behaves like any other deformer – just choose Polygon Reduction and place the resultant object into the Object manager hierarchy of the object that you want to affect. Why use polygon reduction? Many 3D tasks demand models that use as few polygons as possible. Unfortunately, the various techniques used to create models often means that more polygons are created than are necessary. Worse still, without polygon reduction tools, these models must be reduced by hand. Here are a few examples to show the importance of polygon reduction: - Modern 3D games need characters with low polygon counts for smooth animation in realtime. - Models for the Internet, in formats such as VRML, need a low polygon count for quick download. - Models created by 3D scanners often have an extremely high number of polygons; reducing the number of polygons makes these objects easier to handle. To summarize: reduce the number of polygons for faster renders and lower memory requirements. What does polygon reduction do? The Polygon Reduction deformer works hard to reduce the number of polygons in the chosen object quickly and accurately – this is its mission in life. It always tries to reduce the polygon count according to your wishes and provides many options for user control.  Polygon Reduction works with triangles (not quads) and, if necessary, an automatic triangulation of the object will be performed before reduction. Polygon Reduction is great for simplifying an object mesh, taking care of any resulting mesh inconsistencies (e.g. fold-overs, boundary cracks) but it does not create a dynamic map of this process (for multiple LODs — levels of detail).  Polygon Reduction manages and diminishes the number of polygons in an object but it cannot take care of the exact number of points in the object. Using Polygon Reduction To apply CINEMA 4D’s polygon reduction to an existing object, proceed as follows. - Choose Objects > Deformation > Polygon Reduction to create a new object in the root of the Object manager, named Polygon Reduction. - Rename this object if you wish. OBJECTS MENU • DEFORMERS • 399 - Now move this object into the hierarchy of the object that you wish to affect; you can place the Polygon Reduction object anywhere within an object’s hierarchy – polygon reduction will take place on this object and all its children. It works as a deformer. While the polygon reduction is taking place, information on the process (including the original and the expected final polygon count) will appear in CINEMA 4D’s status bar (bottom left). Attribute manager settings Object Properties Reduction Strength You can use this value to interactively vary the amount of polygon reduction that takes place. The reduction is expressed as a percentage of the original number of polygons (triangles, remember) in the object so that if you choose 50% for an object with 500 triangle polygons, the tool will attempt to reduce the object to 250 triangle polygons. Do not expect this to be an exact science; there may be further reductions due to, for example, any co-planar areas (i.e. faces with polygons all in the same plane) which are always reduced as far as possible. But the Reduction Strength is a great way to quickly reduce or increase the poly count. With a Reduction Strength of 0%, all coplanar neighboring polygons will be fused together and then triangulated. A Reduction Strength value of 100% will result in no change to the object. There are a number of options that allow you to adjust the trade-off between the speed and the accuracy of the reduction. These are now described. Mesh Quality Factor The value assigned here affects the final result of the optimization by determining how much foldover checking is done; a low value reduces the number of checks made while the mesh is reduced, a high value increases the number of checks. You can enter any value between 0 and 20000; use a high value if you have a complex mesh with a high reduction strength, a low value should suffice for simple meshes and/or low reduction values. In general, the value you choose does not affect the speed of the reduction process with the exception that a value of 0 will lead to a faster reduction, since this turns off any checks. As with other options the checks work during the entire reduction process and monitor the appearance of overlapping polygons in the mesh of the object. Here is an example that shows how an overlapped (i.e. folded over) mesh can result from a bad reduction decision and therefore why such checks are necessary. 400 • CHAPTER 7 In Figure 1, below, the triangle (polygon) C has overlapped the A and B polygons of the mesh. Or, perhaps more clearly, with the neighbor triangles of the collapsed edge being vi, vj in Figure 2. A normal reduction should result in Figure 3 (or Figure 4 in 3D). Figure 1. Figure 2. Figure 3. Figure 4. So, start with the default value for the Mesh Quality Factor, which should work fine for the majority of objects and, if you encounter problems, increase the value until the problems disappear. Co-Planar Optimization This option, when enabled, will speed up the work of the reduction process for objects, such as cubes, that have many co-planar areas. When you enable this option Polygon Reduction employs a special, fast method to optimize co-planar areas (areas that have polygons in the same plane) irrespective of the reduction strength factor. If this option is disabled, a different method is used for co-planar areas. As an example, create a cube with 50 segments along each side and then use Polygon Reduction on the cube, once with Co-Planar Optimization enabled and again with it disabled. You should find that the cube reduces considerably faster with the option enabled. Boundary Curve Preservation This option attempts to preserve the original surface continuity of the object. It detects boundaries in the original object that occur either on polygon edges that belong to only one polygon, or on polygon edges that are shared between two polygons with a large difference in surface normals. Surfaces enclosed by these boundaries are reduced in such a way as to preserve as closely as possible the original boundaries, while keeping the resulting boundary and the resulting surface continuous. However, the boundaries of differently reduced surfaces may not meet perfectly: there may be overlaps and gaps. OBJECTS MENU • DEFORMERS • 401 For instance, consider a cylinder. This option will ensure that the cylinder wall will be continuous, and have a continuous boundary at the top and bottom of the side walls that approximates the original boundary. The cylinder will also retain its caps, consisting of polygons that define a continuous boundary that approximates the original boundary. However, the resulting wall and caps may not meet perfectly at their boundaries. Without this option, the polygon reduction process may introduce gaps into the boundaries when reducing the surfaces. As a result, the resulting wall surfaces and wall boundaries will be discontinuous, and the caps may be removed entirely. Polygon Quality Preservation This option, when enabled, monitors the appearance of sliver polygons (i.e. triangles with an angle smaller than 15˚) within the object mesh during the reduction process and tries to eliminate them, if possible. Here is an example of the appearance of sliver triangles as a result of reduction: Enabling this option usually leads to a much better distributed mesh. On the other hand be aware that this check will preserve any already existing sliver triangles (from the original mesh) to the highest levels of reduction. A more thorough explanation and some advice on how to work with these options is given in the Hints and Tips section below. Further usage advice Remember that Polygon Reduction acts as a deformer i.e. you place it within your object structure in the Object manager – it will reduce the polygons of its parent object and all its children. You can use Polygon Reduction on any geometric object (HyperNURBS, Object Primitive, Array etc.). If you apply the deformer to a HyperNURBS object, the deformer can be placed either at the same hierarchy level as the NURBS object, or at the same hierarchy level as the HyperNURBS child object. Since the HyperNURBS operates on the first sub-object in its hierarchy, the deformer should not be the first child object of the HyperNURBS object. The following diagrams illustrate this. A HyperNURBS object before applying Polygon Reduction. The incorrect placing of the Polygon Reduction deformer within the HyperNURBS subobject leads to a strange result. The correct placing of the Polygon Reduction deformer. 402 • CHAPTER 7 As with other deformers you can turn Polygon Reduction on and off using the tick icon alongside the Polygon Reduction object in the Object manager. You can do this at any time that Polygon Reduction is part of the object’s hierarchy. The Polygon Reduction deformer turned on. The Polygon Reduction deformer turned off. Converting the final object While you are working with Polygon Reduction to obtain a reduced polygon count that suits your purposes, the deformer maintains the original mesh and re-calculates as you experiment. When you are fully satisfied with your new object you should select it in the Object manager and use Functions > Current State To Object to produce a new object without the original mesh – then you can delete the original object. Hints and tips Quality first Using Boundary Curve Preservation always gives good results if you want to preserve the original mesh boundaries of non-manifold objects i.e. objects that are not entirely closed. For a manifold object (sphere, capsule, cube etc.) it makes no difference if this check is on or off since the algorithm detects manifold objects automatically and deactivates boundary checks if they are on. Using the Polygon Quality Preservation check is very helpful with objects that have co-planar faces (faces with polygons in the same plane), such as cubes or planes. The result of using this option is that the generated mesh is very well distributed and this leads to a substantially faster reduction process, as long as no clustering-points (points that have a large number of neighboring edges) appear in the reduction process. Tests show that using sliver checks (Polygon Quality Preservation) gives a better mesh when applied to objects with no co-planar faces and a major improvement in the mesh when working with coplanar faces.  With some objects like a cone, a sphere, a circle etc., which have one or more central points in the mesh, around which there are many edges, it is normal for the algorithm to keep the clustering as high as possible at this point, because the point is not generated during the process of reduction, but exists in the base mesh. OBJECTS MENU • DEFORMERS • 403 Here is an example of sliver triangles generated as a result of the reduction (if the Polygon Quality Preservation option is not used): ... and sliver triangles preserved when this option is on, due to their existence in the original object mesh: Such preservation results from the fact that the algorithm detects that collapses in the area of the slivers will lead to other slivers and therefore postpones the reduction. As you can see, adjusting these quality factors can influence very strongly the way in which the reduction process proceeds. In some rare cases the accumulative nature of these options can lead to the prevalence of some checks over others, with the result that no perfect decision for the reduction can be made. This can be observed in some special cases when the sliver check and/or the boundary check prevails over the fold-over check and so the final mesh shows some fold-overs. What happens is that the algorithm reaches a point at which it has to decide either to generate a fold-over, to break the object boundary, or to generate a sliver. So it takes the user-defined quality factor into account and calculates the better decision. In such a case, in order to avoid the fold-over, a higher Mesh Quality Factor should be used. Speed first Generally, all checks will slow down the speed of simplification to a greater or lesser extent. This is because, for every potential edge collapse, each check has to take into account the face areas, vector angles, orthogonal plane distances etc. for every one of the neighboring polygons. General advice Here is some universal advice about the use of Polygon Reduction’s options: - On an object with co-planar faces use Co-Planar Optimization. This will speed up the simplification significantly. - On co-planar objects, if not using Co-Planar Optimization, enable Polygon Quality Preservation. This will generate a really well distributed mesh and will work more quickly than with the option disabled. - Leave the Boundary Curve Preservation option enabled. It will leave the boundaries of nonmanifold objects alone and will not interfere at all when the object is manifold. 404 • CHAPTER 7 Here are some results generated with Polygon Reduction: A 3D head with 6,876 triangles, reduced to 3,437 triangles . The head rendered with 6,876 triangles, 3,437 triangles and 1,715 triangles. A 3D plane with 998 triangles (front) and 20,000 triangles (rear). The same 3D planes showing the object mesh. A reduced sphere with 528 triangles (front) and the original sphere with 8,448 triangles (rear). A 3D co-planar object with a complex boundary – originally with 1,792 triangles (rear); reducing with the Co-planar optimization on results in 20 triangles (front). OBJECTS MENU • DEFORMERS • 405 An example of reduction applied to a non-manifold plane object with complicated boundaries. 406 • CHAPTER 7 Shatter The Shatter deformer has no cyan box. The recipient object shatters into individual polygons, which then fall to the ground. Drag the orange handle (this may be difficult to see when the Strength is set to 0) to control the state of the shatter deformation interactively in the viewport. The shattered polygons will fall parallel to the Y-axis of the deformer. Consequently, the Shatter deformer is usually placed at the bottom of the recipient object. When Strength is greater than 0, any part of the original object below the deformer’s origin will be shifted to the origin height (Y=0). Cube with 5x5x5 segments. The same cube with a shatter deformation. Attribute manager settings Object Properties Strength Defines the state of the shatter deformation. 0% is the start of the shatter effect (no shattering), 100% is the end (pieces shattered and lying on the ground). To change this value interactively, drag the orange handle in the viewport. Angle Speed Defines the angle through which each polygon rotates during the entire shatter deformation. End Size Defines the relative size of each polygon at the end of the shatter deformation (when Strength is 100%). If the value is set to 1, the polygons will remain the same size throughout the deformation. If the value is set to 0, the polygons will disappear by the end of the shatter effect. If the value is 2, the polygons will double in size. OBJECTS MENU • DEFORMERS • 407 Randomness Defines the percentage by which the individual polygon speeds may vary from the perfect, uniform value.  The Shatter object does not support vertex maps. 408 • CHAPTER 7 Shear This deformer shears an object. Drag the orange handle on the deformer’s top surface to control the shear deformation interactively in the viewport. Cube with 5x5x5 segments. The same cube with a shear deformation. Attribute manager settings Object Properties Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. OBJECTS MENU • DEFORMERS • 409 Mode There are three modes for shear deformation: Limited, Within Box and Unlimited. Limited. Within Box. Unlimited. Limited The entire object is affected. Surfaces at a height between the top and bottom of the (undeformed) cyan box are sheared and the other surfaces are translated if necessary to accommodate the shear. Within Box Surfaces within the (undeformed) cyan box are sheared. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object is sheared. Strength This is the strength of the shear. To change this value interactively, drag the orange handle in the viewport. Angle This value defines the direction of the shear. 0° corresponds to the deformer’s local +X-axis. Curvature This value affects the curvature of the shear. The higher its value, the more curved the shear. Fillet If this option is enabled, the deformation is softened near the top and bottom. 410 • CHAPTER 7 Spherify The Spherify deformer attempts to deform the object into a spherical shape according to its Strength setting. The Spherify deformer has two orange handles in the viewport that you can drag interactively to adjust its radius and strength. To increase the smoothness of the spherical deformation, increase the number of subdivisions of the objects being deformed. Subdivided cube before deformation. Strength set to 70%. Strength set to 100%. Attribute manager settings Object Properties Radius Defines the radius of the sphere towards which the objects are being deformed. The deformed objects will have approximately the same radius as this setting if Strength is set to 100%. The Radius is shown in the viewport as a cyan frame. Strength Defines how closely the deformed objects match the size and shape of the Spherify object. OBJECTS MENU • DEFORMERS • 411 Spline Deformer The Spline Deformer deforms objects using two splines: an original spline and a modifying spline. The Spline deformer considers the differences in position and shape of the two splines and deforms the object accordingly. The Spline deformer is especially useful for character modeling and animation. For example, you can use several modifying splines to quickly and easily create various facial expressions or tendons stretching the skin. To use the Spline deformer, draw a spline on the surface of the object that you wish to deform. You can do this in a number of ways: - While you draw the spline, use the snap settings to snap the spline to the polygons of the nearby object. - Draw a spline, switch to the Model tool and, with the spline selected, choose Structure > Edit Spline > Project. Choose a plane for the projection of the spline (so that the spline will ‘fall’ onto the object) and click OK. - Select the object onto which you want to draw a spline, switch to the edge select mode (Tools > Edges), select some edges and choose Structure > Edit Spline > Edge To Spline. - Draw the original spline onto the surface of the object that you want to deform (you may find it helpful to switch on point snapping, or use the Project command or Edge To Spline command). - Copy the original spline and edit the points of this new spline (the target spline) to create the target shape for the object. - In the Object manager, click the Spline deformer’s name to select it and display its settings in the Attribute manager. On the Attribute manager’s Object Properties page you’ll find two boxes, named Original Spline and Modifying Spline. Drag and drop the name of the original spline from the Object manager into the Original Spline box. Then drag and drop the name of the modifying spline from the Object manager into the Modifying Spline box. 412 • CHAPTER 7 Attribute manager settings Object Properties Original Spline Drag and drop the name of the original spline from the Object manager into this box. The original spline should rest on the surface of the object you want to deform. Modifying Spline Drag and drop the name of the new spline from the Object manager into this box. The Spline deformer calculates the difference in distance and shape between the splines and moves the points that are near the original spline accordingly. B-Spline Approximation If the original spline is a B-Spline, you can use this parameter to define the spline’s subdivision. Increase the value for greater accuracy, keeping in mind that higher values take longer to calculate. OBJECTS MENU • DEFORMERS • 413 Radius Low Radius value. High Radius value. The Radius value defines the deformation distance at right angles to the splines. Use Length Enable this option if the two splines have a different number of points. The Spline deformer then spreads out the points internally to improve the accuracy of the deformation. Full Polygons Enable Full Polygons if artefacts appear when the object is deformed. Full polygons will then be taken into account rather than points only. Shape Use the Shape graph to control the function used for the deformation within the radius. For a description of how to graphs in CINEMA 4D, look up ‘function graphs’ in the index. 414 • CHAPTER 7 Spline Rail Spline Rail deforms polygon objects using up to four splines that define the target shape. Before Spline Rail deformation (left) and after (right). Create 1, 2 or 4 splines to form the target shape. The splines must be arranged in a particular way relative to a reference object, which can be the Spline Rail object itself or any other object in the scene. You’ll learn how to arrange the splines and how to assign the reference object in the following section. Attribute manager settings Object Properties Z Spline Left, Z Spline Right These splines should lie on the XZ plane of the reference object (if you do not specifically assign a reference object, the Spline Rail deformer acts as the reference object). As a rule of thumb, the splines should lie in the same viewport as the reference object’s XZ plane. The splines should lie as parallel as possible to the Z-axis and point in the same direction. One of the splines should be to the left of the other. Drag and drop the name of the left spline from the Object manager into the Z Spline Left box. Drag and drop the name of the right spline into the Z Spline Right box. OBJECTS MENU • DEFORMERS • 415 The deformation is directional. The splines should start at the -Z-axis direction of the reference object and end toward the +Z axis direction of the reference object. X Spline Top, X Spline Bottom These splines should also lie on the XZ plane of the reference object and should be as parallel as possible to the X-axis. One of the splines should be above the other and the splines should point in the same direction as the reference object’s X-axis or Z-axis. Drag and drop the names of the splines from the Object manager into the appropriate boxes. Reference The reference object’s Z-axis defines the direction of the Spline Rail deformation. You can use any object as the reference — drag and drop the name of the desired object from the Object manager into the Reference box. If you leave the Reference box empty, the Spline Rail itself is used as the reference object. Mode There are three modes for Spline Rail deformation: Limited, Within Box and Unlimited. Before deformation. Limited. Within Box. Unlimited. Limited Polygons within the cyan box are fitted to the splines. All other polygons are cut off. Within Box Polygons within the cyan box are fitted to the splines. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object is deformed. Polygons between the splines are fitted to the splines. Polygons before or after the splines take the size of the opening. Size Defines the size of the Spline Rail object. The object being deformed must be fully inside the Spline Rail object if you want the polygons to fit the splines completely. Scale Before Start, Scale After End When Mode is set to Unlimited, the deformation also affects polygons that are outside the cyan box. Use these two parameters to control the scale of the deformation outside the box. 416 • CHAPTER 7 Example Suppose that you want to squeeze a cube through a funnel that is represented by two splines. To do this, proceed as follows: - Choose Objects > Primitive > Cube to create a cube. - In the Attribute manager, change segments X, Y and Z to 10. Changing the segments will enable us to create a smoother deformation. - In the viewport, change to the XY view (by default, select View > View 4). This gives us an orthographic view of the XY plane.  We have done this to simulate a circumstance where the spline deformer needs a reference different from its own coordinates. - Choose Objects > Create Spline > Freehand to create a freehand spline. OBJECTS MENU • DEFORMERS • 417 - Hold down the Ctrl key and click to create the first point in the viewport. Ctrl-click and make a second point to create a diagonal line as shown in the picture below. - In the Attribute manager, disable Close Spline on the Object page. This is very important. - Double click on the spline’s name in the Object manager and name it Left. 418 • CHAPTER 7 - Select the Left spline in the Object manager and duplicate it by pressing Ctrl-C (Windows) or Command-C (Mac OS), then Ctrl-V (Windows) or Command-V (Mac OS). This will create a new spline named Left.1. - Select the Model tool and in the Coordinates manager change H to 180. Your splines should now look like those in the picture below. - In the Object manager, double click the Left.1 spline’s name and name it Right. - Choose Objects > Null Object to create a null object. - In the Coordinates manager, change P to 90. This rotates the Null object so that its Z-axis now points in the same direction as the Y-axis of the cube. We will use this null’s coordinates as the reference for our Spline Rail deformer in a moment. OBJECTS MENU • DEFORMERS • 419 - Select the cube and move it along its Y-axis until the top of the cube is level with the top of the funnel, as in the picture below. - Choose Objects > Deformation >Spline Rail to create a Spline Rail object. - In the Object manager, drag and drop the name Spline Rail onto the name Cube to make the Spline Rail a child of the cube. - Click the name Spline Rail to select the deformer; this displays its settings in the Attribute manager. - Drag and drop the name of the Left spline and the name of the Right spline from the Object manager into the Z Spline Left and Z Spline Right boxes (in the Attribute manager) respectively. - Drag and drop the Null Object’s name from the Object manager into the Reference box. 420 • CHAPTER 7 - With the Spline Rail still selected, in the Attribute manager, change Mode to Limited. The Attribute manager should now look like this: - Select the Spline Rail and move it along its Y-axis. The cube will be deformed by the two splines as you move the deformer. Switch to the 3D view if you wish to see the effect in 3D.  As with all deformers, the Spline Rail can be animated using CINEMA 4D’s animation tools. Example You can also use the Spline Rail object to make surfaces follow splines. OBJECTS MENU • DEFORMERS • 421 Taper This deformer narrows or widens objects towards one end. Drag the orange handle on the deformer’s top surface to control the taper deformation interactively in the viewport. Cube with 5x5x5 segments. The same cube with a taper deformation. Attribute manager settings Object Properties Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. Mode There are three modes for taper deformation: Limited, Within Box and Unlimited. Limited. Within Box. Unlimited. 422 • CHAPTER 7 Limited The entire object is affected. Surfaces at a height between the top and bottom of the (undeformed) cyan box are tapered and the other surfaces are translated if necessary to accommodate the taper. Within Box Surfaces within the (undeformed) cyan box are tapered. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object is tapered. Strength This is the strength of the taper. To change this value interactively, drag the orange handle in the viewport. Curvature This value affects the curvature of the taper. The higher its value, the more curved the taper. Fillet If you enable this option, the deformation is softened near the top and bottom. OBJECTS MENU • DEFORMERS • 423 Twist This deformer twists an object about its Y-axis. Drag the orange handle on the deformer’s top surface to control the twist deformation interactively in the viewport.  A deformer can only work with what you give it. If you wish to twist the recipient smoothly, ensure that it has a sufficiently high number of segments/subdivisions along the twist axis. Cube with 5x5x5 segments. The same cube with a twist deformation. Attribute manager settings Object Properties Size You can use the three input boxes to change the deformer’s X, Y and Z dimensions. 424 • CHAPTER 7 Mode There are three modes for twist deformation: Limited, Within Box and Unlimited. Limited. Within Box. Unlimited. Limited The entire object is affected. Surfaces at a height between the top and bottom of the (undeformed) cyan box are twisted and the other surfaces are translated if necessary to accommodate the twist. Within Box Surfaces within the (undeformed) cyan box are twisted. Surfaces outside the box remain exactly where they are (they are unaffected). Unlimited The entire object is twisted. Angle This value is the angle through which the recipient object is twisted. To change this value interactively, drag the orange handle in the viewport. OBJECTS MENU • DEFORMERS • 425 Wind This deformer generates waves on an object. The wind blows in the deformer’s positive X direction. The wind deformer is animated automatically (click the animation toolbar’s Play button). Drag the orange handle on the Z-axis to change the amplitude of the waves interactively in the viewport. Drag the orange handle on the X-axis to change the size of the waves in the X and Y directions. The wave deformer creates a sine wave along its X-axis, with the amplitude in the Z direction. The wave travels in the +X direction over time. At each point along the X-axis of the deformer, the YZ plane is translated in the +Z direction by an amount equal to the wave amplitude. Flag with wind deformation. Attribute manager settings Object Properties Amplitude This value scales the wave function in the Z direction, and the turbulence function in the Y direction. To change the value interactively, drag the orange handle on the Z-axis. 426 • CHAPTER 7 Size This value scales the deformer in the X-axis and Y-axis. Increasing this value will have the effect of increasing the frequency of the waves. If the Flag option is checked, Size will also cause a more abrupt change in the size of the X-axis envelope. Frequency The frequency determines the speed of the waves. Turbulence This setting adds secondary waves in the X direction, with amplitude in the +Z direction. In addition, Turbulence adds a wave in the Y direction, with amplitude in the +Z direction. The percentage defines the size of these secondary waves relative to the main waves. fx, fy These values determine the frequency of the waves in the X and Y directions. Flag If you enable this option, all points along the deformer’s Y-axis remain still (fixed). For example, you can use this to simulate a flag on a pole — one end of the flag flaps freely in the wind, while the other end is fixed to the pole and does not move (place the deformer’s Y-axis along this end of the flag). Flag activated — the wind deformer’s Y-axis is located at the left end of the flag. The left end of the flag is fixed.  Flag deactivated — the entire flag flaps freely in the wind. The left end is no longer fixed. If you have attached a flag to a rope, place the wind deformer in an object group with the rope and the flag. Then, both the rope and flag will move in the wind. OBJECTS MENU • DEFORMERS • 427 Wrap In the viewport, you’ll see that the wrap deformer has a flat surface and a curved surface. The curved surface represents the part of the sphere or cylinder around which the recipient object will be wrapped. The straight surface represents the total area that can be wrapped around the curved surface. If the recipient object is larger than the flat surface, then only the part that lies within the flat surface’s borders will deform correctly onto the curved surface. Drag the orange handles on the X-axis and Y-axis to change the dimensions of the flat surface interactively in the viewport. Drag the handle on the Z-axis to change the radius of the sphere or cylinder. Attribute manager settings Object Properties Width, Height These settings define the width and height of the flat surface. If the recipient is larger than the flat surface, it will wrap onto and beyond the cyan curved surface. If the recipient is smaller than the flat surface, it will wrap on to and within the curved surface (it will not cover the entire curved surface). To change the transform area interactively, drag the orange handles on the X-axis and Y-axis. Radius This value defines the radius of the cylinder or sphere (see below) around which the recipient is wrapped. 428 • CHAPTER 7 Wrap Cylindrical wrap. Spherical wrap. Determines whether the recipient is wrapped around a sphere or a cylinder. Longitude Start, Longitude End These angles define the horizontal span of the curved surface. If Start is set to 180° and End to 360°, the curved surface forms half of the cylinder or sphere in the horizontal direction. Latitude Start, Latitude End These angles define the vertical span of the spherical surface. If Start is set to -45° and End to 45°, the curved surface forms the middle half of the sphere in the vertical direction. Movement You can use this value to specify a movement in the Y direction. This causes the object to wrap in a spiral fashion. You can use a positive value to spiral up or a negative value to spiral down. Scale Z Use this value to simulate the flattening that usually happens when a real-life flexible object is stretched. If you enter 50% instead of 100%, the object will be flattened by 50% in the Z direction. You can enter values greater than 100% if you would like the object to expand on wrapping. Tension This setting enables you to define the strength of the wrap effect. You can set values from 0% to 100%. You can animate the Tension to animate the wrap deformation. To wrap the object completely, set Tension for the first key to 0% and Tension for the second key to 100%. To reverse the wrap effect, swap the keys around. OBJECTS MENU • MANAGING YOUR ENVIRONMENT • 429 Managing your environment Floor Object This command creates a Floor object. The floor always lies in the XZ plane of the world coordinate system, stretching to infinity in all directions (when you render). You may create as many floors as you need and use them all at the same time in CINEMA 4D. You could, for example, use multiple floors as pseudo skies on to which you can add cloud layers of differing transparency. In the following example four floors were used, one for the actual ground and three for the layers of cloud, each one situated higher than the other. If the cloud textures are animated, an extremely realistic effect can be achieved. Floors can be moved and rotated relative to each other. This feature can help you avoid cloud layers appearing identical, by avoiding repeating textures. 430 • CHAPTER 7 Sky Object  By default, only the topmost Sky object in the hierarchy is used. If there are several Sky objects in your scene, you can control which one will be rendered using the Stage object. This command creates a Sky object. In contrast to the Floor object, the sky is an infinitely large sphere, whose center is the origin of the world coordinate system. If you want to apply a texture (e.g. the 2D cloud shader) to the sky, you should use Spherical or Cubic projection. If the clouds appear too large, increase the repetition of the texture’s tiling and ensure Seamless is enabled. Do the clouds seem a little artificial? The possible reason for this is that the clouds have the same tiling in both the X and the Y direction. Adjusting the repetition of the tiling on the Y-axis, making them approximately twice as high as for the X-axis, ensures that the clouds look somewhat pulled in their width and they appear nearer and more natural. Alternatively, you can use several floor objects for the simulation of cloud layers. Aiming the camera directly up will display a problem — the cloud texture tends to gather at the zenith. You can fix this by assigning Shrink Wrapping. For the simulation of a starlit sky, the use of the cubic projection is recommended, as this will avoid unwanted distortions at the poles.  With Environment Fog enabled, the Sky object’s visibility will be lost. OBJECTS MENU • MANAGING YOUR ENVIRONMENT • 431 Environment Object  By default, only the topmost Environment object in the hierarchy will be rendered. If you want to change the environment during an animation, use the Stage object with a parameter track. Use the Environment object to define several global scene parameters such as the scene’s environment light (also known as ‘ambient lighting’).  You can use the Environment object with volumetric shaders. Plugins or the optional PyroCluster module can be used in this way to create effects such as smoke and fog. Simply apply the shader to the Environment object as a texture. Attribute manager settings Object Properties Environment Color  Environment color can be useful for increasing the color contrast — for example, you can use it to introduce complementary colors into the scene. Perhaps you will set a dark blue to contrast with a warm yellow window glow as well as to simulate night. Or imagine a moonlit scene — you can enhance the bright yellow moonlight by using a dark purple environment. Defines the color of the environment light. The environment light illuminates the scene evenly from all sides to simulate the background light of a daytime sky or the indirect lighting of a room light. Environment Strength This parameter is set to 0% by default. If you want to simulate environment light, increase the value to, say, 10% for architectural scenes. However, keep in mind that increasing the strength lowers the contrast in the scene. For this reason you may find you get better results using omni lights instead (with shadows off). 432 • CHAPTER 7 Enable Fog Switches fog on or off. Color, Strength These parameters define the color and brightness of the fog. Distance Environment fog fills the entire screen, stretching to infinity. Distance refers to the fog’s intensity by specifying the distance over which a light beam will lose its intensity completely. As the light loses intensity, the fog color is added. If, for example, you have entered a value of 500 for Distance, a light beam that starts off with 100% intensity will reduce to 20% after travelling 400 units; at the end of a further 100 units, the light will have faded out completely, giving way to the fog color. The shorter the distance, the thicker the fog. Beams that penetrate the fog beyond the limit defined in Distance are absorbed completely by the fog color — if you enable environment fog, you cannot see a sky or a background image. OBJECTS MENU • MANAGING YOUR ENVIRONMENT • 433 Foreground Object, Background Object  By default, only the top-most Foreground/Background object in the hierarchy will be rendered. If you want to change the Foreground/Background object during an animation, use the Stage object with a parameter track. To render (or show in the viewport) a foreground or background image, you may assign a textured material to a Foreground or Background object, just as you would to any other object. For transparent areas, use the Alpha channel. The Foreground object could be a cockpit and instrument display, or simply a notice of copyright or authorship that you want to appear prominently in the scene. Taking the copyright example further, the color in the image you use for the copyright message would be in the shape of the actual text you wish to display. This texture would then be loaded into the Alpha channel property of a material, from where you can use either the Alpha channel itself or clip mapping to isolate and hide from rendering the background of the copyright texture. The background picture might be a landscape, into which your scene will fit. For this you assign a material, with the required texture in its color channel, to the Background object. These images will be neither reflected by your scene’s reflective objects nor lit in any way by the scene. Nor will they change with any change of camera settings. The background image will show through transparent and refractive objects but will not change with altered camera settings. You could compare it to a background layer generated by the Alpha Channel feature, on which the rendered image is then superimposed.  As soon as you have applied a texture to a Background object, it will be shown in the viewport (taking the Offset and Length values in the Texture tag into account). If this display distracts you may switch it off by setting the object’s top visibility dot to red — i.e. click the dot until it turns red (you’ll find the visibility dots in the Object manager, just to the right of the object’s icon).  Any background picture is normally displayed in the 3D viewport only, so as not to distract you when working in the planar views. However, attaching the camera to the view in any viewport will make the Background object appear in all viewports for that view panel. Any background picture already displayed will then be covered by the Background object’s texture. The picture must be loaded in the material’s Color channel. If instead you load the picture into another channel such as Luminance, the picture won’t appear in the viewport. 434 • CHAPTER 7 A CINEMA 4D object (the bridge) fits neatly into both a foreground and a background image (scene by Joachim Hoff). Foreground and background pictures can also be tiled. For this effect, use the Texture tag’s settings. Foreground and background pictures are scaled to the film format during rendering. Transparent sections of the background are ignored. Animations and frame sequences can also be used for foreground and background pictures. In the case of a Background object, these sequences will also be displayed in the viewport. OBJECTS MENU • MANAGING YOUR ENVIRONMENT • 435 Stage Object The Stage object behaves like a movie director. It determines when a camera, an environment, a background and so on are used within an animation. For example, you can create many different cameras in your scene and use the Stage object to decide when to cut to a particular camera. You can also use the Stage object to switch between Sky, Foreground, Background, and Environment objects. You can animate the Stage object to change which objects are used over time. This is especially useful for switching cameras during an animation. For example, you can switch from one camera to another as follows. - Move the time slider to the start of the animation. Drag and the first camera’s name from the Object manager into the Stage object’s Camera box (Attribute manager). - In the Attribute manager, Ctrl-click the circle next to the name ‘Camera’ to create a key that assigns the first camera to the Stage object at the start of the animation. - Move the time slider to the frame at which you want to switch to the second camera. Drag and drop the second camera’s name from the Object manager into the Stage object’s Camera box (Attribute manager). - In the Attribute manager, Ctrl-click the circle next to the name ‘Camera’ to create a key that assigns the second camera to the Stage object at the current frame. If you now play the animation, the animation starts with the first camera and switches to the second camera at the second key. Attribute manager settings Object Properties Camera, Sky, Foreground, Background, Environment To assign an object to the Stage object, drag and drop a Camera, Sky, Foreground, Background or Environment object from the Object manager into the appropriate box. 436 • CHAPTER 7 Selection Object When recording keys in autokeying mode, you can restrict the recording to specific objects by using a Selection object. Then, only those objects that are assigned to the Selection object can be animated. Attribute manager settings Object Properties hierarchy icon Restore Selection If you click this button, all objects that are assigned to the Selection object (i.e. all those in the List box) are selected in the Object manager. List To assign objects to the Selection object, drag and the objects from the Object manager into the List box. Select the Hierarchy icon for each object whose children should be recorded in autokeying mode as well. The hierarchy icon is shown to the right of each object in the list and is red when selected. You can also choose which objects are assigned as follows: - In the Object manager, select the objects that should be assigned to the Selection object. - Choose either Objects > Scene > Selection or Selection > Selection Filter > Create Selection Object. A new Selection object is created and the selected objects are assigned to it automatically. OBJECTS MENU • SOUND • 437 Sound CINEMA 4D provides sound rendering within your scenes. Two different options are available: 2D Sound Rendering and 3D Sound Rendering. With 2D sound rendering you use the Timeline like a multi-track audio mixer (as in many video editing programs). You can create any number of sound tracks, assign WAV files to them and adjust the timing, the volume and the balance, depending upon your requirements. This procedure is suitable for synchronization (e.g. lip-synch, footsteps, a slamming door, an explosion, etc.). 3D sound rendering takes a quite different approach. With this you work with virtual acoustic sources (loudspeakers) and pickups (microphones) as objects. These virtual objects can be positioned freely within the 3D space and also can be animated. CINEMA 4D calculates the appropriate sound data on the basis of the spatial position of these objects, their speed and the preset sound parameters. You can merge this data afterwards with surround sound data in an external program. 3D sound rendering is a most versatile method of sound production and offers many, almost infinite, applications. From a car driving from left to right to an enormous space ship battle with laser beams and explosions in Dolby surround sound, everything is feasible. Playing and scrubbing sound CINEMA 4D enables you to play sound tracks in realtime — backwards as well as forwards. You can also drag the time slider manually to ‘scrub’ the sound. To switch on sound, enable the Play Sound During Animation icon in the animation toolbar. 438 • CHAPTER 7 Loudspeaker This command creates a Loudspeaker object, which is required for the calculation of 3D sound rendering. You can assign a WAV sound file to a loudspeaker object in the Timeline and later record the sound information emitted by the loudspeaker with one or more microphones. Loudspeaker objects are displayed in the viewport as 3D objects (simple loudspeaker shapes), but they are hidden when rendered so that they will not interfere with your scene. Like light sources, the loudspeaker object has handles that you can drag in the viewport to adjust parameter values. For the loudspeaker, these handles enable you to change the playback characteristics of the acoustic source (adjustment, range, etc.). Attribute manager settings Object Properties Show Cone And Falloff The cone defines the falloff range of the loudspeaker. With this option you can decide whether, in the viewport, the effective range (cone and falloff range) of the loudspeaker as well as the associated handles are displayed. This option is enabled by default. Disable the option to avoid cluttering up complex scenes. OBJECTS MENU • SOUND • 439 Outer Cone, Outer Angle Enable the Outer Cone option to limit the falloff of the loudspeaker within a cone defined by Outer Angle. Possible values lie between 0° and 180°, but cannot fall below the value of the inner angle. Inner Cone, Inner Angle  In order to define an inner angle, you must first enable Outer Cone. With Inner Cone enabled, you can define an inner falloff angle (Inner Angle). Within a cone which has this angle as its vertex, the emitted sound has maximum volume; it then gently quietens, until it reaches the surface of the cone defined by the outer angle, where the volume is zero. The permissible values for the inner angle lie between 0° and 180°, but cannot exceed the value for the outer angle. Falloff, Inner Distance, Outer Distance  The type of falloff is only effective between Inner Distance and Outer Distance. The optional falloff values for the loudspeaker define the linear range of the emitted sound. Additionally a type of falloff can be selected. Inner Distance and Outer Distance define the start and end of the falloff. The Falloff setting controls how the sound is to decrease over the falloff distance. None The volume of the loudspeaker does not decrease with distance. This behavior is not particularly realistic and is only included for the sake of completeness. This option is unsuitable for inclusion in surround sound information, since no spatial data can be calculated from it. Linear Generates an even, linear reduction of the volume over distance. The falloff begins at the Inner Distance value and decreases constantly, until it reaches 0 at Outer Distance. Inverse Creates a quick falloff to 0%. This leads to a gentler pickup characteristic if a microphone is placed within the falloff range of the loudspeaker. Inverse Square This is the most natural kind of falloff, which best reflects reality. It is even softer than Inverse. Inverse Cubic Creates an extremely gentle falloff, which reaches maximum volume only briefly after Inner Distance. 440 • CHAPTER 7 Mono Microphone This command creates a mono Microphone object. Microphones are used for the recording of emitted sound information. In order to create 3D sound data, you must use at least one Microphone object. The parameters of the Microphone object resemble those of the loudspeaker object. So you can define a conical effective range and regulate the falloff (and the sensitivity). Microphones are displayed in the viewport as 3D objects (simple microphone shapes), but they are hidden when rendered so that they will not interfere with your scene. As with lights and loudspeakers, there are several handles for interactive adjustment, enabling you to quickly alter the pickup. Attribute manager settings Object Properties Doppler Effect, Strength  As this effect depends on the speed of travel of the loudspeakers (and the microphones), it may be necessary to use values over 100% to reveal the Doppler effect clearly. If you want a Doppler effect to be calculated, enable this option and set the strength of the effect using the Strength parameter. OBJECTS MENU • SOUND • 441 Show Cone And Falloff The cone defines the microphone’s pickup area. With this option you can define whether, in the viewport, the effective range (cone and falloff range) of the microphone, as well as its handles, are displayed. The option is enabled by default. Disable the option to avoid clutter in complex scenes. Outer Cone, Outer Angle Enable Outer Cone to limit the pickup area of the microphone within the cone defined by the Outer Angle. Possible values lie between 0° and 180°, but cannot fall below the value for the inner angle. Inner Cone, Inner Angle  In order to define an inner angle, you must first enable Outer Cone. With this value you have the option to define the inner pickup angle. Within the cone defined by this angle the recorded sound has maximum volume, thereafter it recedes gently until it reaches the edge of the cone defined by the Outer Angle. The permissible values for this angle lie between 0° and 180°, but cannot exceed the value for the Outer Angle. 442 • CHAPTER 7 Falloff, Inner Distance, Outer Distance  The type of falloff is only effective between Inner Distance and Outer Distance. The optional falloff values of the microphone define the range of the pickup area. Additionally a type of falloff can be selected. Inner Distance and Outer Distance define the start and end of the falloff. The falloff controls how the sensitivity of the pickup is to decrease over distance. This shows the various types of microphone falloff, graphically. Pickup sensitivity is shown vertically, distance horizontally. None  If you set Falloff to None for loudspeakers as well as microphones, 3D sound data cannot be calculated. Therefore use this setting only if your loudspeakers already have a falloff behavior assigned. Means that the pickup sensitivity of the microphone does not change with distance. This is the default setting for microphones. Linear Generates an even, linear falloff of the pickup sensitivity. The falloff begins at Inner Distance and decreases constantly until it reaches zero at Outer Distance. Inverse Creates a quick falloff sinking to 0%. This leads to a gentler pickup characteristic, if the microphone enters the falloff range of a loudspeaker. Inverse Square This is the most natural kind of falloff, which best reflects reality. It is even softer than Inverse. Inverse Cubic Creates an extremely gentle falloff, which reaches maximum pickup sensitivity only briefly before Inner Distance. OBJECTS MENU • SOUND • 443 Stereo Microphone Use this to create a stereo microphone. Sound information for the left and right sound channels can be rendered automatically. The stereo microphone object exists primarily to create stereo sound data quickly and easily and differs therefore from the mono microphone previously described and also from the predefined groups of microphones described below. The distance between the two sound channels (stereo) can only be defined for this special microphone object. This generates a single stereo file as its output. Naturally you can also use the Stereo group with two mono microphones. However you then get two separate mono files (one each for the left and right channel), which you have to mix with an external sound program to produce stereo sound. Attribute manager settings Object Properties Stereo Basis This defines the distance between the two, virtual microphones; 200 is the default. You can also change the stereo basis with the appropriate handles, interactively, in the viewport. 444 • CHAPTER 7 Stereo  This ‘stereo’ microphone is not an object in the conventional sense, but a predefined group of objects containing two mono microphones. This function creates a group of objects that contains two conventional, spatially shifted mono microphones. - Microphone_L (for the left stereo channel). - Microphone_R (for the right stereo channel). You can make individual adjustments to the characteristics of both microphones (see ‘Mono Microphone’ earlier in this chapter). OBJECTS MENU • SOUND • 445 DTS 5.1  DTS 5.1 is a standard recording format for many cinema productions. The first number refers to the five sound channels. The front three (left, center, right) use the frequency range from 20Hz to 20kHz and the two surround channels the range from 80Hz to 20kHz. The rear channel is the sub-woofer, which uses only low frequencies in the range between 20Hz and 80Hz.  This ‘surround sound’ microphone is not an object in the conventional sense, but a predefined group of objects containing several mono microphones. The DTS 5.1 (Digital Theatre System) function creates automatically a group of objects which contains six conventional, spatially-shifted mono microphones. - Microphone_L (for the left front loudspeaker). - Microphone_C (for the central loudspeaker). - Microphone_R (for the right front loudspeaker). - Microphone_SUB (for the bass channel, sub-woofer). - Microphone_LS (for the left, rear surround loudspeaker). - Microphone_RS (for the right, rear surround loudspeaker). The WAV files created with subsequent 3D sound rendering can be mixed later in an external sound program for the generation of surround sound data in the DTS 5.1 format. You can define individual values for the pickup characteristic etc. of all microphones (see ‘Mono Microphone’ earlier in this chapter). 446 • CHAPTER 7 DDS EX 6.1  DDS EX 6.1 is a modern method from Lucasfilm TXH and Dolby Laboratories Inc. It uses an additional middle surround channel to offer the listener a particularly good localization of auditory perspectives. Otherwise it is compatible with Dolby digital 5.1. The number ‘6’ from the name refers to the six available channels. The front three (left, center, right) use the frequency range from 20Hz to 20kHz and the three surround channels the range from 80Hz to 20kHz. The rear channel is the sub-woofer, which uses only low frequencies in the range between 20Hz and 120Hz.  This ‘surround sound’ microphone is not an object in the conventional sense, but a predefined group of objects containing several mono microphones. The DDS EX 6.1 (Dolby Digital Surround) function creates, automatically, a group of objects which contains seven conventional, spatially-shifted mono microphones. - Microphone_L (for the left front loudspeaker). - Microphone_C (for the central loudspeaker). - Microphone_R (for the right front loudspeaker). - Microphone_SUB (for the bass channel, sub-woofer). - Microphone_LS (for the left, rear surround loudspeaker). - Microphone_S (for the middle, rear surround loudspeaker). - Microphone_RS (for the right, rear surround loudspeaker). The WAV files created with subsequent 3D sound rendering can be mixed later in an external sound program for the generation of surround sound data in the DDS EX 6.1 format. You can define individual values for the pickup characteristic etc. of all microphones (see ‘Mono Microphone’ earlier in this chapter). OBJECTS MENU • SOUND • 447 SDDS 7.1  SDDS 7.1 works, in principle, like Dolby Digital 5.1. Additionally, however, the number of center channels is increased from 1 to 3. This makes a better sound distribution possible with the large and broad projection screens in cinemas. Otherwise it is compatible with Dolby Digital and DTS. The number ‘7’ in the name refers to the seven available channels. The front five (left, left center, center, right center, right) use the frequency range from 20Hz to 20kHz and the two surround channels the range from 80Hz to 20kHz. The rear channel is the subwoofer, which uses only low frequencies in the range between 20Hz and 120Hz.  This ‘surround sound’ microphone is not an object in the conventional sense, but a predefined group of objects containing several mono microphones. The SDDS 7.1 (Sony Dynamic Digital Sound) command creates a group of objects which contains eight conventional, spatially-shifted mono microphones. - Microphone_L (for the left front loudspeaker). - Microphone_L (for the left center loudspeaker). - Microphone_C (for the middle center loudspeaker). - Microphone_R (for the right center loudspeaker). - Microphone_R (for the right front loudspeaker). - Microphone_SUB (for the bass channel, sub-woofer). - Microphone_LS (for the left, rear surround loudspeaker). - Microphone_RS (for the right, rear surround loudspeaker). The WAV files created with subsequent 3D sound rendering can be mixed later in an external sound program for the generation of surround sound data in the SDDS 7.1 format. You can define individual values for the pickup characteristic etc. of all microphones (see ‘Mono Microphone’ earlier in this chapter). OBJECTS MENU • OBJECT LIBRARY • 449 Object Library On the Objects > Object Library submenu you’ll find a useful collection of pre-built models, including some outstanding human characters made with CINEMA 4D’s HyperNURBS tool. Adding models to the object library You can add your own models to the Object Library menu. This gives you a quick way to add frequently used objects to your scenes. To add your own model to the Object Library menu - Place the scene of the model in CINEMA 4D’s ‘library/object’ folder. Turbo Squid community Choose Objects > Object Library > Turbo Squid to access the world’s largest online collection of digital assets. Turbo Squid includes a dedicated CINEMA 4D community where you can buy and sell assets including fully-textured, ready-to-use 3D models in native C4D format. 8 Tools Menu TOOLS MENU • 453 8 Tools Menu Move This tool lets you place the selected object or element anywhere in a viewport, subject to other options like snap, whether certain axes are locked, etc. When moving objects, CINEMA 4D distinguishes between the world coordinate system and the local object coordinate system. This distinction is especially noticeable when movement takes place in different axial systems and only the X-axis is activated, say. Let’s assume you are moving a cuboid which is positioned somewhat askew relative to the world coordinate system and you have locked the Y-axis and Z-axis for movement. If you move within the world coordinate system, the cuboid moves parallel to the X-axis of the world system (Figure 1). Figure 1. Figure 2. If, on the other hand, you select the object coordinate system, the cuboid moves along its own (the object’s) X-axis, which results in a quite different behavior as you can see in Figure 2. Both can be useful but you should always be aware which you are currently using (check on the Tools menu — if Coordinate System is enabled, world coordinates are in use). The X, Y and Z icons enable you to lock specific axes. This can be useful, for example, when you have constructed an object that is at floor level. If you now move it the perspective views, it changes its Y value and could, in the worst case, end up below the floor. By taking the precaution of locking the Y-axis the object remains on the floor and moves only in the other directions. A left/right drag moves the object horizontally on the screen; an up/down drag moves it vertically. Dragging left and right with the right mouse button (Windows) or Command key (Mac OS) held down moves the object into the screen and out of it. To constrain movement to one axis only, drag the arrowhead at the end of the desired axis. This saves you from having to lock axes manually. 454 • CHAPTER 8 You can also lock the movement to an axis by double-clicking the arrowhead for that axis, which will then turn yellow. You can then drag from any position in the viewport to move the object along the locked axis (you no longer need to drag the arrowhead itself). To change which axis is locked, click one of the other axis arrowheads. To unlock the axis, double-click its arrowhead or one of the other axis arrowheads. To move the selected object without its children, Ctrl-drag the object in the viewport. To constrain (i.e. lock) the movement to a plane, such as the XY plane, hold down Shift and drag the arrowhead for that axis (in this case, drag the Z-axis arrowhead). Release the Shift key once you have started to drag, otherwise the object/element will snap to the grid. When editing textures, mouse movements have a somewhat different effect. A left/right drag of the mouse moves the texture along its X-axis, an up/down drag moves the texture along its Y-axis. Moving multiple objects When multiple objects are selected, a shared axis system appears in the viewport between the selected objects. You can move the objects using the shared axis system or you can move the objects using any one of their object axis systems (click the origin of the object axis system that you want to use). When multiple objects are selected, a shared axis system appears in the center. Click the origin of the object whose axis system you want to use; this object’s axis system then appears. TOOLS MENU • 455 Attribute manager settings Modeling Axis  The modeling axis is designed to be used during the modeling stage. It works with polygon objects in the point, edge and polygon modes. The Modeling Axis tab is described here and is available for each of the following tools: Move, Scale, Rotate, Live Selection, Rectangle Selection, Freehand Selection and Polygon Selection. In previous versions of CINEMA 4D, it was difficult to rotate selected elements around any point other than the center of the selection. This is because the modeling axis — i.e. the pivot point used by the Move, Scale and Rotate tools — was always in the center of the selection. The Model Axis settings introduced in CINEMA 4D R9 allow you to change the position and orientation of the modeling axis. You can adjust the position and orientation of the modeling axis interactively in the viewport using the following keys: - F10-drag: Moves the modeling axis. - F11-drag: Rotates the modeling axis.  You can also access the following Axis and Orientation settings from the context menu: rightclick (Windows) or Command-click (Mac OS) on the modeling axis. Axis Defines the position of the modeling axis. Depending on which mode you select, the modeling axis will be positioned at: World The origin of the world coordinate system. Object The object’s origin. Selected The center of the selected elements. This is the mode that was used prior to CINEMA 4D R9. 456 • CHAPTER 8 Root The origin of the object that is at the root of the hierarchy. Parent The origin of the object’s immediate parent. Bounds The center of an invislbe bounding box that just fits the selected objects. You can offset the position of the modeling axis away from the bounding box center using the X, Y and Z sliders. Points The center of all object points (including points that are not selected). Camera The center of the camera view. Free Any position in 3D space (use F10-drag to move the axis in the viewport). Orientation Defines the orientation of the modeling axis. Depending on which mode you select, the modeling axis will point in the same direction as: Axis Defined by the Axis setting. In other words, the Axis setting (see above) will also be used to control the modeling axis orientation. World, Object, Root, Parent The world axes, the object’s axes, the axes of the object that is at the root of the hierarchy, and the axes of the object’s immediate parent respectively. Normal The average direction of the normals of the selected polygons (the modeling axis points with its Z-axis). Camera The camera. TOOLS MENU • 457 Retain Changes If this option is enabled, the modeling axis will temporarily retain its position after being moved or rotated. For example, suppose Axis is set to Object (in this mode, the modeling axis will be positioned at the object’s origin). You select some polygons and move them to a new position by dragging an axis arrowhead. The modeling axis will move along with the polygons while you are dragging the polygons to their new position. If Retain Changes is enabled, the modeling axis will stay where it is when you release the mouse button. If the option is disabled, the modeling axis will immediately jump back to the object’s origin as soon as you release the mouse button. Along Normals If this option is enabled, selected points, edges and polygons will be scaled or rotated along the average direction of their normals. Object If Axis is set to Object, you can drag and drop any object from the Object manager into this box. The modeling axis will then be positioned at this object’s origin (and will also point in the same direction as this object’s axis system if Orientation is set to Object). X, Y, Z These sliders enable you to offset the modeling axis in the Selected and Bounds modes. Snap Settings Look up ‘snap settings’ in the index. 458 • CHAPTER 8 Scale  When scaling objects, note that you can either use the Model tool or the Object tool. Use the Model tool when you are modeling scale and the Object tool when you are animating scale. For more details, look up ‘Object tool’ and ‘Model tool’ in the index. With this tool you can re-size the selected objects or elements. When in Scaling mode, CINEMA 4D distinguishes between the world coordinate system and the local object coordinate system. The difference between the systems becomes particularly clear if you activate only the X-axis. Imagine you scale a cuboid, which lies inclined in the world coordinate system. If you choose the world coordinate system for scaling, the cuboid becomes larger/smaller parallel to the X-axis of the world coordinate system and is therefore distorted, as illustrated in Figure 1, below. Figure 1. Figure 2. If, on the other hand, you select the object coordinate system of the cuboid when scaling, the cuboid becomes larger/smaller along its own X-axis and does not distort, as illustrated in Figure 2. Scaling is performed by left/right movement of the mouse while holding down the left mouse button (a ‘drag’). When editing textures, mouse movements have a somewhat different effect. A left/right drag of the mouse re-sizes the texture along its X-axis, an up/down drag re-scales it along its Y-axis. The default size of the Y-axis in the object system is 1.0. For example, if you re-size the X-axis from 1.0 to 2.0, the object doubles in size along the X-axis. This results in a distortion of the object system, making precise construction more difficult since all local positions are now also distorted and no longer correspond to the length units of the world system. Therefore we recommend that you do not scale using the Object tool during the modeling process. Use the Model tool instead.  When using the Model tool and Scale tool, some object types, such as parametric primitives, can only be scaled uniformly. To scale these objects non-uniformly, either enter the new size in the Attribute manager or use the Object tool. TOOLS MENU • 459 To constrain (i.e. lock) scaling to one axis only, drag the box at the end of that axis. This saves you from having to lock axes manually. You can also lock the scaling to an axis by double-clicking the box for that axis, which will then turn yellow. You can then drag from any position in the viewport to scale the object along the locked axis (you no longer need to drag the box itself). To change which axis is locked, click one of the other axis boxes. To unlock the axis, double-click its box or any other axis box. To scale the selected object without its children, Ctrl-drag the object in the viewport. To constrain the object’s scaling to a plane, such as the XY plane, hold down Shift and drag an axis box (in this case, drag the box for the Z-axis). Release the Shift key once you have started to drag the object, otherwise the object will snap to the grid. Scaling multiple objects When multiple objects are selected, a shared axis system appears in the viewport between the selected objects. You can scale the objects using the shared axis system or you can scale the objects using any one of their object axis systems (click the origin of the object axis system that you want to use). Attribute manager settings Modeling Axis Look up ‘modexling axis’ in the index. Snap Settings Look up ‘snap settings’ in the index. 460 • CHAPTER 8 Rotate This tool rotates the selected objects or elements when you drag the mouse from an empty space within the viewport. When rotating objects, CINEMA 4D distinguishes between the world coordinate system and the local object coordinate system and you can choose to rotate in either system. As long as the object lies parallel to the axes of the world coordinate system you will not notice a difference when you rotate in either system. But when the object is askew, there can be large differences between rotating in the world or object systems. Drag left or right to rotate the object about its Y-axis. An up/down drag rotates it around its X-axis, and right-drag (Windows) or Command-drag (Mac OS) rotates about the Z-axis. The behavior of the rotation is entirely different if you have switched on the HPB system (Use HPB System enabled on the Units page of the preferences). The HPB angles here refer to the object’s parent system i.e. if the object being rotated is within a hierarchy, the parent object functions as the world coordinates. See also ‘Preventing Tumbling’ below.  If you are using HPB for rotating, the rotation axes behave according to the HPB designators. To constrain (i.e. lock) rotation to one axis only, drag the band for that axis. This saves you from having to lock axes manually. You can also lock the rotation to an axis by double-clicking the band for that axis, which will then turn yellow. You can now drag from any position in the viewport to rotate around the locked axis (you no longer need to drag the band itself). To change which axis is locked, click one of the other axis hoops. To unlock the axis, double-click its band or any other axis band. To rotate the selected object without its children, Ctrl-drag the object in the viewport. Virtual Rotation Circle  The Virtual Rotation Cycle is not available if Use HPB System is enabled in the preferences. When rotating an object you can also use the virtual rotation circle. It is displayed as a yellow circle that is always parallel to the view plane. Drag from an empty part within the circle to rotate in any direction or from an empty part outside the circle to rotate on the same plane as the circle (you may find it helpful to think of the virtual circle as a potter’s wheel that is spinning around). Preventing tumbling When you want to animate an object rotating about one of its axes, you may find that instead it tumbles around in a seemingly haphazard fashion. After working through this section, you’ll understand why this happens and how to prevent tumbling... It’s all to do with HPB. The best way to understand the tumbling issue is to see it in action. The goal here is to tilt a cube and then animate the cube rotating about its Y-axis. It’s not as easy as it sounds! - Choose File > New to start a new scene. TOOLS MENU • 461 - Choose Objects > Primitive > Cube to create a cube. - In the Coordinate manager, under Rotation, set B (bank) to 30° and click Apply to apply the angle to the cube. - In the animation toolbar, disable the Position, Scale and Parameter icons so that only Rotation is active. - Click Record. Open the Timeline if it isn’t already open and you’ll see that a new rotation sequence with a key at frame 0 has been created for each rotation track (H, P and B). - Drag the time slider to frame 50 and click Record. A new key will be created for each rotation track. - Open the Timeline. On the Timeline’s Edit menu, disable the Vector Selection option. Click on the new key for the Rotation.H track at frame 50 and in the Attribute manager, set Value to 360°. - Click Play to view the animation. Although the cube now rotates, it doesn’t rotate about its local Y-axis. Instead, it’s tumbling. Why? As mentioned earlier, HPB rotations refer to the object’s parent system. In this case, the cube has no parent and so instead the HPB rotations refer to the world coordinate system. Thus the cube rotates based on the world system’s Y-axis rather than its local Y-axis. So how can you make the tumbling cube rotate about its Y-axis instead? - Select both of the keys for the Rotation.B track and in the Attribute manager, set the Value for the keys to 0°. - Create a Null object. Make the cube a child of the Null object. - Select the Null object and in the Coordinate manager, set B (Bank) to 30° and click Apply to tilt the null and its child (i.e. the cube). - Click Play to view the animation. The cube now rotates about its Y-axis as desired, thanks to its parent null that provides the necessary rotation axis. 462 • CHAPTER 8 Rotating multiple objects When multiple objects are selected, a shared axis system appears in the viewport between the selected objects. You can rotate the objects using the shared axis system or you can rotate the objects using any one of their object axis systems (click the origin of the object axis system that you want to use). Attribute manager settings Modeling Axis Look up ‘modexling axis’ in the index. Snap Settings Look up ‘snap settings’ in the index. TOOLS MENU • 463 Move, Scale and Rotate with mouse and keyboard Moving, scaling and rotating with the mouse  To move, scale or rotate the selected objects without their children, hold down Ctrl while you drag. You can use the mouse for moving, scaling and rotating. A left/right drag manipulates the X-axis while a back-and-forth drag controls the Y-axis. For the Z-axis you have to use the right mouse button. Macintosh users; as usual, use the Command key to simulate the right mouse button. You can toggle instantly between the left and right mouse buttons. If you are currently pressing the left button, press the right one before releasing the left and vice versa. Moving, scaling and rotating with the cursor keys On the keyboard, use the cursor keys for moving, scaling and rotating. Move/Scale/Rotate along... Cursor key Positive Y-axis Right Negative Y-axis Left Positive X-axis Up Negative X-axis Down Positive Z-axis Shift + Up or Right Negative Z-axis Shift + Down or Left If you are working with the Camera tool selected, it is the camera that is affected. In all other cases the object currently selected is moved, scaled or rotated. Moving, scaling and rotating with the hotkeys Using the built-in hotkeys you can move, scale or rotate either the camera or the selected objects. Result Action Move camera left/right/up/down 1 + drag Move camera forwards/backwards 2 + drag Zoom camera (changes focal length) 2 + right-drag (Windows) or 2 + Cmd-drag (Mac OS) Rotate camera (X and Y axes) 3 + drag Rotate camera (Z-axis) 3 + right-drag (Windows) or 3 + Cmd-drag (Mac OS) Move selected objects 4 + drag Scale selected objects (for animating) 5 + drag Rotate selected objects 6 + drag Scale selected objects (for modeling) 7 + drag 464 • CHAPTER 8 Magnify Use the Magnify command to zoom in on a particular region of the work area. To define that area, drag a rectangle around it. Alternatively, click to zoom in by 25% or Ctrl-click to zoom out by 25%. TOOLS MENU • 465 Modeling modes Default Mode This is the modeling mode that was used prior to CINEMA 4D R9. In this mode, you can select either object elements (such as points, edges or polygons, depending on which tool is selected) or the objects themselves. Auto Switch Mode This mode is designed for use with the Live Selection tool. Move the mouse pointer over a selected object’s elements (points, edges or polygons). When the mouse pointer is over an element, the element will highlight yellow. When you click the mouse, the mode will automatically switch to point, edge or polygon mode depending on whether the yellow highlighted element in a point, edge or polygon. Keep the mouse button held down if you want to select further elements. 466 • CHAPTER 8 Tweak Mode Tweak mode used with the Move tool and Extrude tool. As its name suggests, the Tweak mode gives you a quick way to tweak polygon models. To use Tweak mode: 1. Select a tool that supports tweak mode, such as Move, Extrude or Bevel. 2. Move the mouse pointer over a selected object’s elements (points, edges or polygons). When the mouse pointer is over an element, the element will highlight yellow. 3. Move the mouse pointer over the element that you want to tweak. When the element highlights yellow, drag the mouse to apply the tool to the element. You can tweak any type of object element — be it a point, edge or polygon — regardless of whether you are working in point, edge or polygon mode. A selection is not required, since Tweak mode is designed to tweak individual elements.  Some of the modeling tools do not work in Tweak mode. N-gon Triangulation CINEMA 4D internally triangulates n-gons when rendering or animating them. You can preview these triangles directly in the viewport by enabling the N-gon Lines option in the viewport settings (Filter page). TOOLS MENU • 467 If N-gon Triangulation mode is enabled, an n-gon will be internally retriangulated each time you move one of the n-gon’s points. If the mode is disabled, you can retriangulate the n-gons manually by choose Functions > Retriangulate N-gons. Use Isoline Editing If this option is enabled, all the elements of the HyperNURBS cage object — i.e. its points, edges and polygons — will be projected onto the smoothed HyperNURBS object. This allows you to select these elements directly on the smoothed object. Although at first it may seem like you’re selecting parts of the smoothed object, it is in fact the cage elements that will be scaled, extruded and so on.  Some tools such as Close Polygon Hole do not support this model. These tools will temporarily switch over to the conventional mode. The Use Isoline Editing mode will become active again as soon as you switch over to a tool that supports the mode. Show Axis This mode simply controls whether the axis — be it the object axis or the modeling axis — is displayed for the selected objects and object elements. 468 • CHAPTER 8 Camera With this tool you work with the camera that is being used in the active viewport. All subsequent actions affect the camera in this viewport. In the planar viewports (XY, ZY, XZ) you can move and magnify the displayed area; in the 3D viewport you can change the Editor camera or the Object camera. You can move in the following ways. Keyboard short-cuts Action Result 1 + drag Move camera left/right/up/down. 2 + drag Move camera forwards/backwards. 2 + drag Zoom by moving camera. 2 + right-drag (Windows) 2 + command-drag (Mac OS) Zoom by changing focal length. 3 + drag Rotate camera (X and Y axes) 3 + right-drag (Windows) 3 + command-drag (Mac OS) Rotate camera (Z-axis) Moving the camera To move the camera, select the Move tool and drag from an empty space within the viewport. To move the camera backwards or forwards, right-drag (Windows) or Command-drag (Mac OS) left and right. When moving objects you can choose which axis system you wish to use. Normally, this will have no effect, since the X, Y and Z symbols are all selected. However, if you switch certain axes on or off, you will observe that certain actions will show different results. If for example you have activated the X symbol only and you are working with the world coordinate system, the camera will move parallel to the X-axis of the world system. If on the other hand the object system is selected, the camera will move left and right within its own camera coordinate system. No grid is applied for the camera or the visible section of the document so that you can reach any position, even if a motion grid is active. Movements, scaling and rotation processes may be cancelled at any time by pressing the Esc key. Zooming the camera You can zoom the viewport in one of two ways: by changing the camera’s focal length (just like a real camera’s zoom — note that the perspective will change) or by moving the camera forwards or backwards (just like you might move closer to or further away from the subject that you’re photographing or filming). TOOLS MENU • 469 To zoom by moving the camera forwards or backwards - Select the Scale tool and drag left or right. To zoom by changing the focal length - Select the Scale tool and right-drag (Windows) or Command-drag (Mac OS). Rotating the camera  The 2D viewports cannot be rotated. To rotate the camera about the origin of the selected object (or the world coordinates if no object is selected), select the Rotate tool and drag. If no objects are selected, rotation is about the world origin. To reverse the direction in which the camera rotates when you drag the mouse, in the preferences, on the Common page, enable the Reverse Orbit option. Object Select this tool when you want to move, scale or rotate an object during the animating stage only. If you want to move, scale or rotate during the modeling stage, use the Model tool instead. To move, scale or rotate the selected object, select the Move, Scale or Rotate tool from the Tools menu (or click the appropriate icon on the left toolbar) and drag from an empty space within the viewport. You can also move, scale or rotate by entering new values for these parameters in the Coordinate manager or the Attribute manager. Note that when you scale with the Object tool, the object’s axis system is scaled. This is in contrast to the Model tool, which scales the surfaces. 470 • CHAPTER 8 Points  You can quickly access commands for points from the context menu by right-clicking (Windows) or Command-clicking (Mac OS) on a point. Select this tool when you want to edit an object’s points. All subsequent actions such as rotation and scaling will affect the points. In addition, the Delete function on the Edit menu now refers to the points of the object rather than to the object itself. As soon as the tool is selected, all points of the object are represented by small squares. Selected points are highlighted in color. You can select points using the selection tools or by clicking the points one by one. To add points to the selection, Shift-click the points. To remove points from the selection, Shift-click the points again. To select all points, choose Edit > Select All. Use Edit > Deselect All to deselect all the points. To create new points, Ctrl-click or use the Add Points tool. If the object you are editing is not a 2D/3D object but a spline, the following rules apply: - Ctrl-click to add a point to the end of the spline. - Shift-Ctrl-click to add a point to the start of the spline. - Ctrl-click on the line between two control points to add a new point on the line between the points. - To move a point, drag it to the new position. To delete the selected points, choose Edit > Delete or press the Del key or Backspace key. If you are editing a Bezier spline and you select a point, the associated tangent will be displayed. You can edit the tangent’s ends by dragging them with the mouse. Holding down the Shift key allows you to edit them independently of each other. You can also edit a point by double-clicking on it. A dialog opens that allows you to enter a new position for the point. If you are using a Bezier spline, you can also edit the tangent values here. Alternatively, you can edit the points and tangents using the Structure manager. TOOLS MENU • 471 Edges  You can quickly access commands for edges from the context menu by right-clicking (Windows) or Command-clicking (Mac OS) on an edge. Click this tool when you want to edit the edges of polygons. Selected edges are red. You can select and edit edges in much the same way as for points. To select an edge, drag over the edges with the Live Selection tool, just as you would to select points (or use any other selection tool). To add edges to the selection, hold down Shift while you select. To remove edges from the selection, hold down Ctrl while you select. To select all edges, choose Selection > Select All. To deselect all edges, choose Selection > Deselect All or drag the selection tool over an empty space within the viewport. You can use the Move, Scale and Rotate tools to edit the selected edges. To delete the selected edges (including their polygons), press Delete. Polygons  You can quickly access commands for polygons from the context menu by right-clicking (Windows) or Command-clicking (Mac OS) on a polygon. CINEMA 4D works with three types of polygons: triangles (three corner points), quadrangles (four corner points) and n-gons (more than four corner points). Polygons are edited in much the same way as points and edges. Select a polygon by clicking it. To select multiple polygons (or to add to the selection), Shift-click each polygon that you want to select. Or select polygons using a selection tool such as Live Selection. To create new polygons, choose Objects > Polygon Object. Now add points to this object using the Add Point tool (to learn how to use this tool, look up ‘Add Point tool’ in the index). To delete the selected polygons, use either the Delete command from the Edit menu or press the Del key or Backspace key. 472 • CHAPTER 8 Object Axis  Use the Object axis tool if you want to set move and rotation points for Inverse Kinematics or to align objects created with Duplicate or to create a Lathe NURBS object with a spline contour. The Object Axis tool enables you to modify the axes of the selected object without affecting the object’s points or polygons. Reasons why you may want to do this include (to name just a few): - to help you navigate the selected object easily (the camera rotates around the origin of the selected object’s axis system) - to define the center of rotation for an IK object (IK objects rotate around the origin of their axis system) - to define the center of an object for mirroring (the Mirror command can mirror points based on the position of the object axis system’s origin) Only a few possibilities are given above because there is no need to learn them — they will suggest themselves as you become more familiar with CINEMA 4D. The current position of the axes of the selected object is shown in the Coordinate manager, where you can change all values individually. When rotating or moving the axes of a hierarchical object, all axes of the child objects will be changed. If these child objects have animation tracks, errors will occur in the animation, since the axes of the parent system will have changed. This is why, before creating the animation, it is important to first define the axes. Scaling object axes is a special case. Here, it is not only the axes that are re-sized, but also the points and the textures of the selected object. This is the only method for creating a scale animation. In contrast, model scaling changes points and textures, but does not re-size the axes. TOOLS MENU • 473 Model Select this tool when you want to move, scale or rotate an object during the modeling stage. To move, scale or rotate the selected object, select the Move, Scale or Rotate tool from the Tools menu (or click the appropriate icon on the left toolbar) and drag from an empty space within the viewport. You can also move, scale or rotate by entering new values for these parameters in the Coordinate manager or the Attribute manager. The difference between the Object tool and the Model tool There are two very similar tools in CINEMA 4D that can both be used to move, scale and rotate objects: the Model tool and the Object tool. Before you start animating it is important that you understand the difference between the two and when to use which. The rule of thumb is this: The Model tool is for modeling, the Object tool is for animation. When scaling an object with the Object tool, it is the object axes that are scaled, not the object surfaces themselves. And, especially when scaling an object’s axes non-uniformly (stretched more on one axis than another), the result is that child objects get squashed or stretched when you rotate them and you may begin to wonder what is happening to the objects. If something strange happens to objects when you rotate them, scaled axes are probably involved. You can avoid the problem by always using the Model tool when modeling.  If your model distorts, you can usually repair the damage with the Reset System tool. It is different for animation, however. If you want to animate the size of an object over time, you must use the Object tool. When animating, CINEMA 4D looks only at the object axes, not the geometry. So here it is necessary to scale the axes. If you accidentally use the Model tool and try to record keyframes for an object’s size, nothing will happen, because the axes aren’t scaled. So if you are animating the size of an object and you realize that nothing is actually recorded, you probably used the Model tool. For animation, use the Object tool. 474 • CHAPTER 8 Example Figure 1. Figure 2. Figure 3. Figure 4. Consider a scene with two objects, a (polygon) sphere and a cube (Figure 1). The cube is a child (sub-object) of the sphere. The axial length of both objects is 1/1/1 (the default). - Now choose Tools > Object to select the Object tool. Select the Sphere. In the Coordinate manager’s Size column, set the drop-down list to Scale and set X (Scale) to 2. As we would expect, both the sphere and cube become distorted, as illustrated in Figure 2. - Select the cube. Choose Tools > Rotate to select the Rotate tool (or click Rotate in the top toolbar). Disable the X and Y axes by clicking their icons in the top palette. Now drag from an empty space within the viewport to rotate the cube about its Z-axis. The cube distorts when rotated (Figure 3). The points of the cube no longer obey a circular trajectory while they are rotated in the XY plane. Instead, the distorted parent system causes this movement to be elliptical. And here we have the classic distortion problem. It invariably occurs when objects exist in a distorted parent system. Effects of this type are a fundamental problem in the world of 3D animation. Some users of other 3D software may not encounter this problem because their software uses separate editors for modeling and animating. However, these users lose the convenience of integrated modeling and must switch back to the modeler each time they want to edit the model. To prevent this problem, simply use the Model tool for scaling the sphere. If the damage is already done, choose Functions > Reset System and select the two options, Normalize Axes and Offsets. In either case, the cube will then rotate without distortion (Figure 4). TOOLS MENU • 475 Texture  You can edit one texture at a time only. If multiple Texture tags are selected, the grid lines will not appear and cannot be edited. This enables you to edit the active texture. As soon as you choose this tool the texture of the object is shown and cyan grid lines appear. The mapping (i.e. the type of projection) is taken into account. The grid lines are drawn according to the type of projection chosen, e.g. spherical mapping is shown with a spherical cyan grid. An exception is UVW mapping. Here the grid is displayed over the entire viewport. The texture axes of the object are shown with an envelope on whose surface the texture can be moved and rotated by using the Move, Scale and Rotate tools. A left/right drag of the mouse will move the texture along its X-axis, an up/down drag will move it along its Y-axis. The Scale function uses the same principle, only here the texture does not get moved but re-sized. The data for X and Y — referring to the positioning and dimensions of the texture in the Coordinate manager — are always given as percentages, since the actual size is irrelevant. A size of 100% for both coordinates means that the texture covers the surfaces completely. 476 • CHAPTER 8 Texture Axis  You can edit one texture at a time only. If multiple Texture tags are selected, the grid lines will not appear and cannot be edited. This tool enables you to edit the texture axes of the active texture. As soon as you select the tool, the texture of the object is shown and the texture envelope appears. You can move, scale and rotate the envelope in the usual fashion (by dragging with the Move, Scale or Rotate tool selected). The difference between Texture and Texture Axis is illustrated in the following pictures. In both cases, the movement is along the X-axis; in Figure 1, using the Texture tool the texture is moved on its envelope; in Figure 2, by using Texture Axis, the envelope itself is moved. Figure 1. Figure 2. TOOLS MENU • 477 Inverse Kinematics  Ensure that only one object is selected before using the Inverse Kinematics tool. If multiple objects are selected, the IK tool will be unable to move them. This tool enables you to move hierarchical objects interactively using inverse kinematics (IK). For example, you can grab the hand of an arm and move it to the required position. The arm will follow automatically, obeying any rotation restrictions you have applied to the joints.  The optional MOCCA module features advanced tools to achieve outstanding control over character animation, including a new IK system (Soft IK) with built-in dynamics and constraints that allow more fluid motion. For full details on MOCCA, please contact your local MAXON representative or visit www.maxon.net. Not only is the IK tool useful for animation, it’s also ideal for posing characters. You will need to arrange the objects into a hierarchy and assign Kinematic tags. If you select an object at the end of a hierarchy and move the mouse, CINEMA 4D calculates the distance between the joints automatically and keeps it constant. This prevents the chain (e.g. an arm with several joints) from pulling apart. mouse movement CINEMA 4D’s Figure object is superb for learning IK. To see its Anchor and Kinematic tags, make the figure editable (Functions > Make Editable). 478 • CHAPTER 8 CINEMA 4D’s Figure object is mainly included in CINEMA 4D to help you learn how to set up an IK figure. To create the Figure object, choose Objects > Primitive > Figure. Next, select Functions > Make Editable — this converts the figure into polygons with separate limbs, an existing hierarchy and all the tags you need to get started. To use IK, select the IK tool and the Move tool, click a body part such as a hand, then drag within the viewport. Study the IK and Anchor tags and experiment with their settings.  You’ll find some superb human models on the Objects > Object Library menu. When setting up an IK chain, you can specify angle constraints to prevent limbs moving beyond certain angles using the Kinematic tag. You can also define objects to be anchors using the Anchor tag. These objects cannot be moved using the Inverse Kinematics tool. The IK tool always applies to the selected object. The IK chain is pulled from the object’s origin or, if the object has child objects, from the origin of the first child. Multi-target kinematics With CINEMA 4D’s multi-target kinematics (MTK), you can use multiple targets for the same IK chain. For example, for a leg you might define targets for the knee, ankle and toe, as shown below. Multiple targets give you greater control. Kinematic tag. IK tag. The small crosses are the target objects for the IK limbs. These three target objects give you exact control over the IK chain. Let’s take a closer look at the IK chain (above right). The leg hierarchy is shown — from Parent Object to Toe. An Anchor tag is applied to the parent object to prevent the whole body from whirling around at each leg movement. Angle constraints are assigned to Upper Leg, Lower Leg, Joint and Foot to mimic the real limitations of these joints. TOOLS MENU • 479 Lower Leg, Joint and Toe are each assigned an IK tag (Object manager menu: File > CINEMA 4D Tags > IK). In the Object manager, click the IK tag to display its parameters in the Attribute manager. On the Attribute manager’s Tag Properties page, you’ll find a Target Object box. Drag and drop the object that you want to act as the target from the Object manager into the Target Object box. If you want to prevent the IK limb from moving when assigning the expression, set the target object at exactly the same position as the limb’s object axis (or temporarily switch off expressions with the Use Expressions tool on the left toolbar). Use Expressions tool. Although you can use any type of object as a target, the Null object is a good choice since it has a Display setting that you can use to make the null clearly visible in the viewport even when it is not selected. Knee Target belongs to the IK limb Lower Leg. This means the object axis of Lower Leg always tries to reach the position of Knee Target. It succeeds only as far as the IK constraints make it possible. So don’t over-exert the knee by putting Knee Target too far out of reach. For a smooth movement it is best to have the target objects within reach of the IK limbs. Joint is assigned the target object Joint Target. It enables you to control the position of the ankle. But since the knee has its own target object, the joint is unable to influence Upper Leg. This is where MTK comes in. The IK is processed hierarchically — a target object can influence the IK chain only up to the next parent target object. To prevent Toe from fidgeting, it is also assigned a target object (Toe Target). With this one you are able to control the alignment of the foot. Also, to make it even easier to position the foot, Toe Target has been made a child of Joint Target. So you need to move only Joint Target — Toe Target follows automatically. You only have to move Toe Target separately if really needed. 480 • CHAPTER 8 Animation  Ensure that only one object is selected before using the Animation tool. If multiple objects are selected, you’ll be unable to edit their paths. Selecting this tool lets you edit the animation path of the selected object. You can drag the path’s points to new positions and you can use the Move, Scale and Rotate tools to move, scale and rotate the entire path. The Axes Using these options, you can restrict movement, scaling or rotation to specific axes. For example, to allow movement along the Y-axis only, enable Y-axis and disable X-axis and Z-axis. Now, when you drag with the Move tool selected, the movement will be along the Y-axis only. Use the Coordinate System setting, also on the Tools menu, to choose whether the angles refer to the world coordinate system or the object coordinate system. If Use HPB System is enabled in the preferences (Units page), the HPB designators apply. (The letters HPB stand for heading, pitch and bank.) CINEMA 4D remembers the state of the axes (locked or unlocked) separately for each tool. For example, if you have made a movement along the Y-axis while X and Z were locked with the Move tool, and you then switch to Rotate, all axes are unlocked again. When you change back to Move, the program remembers that only the Y-axis was unlocked for Move. TOOLS MENU • 481 Coordinate System Here you decide in which coordinate system an operation will take place. Not all options work with both systems. Scaling of object axes for example can occur only within the object coordinate system. The object coordinate system is the local system of an object, shown in the viewports by the colored axes; X (red), Y (green) and Z (blue). Each object has its own object coordinate system. For each type of operation, CINEMA 4D remembers the state of the coordinate system. For example, if you have used the Move tool while in the world coordinate system, and then changed to the Rotate tool, the setting switches from world to local. When you change back to Move, the program remembers that the world coordinate system was selected and changes from local to world. The difference between the coordinate systems is very important to animation. If HPB System is enabled in the preferences (Units page), HPB angles will be used for the rotation, independently of the axis system chosen. Internally, CINEMA 4D works exclusively in the HPB system. HPB is an abbreviation for heading, pitch and bank. You may have come across the terms heading, pitch and bank in connection with aircraft. An aeroplane rotates left or right to change its heading; up or down to changes its pitch; and rolls to change its bank. When you are changing angles you may find it helpful to think of an aeroplane. Unlike HPB, XYZ rotations are non-commutative. In other words, the order in which you rotate the axes matters. For example, rotating by the X value then the Y value may produce a different result to rotating Y first. This makes the XYZ system unsuitable for animation. On the other hand, in the HPB system the angles are disassociated. You can first change the heading and then the pitch, or the other way round, and you’ll still get the same result. 482 • CHAPTER 8 Moreover, the HPB angles create naturally interpolated movements that are particularly useful for aeroplanes, cars or cameras. When you rotate around a particular axis in the XYZ system this may cause all three HPB components to change. The result is a tumbling animation. With the HPB system this cannot happen. Although the HPB system is excellent for animation, it is useless when it comes to constructing objects. HPB angles are specified relative to the parent system, which demands a high level of abstraction. So CINEMA 4D offers you the choice. For rotations in the 3D viewport you have the HPB system and the (local or global) XYZ system. You’ll find the Use HPB System option on the Units page of the preferences. However, note that all numeric input is in HPB angles, even if Use HPB System is disabled. Why use HPB? In this section you’ll learn more about why CINEMA 4D uses the HPB system. However, if you’re the kind of artist who hates math, you’ll want to skip these optional details. Some people do not understand why rotations around the Z-axis (the bank angle) are performed in the object system whereas rotations around Y and X axes (heading and pitch) are always made in the world system. With animation, even switching to XYZ rotations doesn’t help since CINEMA 4D is using the HPB system internally. The HPB system is a so-called Euler system where the HPB angles do not refer in principle to the axes of the object itself. Consider this example - Take an object whose angle system is initially 0/0/0. First make a rotation of 30° around heading, so that the X and Z axes of the object system are now rotated compared to the X and Z axes of the world system. Call these new axes X’ and Z’ (Y’ is identical to Y). - A pitch of 20° now causes the object system to be rotated upward around the object system’s X’ axis. Z’ becomes Z’’ and Y’ becomes Y’’ (now X’ and X’’ are identical). - Lastly, we rotate around a bank angle of -45°. This rotation causes the rotated object system to be tilted around the Z’’ axis. X’’ becomes X’’’ and Y’’ becomes Y’’’ (this time Z’’ and Z’’’ are identical). - The object has now achieved an angle system of 30/20/-45 by consecutive rotations around H, P and B on a system in each case already rotated. Thus, HPB rotates neither around object nor around world axes. That bank is identical to a rotation around an object axis is purely coincidental. There are several different Euler systems, each one with a particular rotation order. While this all seems rather impractical, the Euler system has a major advantage: Rotations of objects are decoupled from one another as much as possible, which is not the case with rotations around object axes. Heading does not affect bank, bank does not affect pitch. Imagine if the X position of an object always affected the Y and Z positions ... TOOLS MENU • 483 A further example clarifies the decoupling problem This example should to clarify why CINEMA 4D uses the Euler system. You’ll find this system easy to use once you are familiar with it. - Suppose for a moment that CINEMA 4D doesn’t use Euler angles. Imagine a point on the X-axis in position 100/0/0. - Rotate the point 90° around the Y-axis. It then lies exactly on the Z-axis at 0/0/100. Now keep rotating, this time for 30° around the X-axis. The point now lies in the ZY plane at 0/87/50. - So far, so good. Now, however, you reverse the rotation order. The point at 100/0/0 is still at the position 100/0/0 after a rotation of 30° around the X-axis. Subsequently, you rotate again around the Y-axis for 90°. The point is now at 0/0/100, a completely different position. - So, due to the mathematical properties of rotations, the sequence of rotations around the object axes is not commutative (i.e. rotation A plus rotation B does not equal rotation B plus rotation A). This leads to unexpected results with animation. And finally... If this part of the chapter has seemed complicated, you’re right — it is! Angle systems are not easy to understand. However, CINEMA 4D is one of the few programs to fully integrate both object hierarchies and local coordinates. Other programs tend to compromise on functionality; either they do not have real object hierarchies, or they have a separate modeler and animator with limited integration, or they have difficulty in creating complex, hierarchical animation. CINEMA 4D is a fully integrated product, providing you with a multitude of fascinating possibilities and features that simply are not possible in many other packages. Let your imagination take over! Camera Rotation By default, when you use the Rotate Camera viewport icon, the camera rotates around the active objects. If you enable this option, the camera will rotate around its own axis instead. 9 Selection Menu SELECTION MENU • 487 9 Selection Menu Selection Filter  To enable one option and disable all others, hold down Ctrl and, from the menu, choose the option you want to enable. Use this menu to choose which types of object can be selected in the viewport (by default, all object types are selectable). Enable an option to enable selection for that object type, or disable the option to prevent selection.  You can still select objects in the Object manager even if their object types are disabled. The Selection Filter refers to selections in the viewport only. These options are especially useful when you are working with large projects. Suppose there are dozens of lights, cameras, bones, polygon objects and splines in the scene and currently you’re working on the polygon objects. To make it easier to select the polygon objects in the viewport, disable all options on the Selection Filter menu apart from Polygon. Then you’ll be able to select polygon objects only in the viewport. The names of any Selection objects you have set up will also appear in this menu. Select the name of a Selection object to quickly select that entire group of objects. Select Tool Use this tool to select like objects or like tags. For example, you can select all lights, all nulls or all Texture tags. After choosing the command, the Select Tool dialog opens. There are two pages in this dialog: one for objects and one for tags. 488 • CHAPTER 9 Object tab Enable the options for the types of objects you want to select. For example, to select all nulls and all bones (but no other types of object), enable Null and Bone and ensure the other options are disabled. Types of object not present in the scene will be ghosted. Suppose you have ten lights in your scene set to the same brightness and arranged around a car. You want to adjust the brightness because the render is too bright. First you need to select all the lights, and you can do this quickly by enabling Light in the Select Tool dialog. Likewise, you might want to select and then hide all deformation objects once you’re done editing them, or select all Target tags and then make them point at the same object, and so on. Each option has three states: disabled, enabled and semi-enabled. To change an option’s state from disabled to enabled or vice versa, click the option’s box. Enabling an option selects all objects of that type, disabling deselects them. For example, to select all lights, enable Light. To deselect them again, disable the option. The three states are shown below — in this case, for the Polygon option. Disabled. All Polygon objects are deselected. Enabled. All Polygon objects are selected. Semi-enabled. One or more, but not all, Polygon objects are selected. When you see the semi-enabled state, it means that some — but not all — objects of that type are already selected. Click a semi-enabled option to disable it, and click again to enable it. When using the Select Tool, you can still select objects in the viewport and Object manager. The options in the Select Tool dialog update to reflect the changes to the selection. SELECTION MENU • 489 Tags tab Enable the options for the types of tags you want to select. Types of tag not present in the scene will be ghosted. Restrict to Active Objects Enable this option if you want to select like tags of the selected objects only, rather than all like tags in the scene. For example, suppose you have ten characters in the scene, each with many Texture tags, and you want to select the Texture tags of Bob and Lisa only. In the Object manager, or in the viewport, select Bob and Lisa. On the Tags page of the Select Tool dialog, enable Restrict To Active Objects and enable Texture. Only those Texture tags belonging to Bob and Lisa will be selected. The other tags will be ignored. Create Selection Object This command creates a Selection object and assigns to it all currently selected objects. 490 • CHAPTER 9 Main selection tools  When using the Move, Scale or Rotate tools, you can click to select individual points. Live Selection. Rectangle Selection. Freehand Selection. Polygon Selection. This group of selection tools — Live, Rectangle, Freehand and Polygon Selection — enables you to select points, edges and polygons in various ways. CINEMA 4D remembers the selection for each selection tool. When you return to a selection tool, that tool’s previous selection is re-selected. You can use the selection tools with polygon objects, splines and with some deformation objects such as the FFD object. The following applies: Adding to or removing from the selection: - To add an element to the selection, hold down Shift while you select. - To deselect a selected element, hold down Ctrl while you use the selection tool. In the viewports: - Selected points, edges or polygons are highlighted red. Live Selection Live Selection is like a paintbrush mode where you paint over the points, edges or polygons that you want to select. Set the size of this ‘selection brush’ using the Radius setting in the Attribute manager. While holding down the mouse button, the radius can be changed with the mouse wheel. Rectangle Selection This tool enables you to select points, edges or polygons by dragging a frame over the elements. Freehand Selection Freehand selection behaves like a lasso. Drag to draw a loop around the elements you want to select. As soon as you release the mouse button, the loop is closed automatically. Polygon Selection This selection tool enables you to draw an n-sided shape to frame the elements that you want to select. The first click defines the starting point of the n-side and subsequent clicks define the n-side’s corners. To complete the n-side, click the starting point or right-click (Windows) or Command-click (Mac OS). SELECTION MENU • 491 Attribute manager settings Options Radius (Live Selection) This determines the radius of the Live Selection brush. While holding down the mouse button, the radius can be changed with the mouse wheel. Pressure Dependent Radius (Live Selection) If you own a graphics tablet, you can enable this option to make the radius dependent on the pen pressure. The Radius value defines the maximum radius, i.e. the radius when full pen pressure is applied. Graphics tablets are recognized automatically in CINEMA 4D. MAXON recommends a WACOM tablet or a tablet that conforms to the Wintab standard. Only Select Visible Elements  When using the Live Selection tool, keep in mind that it uses more RAM when Only Select Visible Elements is disabled. Therefore, only disable this option when necessary. When this option is enabled you can select only polygons that aren’t behind other polygons. For example, if you’re selecting polygons at the front of a sphere, polygons at the back of the sphere will not be selected, even if you’re working in wireframe mode and can see the polygons at the back. Another way to prevent polygons at the back from being selected is to switch on backface culling, which hides these polygons from the viewport. In addition, you can also hide polygons to prevent them from being selected using the Hide Selected and Hide Unselected commands from the Selection menu. Lastly, set an object’s top visibility dot to red to hide that object and to prevent its elements from being selected. (You’ll find the visibility dots in the Object manager, next to the object’s icon.) Tolerant Selection (Rectangle Selection, Freehand Selection, Polygon Selection) This option makes sense only in polygon mode. Enabling the option means that an edge or polygon will be selected if any part of it is inside the selection marquee. If the option is disabled, the polygon or edge will only be selected if all of its corner points are inside the marquee. 492 • CHAPTER 9 Tolerant Edge Selection (Live Selection) This option applies to edge mode only. If the option is enabled, an edge will be selected if the Live Selection tool touches any part of it. If the option is disabled, the edge will only be selected once 75% or more of it has been painted. Mode (Live Selection) Normal This is the standard mode for the Live Selection tool. It hides away the vertex painting and soft selection settings. Vertex Painting  You can also set vertex weights using the Set Vertex Weight command (Selection menu). You can use the Live Selection tool not only to select but also to paint vertex maps or weights. Select the Points tool and drag over the vertices to paint them. To see the weighting in color, ensure the viewport’s display is set to Gouraud Shading or Quick Shading. In addition, you can choose if the Live Selection should paint a specific weight or whether it should lighten or darken the existing weighting (set Mode to the desired operation: Set, Add or Subtract — Strength defines how much weight to set, add or subtract). A new vertex map will be created when you paint unless an existing vertex map is selected in the Object manager. Therefore if you want to paint an existing vertex map, select this map in the Object manager before you paint the vertices with the Live Selection tool. If you own a graphics tablet, you can make the radius and strength dependent on the pen pressure by enabling the Pressure Dependent Radius and Pressure Dependent Strength options. SELECTION MENU • 493 Soft Selection The soft selected polygons before (left) and after (right) being moved up the Y-axis. Selecting polys with soft selection allows you to move them with a smooth interpolation between themselves and the unselected polygons. Increase the Radius value to affect a greater number of polygons. Soft selected elements can be editing using the Move, Scale and Rotate tools. Rubber The soft selected elements will behave more like rubber when moved, scaled or rotated if this option is enabled. Rubber mode tends to work best with low Strength values. Falloff Here you can control how the effect falls off. You can choose from the same modes that are available for the Magnet tool, as well as a new type — Vertex Map — that uses a vertex map to define the falloff. 494 • CHAPTER 9 Mode In clockwise direction starting from top left: the selected surfaces, Group mode, All mode, Center mode. The Mode defines where the radius starts. Choose from the following: - Group: The radius starts from the center of each selected element group. - Center: The radius starts from the common center of all selections. - All: The radius starts from the edges of the selection. Graph Here you can define a custom falloff if Falloff is set to Spline. To learn how to use graphs in CINEMA 4D, look up ‘function graphs’ in the index. Modeling Axis Look up ‘modeling axis’ in the index. HyperNURBS Weights (Live Selection) Look up ‘HyperNURBS, weighting’ in the index. SELECTION MENU • 495 Loop Selection You can select loops in all three modes (point, edge and polygon) using this selection tool. What are loops? Loops are elements (points, edges or polygons) that are connected together in the shape of a loop. Loops are commonly used when modeling 3D characters because they help to ensure perfect deformation when a character is animated or posed using bones. These loops frequently need to be edited. Loop Selection gives you a quick way to select the loops. From top to bottom: Loop Selection in polygon, edge and point mode. To use Loop Selection, move the mouse pointer over part of the loop (or loops) that you want to select. When the loop highlights yellow, click to select that loop. You can influence the length of the loop by dragging instead of clicking. Attribute manager settings Options Stop At Boundary Edges The option only makes sense in point mode or edge mode. If the option is enabled, the loop will stop at boundary edges, This results in an open point loop or edge loop. If the option is disabled, the algorithm will try to highlight a closed loop by ‘bending’ the loop around a boundary edge. 496 • CHAPTER 9 Stop At Boundary Edges enabled (left) and disabled (center); Select Boundary Loop enabled (right). Select Boundary Loop If enabled, this option allows only boundary loops to be selected.  If the tool doesn’t seem to be working, check that this option is disabled. It allows only boundary loops to be selected. SELECTION MENU • 497 Ring Selection This tool is the same as Loop Selection except it selects elements that form a broad ring-shape. The tool works in all three modes (point, edge and polygon). From top to bottom: Ring Selection in polygon, edge and point mode. Outline Selection In polygon mode, this tool selects the edges that outline the selected polygons. Move the mouse pointer over the polygon selection. When the edges that outline the selection highlight yellow, click to select the edges — edge mode will be activated automatically. This tool selects the edges that outline the selected polygons.  This tool also works in edge mode — existing polygon selections can be selected. 498 • CHAPTER 9 Fill Selection In edge mode, Fill Selection creates a polygon selection from an existing edge selection (preferably closed). Move the mouse pointer over the edge selection. When the polygons for the selection highlight yellow, click to select those polygons — polygon mode will be activated automatically. Creating a polygon selection from a closed edge selection using Fill Selection. Convert Selection With this command you can convert one type of selection to another, such as a polygon selection to a point selection. After choosing the command, the Convert Selection dialog opens. You’ll find two columns in the dialog. The left column defines what you’re converting from and the right column what you’re converting to. For example, to convert a point selection to a polygon selection, enable Points in the left column, enable Polygons in the right column and click OK. CINEMA 4D will switch to polygon mode automatically so that you can see the new polygon selection in the viewport. The two options named Current represent the current selection mode. This can be points, edges or polygons depending on whether the Points, Edges or Polygons tool is selected. For example, if the left column is set to Current and the right to Polygons, the following applies: - If the Points tool is selected, the point selection is converted to a polygon selection. SELECTION MENU • 499 - If the Edges tool is selected, the edge selection is converted to a polygon selection. If the Tolerant option is enabled, all neighboring elements are selected. Suppose you’ve selected a point on a Cube and you want to convert this to a polygon selection. If Tolerant is enabled, all polygons that use the point will be selected. If Tolerant is disabled, no polygons will be selected.  You can also convert the selection by Ctrl-clicking the appropriate tool. For example, to convert a point selection to a polygon selection, Ctrl-click the Polygons tool. Select All, Deselect All  The Select All command does not selected hidden elements. With these commands you can select or deselect all points, edges or polygons of the selected object. For example, to select all points, select the Points tool then choose Select All. Invert This command inverts a selection. All selected elements (points, edges or polygons) are deselected and all deselected elements are selected. Hidden elements are not inverted. Select Connected Before choosing Select Connected. After choosing Select Connected. Polygon objects and splines often consist of several segments that are not connected by polygons or spline curves. If you wanted to select one of these individual segments completely you might encounter problems if this segment overlaps with other segments; it can be difficult to see which elements belong to this segment. In this case, select at least one point, edge or polygon of the required segment and choose Select Connected. All points, edges or polygons connected to the selected element will then be selected as well. If you are in polygon mode, only connected polygons are selected; in edge mode only connected edges are selected; in point mode only connected points are selected. 500 • CHAPTER 9 Grow Selection The initial selection. Adjacent polygons are now also selected. With this command you can add to a selection. All adjacent points, edges or polygons (depending on which mode you are in) are added to the current selection. Shrink Selection Before using Shrink Selection. After using Shrink Selection. This command shrinks the selection by deselecting all points, edges or polygons (depending on which mode you are in) at the edge of the selection. If the polygon is closed (for example, a sphere) and you select all polygons, you cannot shrink the selection since it has no edge. Hide Selected Hides the currently selected elements (points, edges or polygons). If you hide selected polygons, their points are hidden also. However, in point mode, only the selected points are hidden, not the edges or polygons attached to them. Hiding elements is especially useful when modeling complex objects. Sometimes you may find you can work faster if you hide all the elements apart from the ones you’re currently working on. SELECTION MENU • 501 Hide Unselected This command hides all unselected elements of the same type as the selection tool. If you hide unselected polygons, their points are hidden also. However, in point mode, only the deselected points are hidden, not the polygons attached to them. Unhide All This command makes all hidden elements visible again. If a point, line, or polygon selection tool is active, then this command unhides only that type, otherwise this command will unhide all types. Invert Visibility The visibility of all elements is inverted. Visible elements are hidden and hidden elements are made visible. This option is available only if a point, edge or polygon selection tool is active. This command inverts only the selected type. Set Selection  You can change the name of a set or ‘frozen’ selection in the Attribute manager on the Basic Properties page; see ‘Attribute manager settings’, below. Here you can set or ‘freeze’ selections for the long term and store them in one of three tags. You can set either point, edge or polygon selections. You can then manipulate frozen selections at any time using these tags in the Object manager. Point Selection tag. Edge Selection tag. Polygon Selection tag. To set or ‘freeze’ a selection: - Select the elements (points, edges or polygons) that you want to freeze. - If you want the selection to replace an existing frozen selection, select the frozen selection’s tag in the Object manager. Otherwise, ensure that no selection tags are selected. - Choose Selection > Set Selection.  Although you can freeze more than 10 selections per object, many commands operate on the first 10 only. For example, if you subdivide the object, only the surfaces in the first 10 selections are subdivided. For bones, up to 50 frozen selections can be assigned. 502 • CHAPTER 9 Attribute manager settings To access commands for a selection tag, select the tag in the Object manager. The commands appear in the Attribute manager. Tag Properties Restore Selection Restores the frozen selection. All other elements of the object are deselected. Select And Hide Others Selects the frozen selection and hides all other elements (points, edges or polygons). Select Points/Edges/Polygons The frozen selection is added to the existing selection. Deselect Points/Edges/Polygons The frozen selection is deselected. Hide Points/Edges/Polygons All elements of the frozen selection are hidden. Unhide Points/Edges/Polygons All hidden elements become visible. SELECTION MENU • 503 Set Vertex Weight This command is especially useful when working with deformation objects. You can use it to restrict a deformation object’s influence with precision. For example, you can use it so that a twist deformer twists the head of a figure only, not the entire body. The most powerful application for this command is to create vertex maps or weight maps for bones. Therefore, the steps involved in using vertex maps is described in the section on bones. Points with weighting are colored. The entire object is colored as well (provided the viewport’s display is set to Gouraud Shading or Quick Shading). Yellow indicates 100% influence, red indicates 0% influence. The vertex map is represented in the Object manager as a Vertex Map tag: To create a vertex map, first select the Points tool or Polygons tool from the left toolbar, then select the points or polygons that you want to weight. Next, choose Selection > Set Vertex Weight. Value This is the amount of weight that is used by the Mode setting. Mode Set means the weight in the Value box is assigned to the points. Brighten will cause the weight in the Value box to be added to the points. Darken will subtract the weight in the Value box from the points.  To blend out the influence of a deformation object smoothly, create a ramp from yellow to red. The following picture shows such a ramp: the first row of points is set to 100%, the second to 50% and the third to 0%. There is a smooth transition from yellow to red. 10 Structure Menu STRUCTURE MENU • 507 10 Structure Menu The Structure menu has various tools that allow you to adjust the structure of polygon objects and spline objects. Most of these tools are available in the point, edge and polygon modes. Any objects that you want to use with these tools must be editable. You can make objects editable by selecting them and choosing Functions > Make Editable. Usually, the Structure tools affect the selected points, edges or polygons only. However, if none of these elements are selected, then most of the tools will affect the entire selected object(s). Hidden elements will usually be ignored. Any structure tools that cannot be used in the current editing mode (point, edge or polygon) will be grayed out. For example, Edge Cut only works with edges and therefore will be grayed out in point mode and in polygon mode. You can also use the structure tools with multiple selected objects. For example, you could create two cubes, make them editable, select a polygon on each cube and extrude both polygons at the same time using the Extrude tool. You can use most of the structure tools interactively. Also, many of the tools have settings that you can adjust in the Attribute manager. For as long as the tool is active, you can change any of its parameters or options and you’ll see the changes applied in realtime. Modeling modes The workflow for using the structure tools differs depending on whether you are working in the default modeling mode (Tools > Default Mode) or in the tweak modeling mode (Tools > Tweak Mode). Default mode 1. In the Object manager or in the viewport, select the objects that you want to edit. 2. Select the points tool, edges tool or polygons tool. 3. Select the points, edges or polygons that you want to edit. 4. Choose a structure tool. Tweak mode 1. Choose a structure tool. 2. Select the points tool, edges tool or polygons tool. 3. The tool will affect the yellow highlighted element. 508 • CHAPTER 10 Attribute manager settings Each structure tool has up to three tabs of settings that you can adjust in the Attribute manager: Options, Tool and Snap Settings. The settings on the Options tab are different for each tool and are described later in this chapter, in the descriptions for each structure tool. The Tool tab settings are the same for each tool, as are the Snap Settings. The Tool tab and Snap Settings tab are described below. Tool Realtime Update Here you can choose whether the changes will be applied automatically in realtime as you adjust the parameters. If your computer cannot keep up with the realtime updates while you are using the tool, we recommend that you disable the option and click the Apply button to manually apply the changes instead. When you select a tool the changes you make in the Attribute manager will only be displayed in realtime in the viewport when you do one of the following: - Click the Apply button. - Click in the view (does not work with all tools). - Press Return after entering the value into the Attribute manager. Apply If the Realtime Update option is disabled, you must click the Apply button in order to apply the changes to the objects. New Transform To reapply the tool, click New Transform. For example, with the Extrude tool, you can extrude multiple times using the same values by repeatedly clicking New Transform. Reset Values If you click this button, the tool will be reset to its default values. STRUCTURE MENU • 509 Snap Settings  Snapping works when moving elements but not when scaling or rotating them. Snapping gives you a quick way to accurately place objects in the scene. With snapping enabled, you can snap elements to other elements, e.g. one point can snap to another point, or a spline point can snap to the axis origin of another object. The snap will happen whenever the point (called the source in the following) is within a certain distance of the target; you have control over this radius of attraction. For example, you can snap the bottom of a sphere to the center of a cube’s top surface.  Snapping overrides the Quantize settings. The Construction Plane options are independent of snapping and can be changed regardless of whether snapping is enabled. Snapping in different modes Snapping works in the following modes: object, model, texture axis, edges, points and polygons. Say you have selected several points (or polygons) and want to move them with snapping activated, when does the snap happen? In other words, which selected point or polygon is taken to be the source item, i.e. the one that when it gets within the range of the target will snap to it? The item that is closest to the mouse pointer when you start to move the selection is taken to be the source item; when that gets within range of the target it is snapped to it and all other selected points or polygons move accordingly. For example, if you want the edge of a selection to snap, place the mouse pointer outside the selection before moving. It’s best to try this out to see how it works. Enable Snapping Enable this option to turn on snapping. Construction Plane  This option is not linked to the Enable Snapping setting. 510 • CHAPTER 10 This option allows you to enable and disable the use of a construction plane. Using a construction plane, you can constrain the creation of points and splines to a plane of your choosing. To create a construction plane, choose Objects > Modeling > Construction Plane. If no construction plane is present, the world grid (if enabled) is considered to be a construction plane. If there are several construction planes in a scene, the topmost visible plane is used. The construction plane is relevant only in the 3D, parallel and isometric views (i.e. all non-2D views). When the Construction Plane option is enabled, newly created points or splines (including their tangents) are created on the construction plane. The points can then be moved only on the construction plane. This applies until the points are moved from the working plane by another tool or by disabling the Construction Plane option. The Construction Plane option is enabled by default and thus allows you to draw splines comfortably in the 3D view. (With this option disabled, splines will be drawn freely in space.) There is an exception, however. If the horizon is visible in the 3D viewport, then as long as you move a point beneath the horizon, it remains on the construction plane. But if you move the point above the horizon, it will no longer be fixed on the construction plane and is free to move in height. Snapping  Be careful not to have too many snapping options active at the same time. For example, if you want to draw a spline on the surface of an object (see above) and both Polygon and Point are active, the new points may often disappear behind the surface, since snapping is considering all points — including those at the back of the target object. Type Three types of snapping are available: 2D, 2.5D and 3D. Snap 3D Use this mode for normal snapping. For example, if you snap a point to an edge, the point snaps directly onto the edge. You can use this mode in the 2D viewports as well as in the 3D viewport. STRUCTURE MENU • 511 Snap 2D Designed for use in the 2D viewports. In Snap 2D mode, the source point is snapped only if it is at same depth as the target point and within range of the target. In this case, depth is dependent on your selected viewport as follows: in the frontal viewport, the Z values of the elements must be equal; in the side viewport, the X values must be equal; and in the plan viewport, the Y values must be equal. If you are using a construction plane, the local Y values in this object system must be equal. Also, in all non-planar viewports, the Y values (related to the virtual projection plane) must be equal. Snap 2.5D Designed for use in the 2D viewports. In Snap 2.5D mode, the snapping takes place visually in the current viewport. Snapping will happen if the source lies visually in the current viewport within the snap radius of the target. In contrast to 2D snapping, the points do not have to have the same X, Y or Z values. If you make a 2.5D snapping in the 3D viewport and then switch to another viewport you will see that, after the snapping, the points do not necessarily agree with their snap targets in the new viewport. The point has been snapped only parallel to the viewport, not moved in depth.  Suppose you have activated a World Grid with a grid spacing of 100 units, you have a selected point at (53/62/91) that you wish to snap to and you are working in the frontal (XY) view. Also, only the Grid Point snapping option (see below) is enabled and the snap Radius is 30. Snap 2D: If you move the point, it is never snapped to the nearest grid point since the neighboring grid points lie at (x/y/0) and (x/y/100) and therefore have different Z coordinates from our source point. Since the Z component never agrees, it will never be snapped. This would be different if the source point had a Z coordinate of 100, for example. Snap 2.5D: If you move the point, it is snapped to the neighboring grid points when they come within range. However, since it is moved only perpendicularly to the camera in this mode, it keeps its Z component. The snapped point is moved, for example, to the coordinates (0/0/91), (100/0/91), (100/100/91) or (0/100/91). Snap 3D: In this mode, the source point snaps within the complete 3D space. The point can therefore be moved, for example, to the coordinates (0/0/100), (100/0/100), (100/100/100) or (0/100/100). Radius This is the radius of attraction for the particular target you have selected. The larger this radius, the more quickly the source will be snapped to the target as the source is moved towards the target. Point If this option is enabled, the source is snapped to the points of the active or other objects. All visible, polygonal objects and splines in the scene are considered. Because primitives have no points, they cannot be considered as snap targets for this option. 512 • CHAPTER 10 Edge  Points have higher snapping priorities than edges. With this option enabled, the source is snapped to polygon edges. All visible, polygonal objects in the scene are considered. Polygon If you enable this option, the source is snapped to the surface of the target polygon. All visible polygonal objects in the scene are considered. This is particularly well suited to drawing splines on to polygon objects, for example. To do this you should disable all other options and use Snap 3D. If you now create (or move) the points of the splines, they are snapped automatically to the polygons behind the spline. Polygon Center With this option enabled, the source will be snapped to the center of the target polygon. Midpoint Use this option together with other options to, for example, snap to the midpoint of a polygon edge or to the centre of the spline distance between two points. Grid With this option enabled, the source is snapped to the grid points of the construction plane. Gridline The source snaps to the construction plane’s grid lines when this option is enabled. Tangent This option makes sense only if you want to let a spline curve (at a point just edited) snap tangentially on to another, target, spline. This option can be very time-consuming. Spline With this option enabled, the source will snap to any part of a visible spline curve. Spline Grid If you enable this option, you can effectively use an existing spline as a snap grid and snap to the n th part of the spline, where n th part means the total length of the spline divided equally into n elements. You choose this value in the ‘Subdiv.’ box. For example, if the spline is 200 units long and you have entered a Spline Grid of 5, the snapping will be to the nearest 40 unit segment (independent of the actual spline points). Axis Enable this option to snap to the object axis origin of any visible object. STRUCTURE MENU • 513 Perpendicular Here the source is not snapped if the source and target spline curves are tangential to each other, but only if the curves are perpendicular to each other. This option can be very time-consuming. Subdiv. See ‘Spline Grid’. Quantize The Quantize settings affect the mouse sensitivity when modeling and editing objects, points, surfaces and so on. Move When positioning objects, points, surfaces and other elements, a small mouse movement can often result in a larger change than the one you wanted; so, for example, an element that is to be moved by a couple of units jumps from position 10.374 to position 10.694. To prevent this, use the Move grid. It is not shown as lines in the view, but has the effect that you can only move an object to positions that are a multiple of the chosen value. A free or unintentional movement of objects is then no longer possible. It is a local grid — it is always relative to the current position. If you entered, for instance, the value 10, an object will always move in units of 10; an object with the position (5,6,90) moved along the X axis would then move to (15,6,90), (25,6,90), (35,6,90) and so on. Scale If this option is enabled, the relative scaling factor changes only by the value entered here when scaling objects, point quantities, surfaces and so on. Rotate When this option is enabled, the chosen element can be rotated only in steps, as set here. Thus a value of 10° allows a rotation of the element in steps of 10°, 20°, 30° and so on. Texture This is a percentage that, when enabled, gives the increment by which you can move and scale textures. Tool This setting is relevant to all the interactive tools in the Structure menu. If you enable this option, change the value to 10 and then extrude a surface, the extrusion will take place in steps of 10 units. Together with the various modeling tools, this allows for accurate modeling. 514 • CHAPTER 10 Edit Spline  Before you can apply any of the tools or commands on the Edit Spline sub-menu to a spline primitive, you must first make it editable by choosing Functions > Make Editable. Hard Interpolation  This command is not available for B-Splines. Before. After. This command switches all selected points to hard interpolation. If no points are selected, all points of the spline are automatically changed to hard interpolation. Hard interpolation means that the tangents of the appropriate points are set to a length of zero. Soft Interpolation  This command is not available for B-Splines. Before. After. This command switches all selected points to soft interpolation. If no points are selected, all points of the splines are changed automatically to soft interpolation. Soft interpolation means that the tangents of the appropriate points are set to a standard length and direction. STRUCTURE MENU • 515 Equal Tangent Length  This command can be applied to Bezier Splines only. All other types of spline have preset interpolation which cannot be changed. Before. After. For each selected point, the shorter tangent handle is set to the same length as its partner tangent. If no points are selected, all points are automatically included in the action. Equal Tangent Direction  This command can be applied to Bezier Splines only. All other types of spline have preset interpolation which cannot be changed. Before. After. While editing splines, by dragging with the Shift key held down, a tangent handle can be moved independently of its partner handle, forming a sharp corner at that point along the spline’s curve. If you change your mind later on and want to restore smoothness, you can do so using this command. The left tangent will remain where it is, while the right tangent will be rotated until it is equal and opposite in direction, forming the straight tangent pair that guarantees a smooth spline curve. If no points are selected, all points are included automatically. 516 • CHAPTER 10 Join Segment Before. After. A spline can consist of several unconnected segments (a text spline is a good example of this). If you want to connect two of these segments, select one or more points of each segment and use the Join Segment command. The start points of each spline are joined to the end points of the other spline. If you directly select the end points of the two segments, however, these are also joined. If these end points have the same position, one of them will be deleted when joining. You can join either two or all segments at the same time. If more than two segments are selected then only the first two are joined. If no points are selected, all segments of a spline are joined. Break Segment  This command requires a point selection and works in point mode only. With this command, you can create a new spline segment. Select one of the points that you want to separate. After using Break Segment, you will have a new segment and all points on either side of the separated segment will become a new segment. If the selected points are not consecutive, a number of spline segments will be created, one for each of any consecutive points and one from the remaining points. To add a new segment to an existing spline, you must first create the first point of the new segment. Before the break, it is still connected to the old segment. If you now use Break Segment then the new segment will start here; you can now add new points using the Add Points command. Explode Segments Using this command, you can split the individual segments of a spline into separate objects. An individual spline object is created from each segment of the original. Only the first segment of the original spline remains. You do not need to have a selection and you do not need to be in point mode. The new spline objects become sub-objects of the original spline and are given the names ‘.’. For example, a text spline object can easily be split into individual letters. (Keep in mind that certain letters, such as ‘e’, may be exploded into two or more segments because of their holes. You may want to group these segments to re-create the entire letter.) STRUCTURE MENU • 517 Set First Point  This command requires a point selection and works in point mode only. When you choose this command, the selected point of a spline is defined as the new start point of the spline and the remaining points are re-sorted accordingly. If there are several segments within the spline, you can select a point or points within each segment; each segment will be re-ordered according to the chosen point(s) within it. If more than one point per segment is selected, the first point within the spline order is defined as the start point. Remember that the start of a spline is colored yellow while the end is reddish in color. Reverse Sequence To reverse the point order of a segment (i.e. make the first point the last point, the last point the first point and re-order all intervening points), select one or more points of the segment and choose Reverse Sequence. You can also apply this option simultaneously to several segments by Shift-selecting the points of these segments. If no points are selected, the sequence of the complete spline (and all of its segments) is reversed. Move Down Sequence, Move Up Sequence  These commands can also be applied to the polygons of a polygon object. As explained in the polygon coordinate system section, the Matrix Extrude tool uses this coordinate system for alignment and this depends on the order of the points of a polygon. You can change this order with Move Down Sequence or Move Up Sequence. These commands change the order of the points. With Move Down Sequence, the sequence number of each point is incremented and the last point of the original sequence will be the first point in the new sequence. With Move Up Sequence, the sequence number of each point is decremented and the first point of the original sequence will be the last point in the new sequence. You may also apply the command simultaneously to several segments by Shift-clicking points of these segments. If no points are selected, all points of the spline (and all of its segments) are moved up or down the sequence. 518 • CHAPTER 10 Chamfer Chamfer is an interactive tool. This means you control the tool directly with the mouse; select the tool then drag left or right within the viewport. Chamfer converts each selected point to two points with soft interpolation between them. Using this you can, for example, round the corners of a square by chamfering the points once or even several times. Only the selected points are chamfered. If no points are selected, all connected points of a spline are chamfered. For an open spline, the start and end points will not be included in the chamfer. If a point possesses tangents then these will be set to zero before chamfering. Attribute manager settings Radius, Flat Flat disabled — each new point has a tangent created to round the chamfer. Flat enabled — no tangents are created and the spline runs linearly between the two new points. Radius defines the radius of the chamfer. If Flat is enabled, the chamfering is linear. STRUCTURE MENU • 519 Create Outline  For best results, use a Linear or Bezier spline. Before. After. This tool also works interactively. Select the tool and drag left or right within the viewport to create an outline around the original spline. The entire spline is outlined. For best results, the spline’s points should be planar. If the original spline is closed then the outline is created as a new segment with a reversed point order compared to the original. If the spline is open, by default the new spline will be connected to it, thus creating a closed spline. Attribute manager settings Create New Object If this option is enabled, the original spline is not changed. The outline is created as a new spline object. The original spline remains selected. Distance Defines the distance of the outline from the original spline. Since only the vertices are duplicated, the outline cannot always be kept parallel, particularly if the points are non-planar. 520 • CHAPTER 10 Cross Section  The splines must be selected in the Object manager. Figure 1. Figure 2. Figure 3. Figure 4. With this interactive tool, you can create cross sections for a group of splines; we’ll refer to these as ‘rail splines’. Cross sections are always created at right angles to the current view. You should therefore select a view in which you can see the rail splines directly from the side. Figure 1 shows some splines before any cross sections have been created. If you activate the Cross Section tool, you can drag to draw a line where a cross section is to be created. In Figure 2, three cross-sections have been created. In the 3D viewport you can that this has created circles (more or less) that are wrapped around the four rail splines (Figure 3). These cross sections are new splines with Bezier type interpolation. These cross sections are especially useful when used as children of a Loft NURBS object. The order of these rail splines within the Loft NURBS is important. When working with more than two rail splines, make sure that these are placed in the correct order within themselves in the Object manager, because CINEMA 4D uses this object order when creating the cross sections. The start point of the cross section spline is located on the first rail spline and the end point on the last. If the rail splines wind around themselves, giving a cross section spline that overlaps with the rail splines, CINEMA 4D selects the first intersection in the direction of travel of the spline (Figure 4). STRUCTURE MENU • 521 Attribute manager settings Constrain Angle Perhaps you would like to be able to draw the cross sections only in certain directions, rather than free-form. To snap the cross-section to particular directions as you draw it, define a Constrain Angle and hold down the Shift key while you drag. The value you enter in Constrain Angle is used to define the direction of the cross section, starting east (to the right) in the current view and working anti-clockwise. So, if you entered a value of 80 for Constrain Angle, you would be able to draw cross sections at 0, 80, 160, 240 and 320 as shown in the diagram above. Remember to hold down Shift while you create the cross section, if you want to constrain the direction. Disconnect This command enables you to disconnect polygons or points from the selected object. Select some polygons and choose Disconnect to see the results. The separated surfaces will still be at the same position, but physically they are no longer connected to the object. The original object still contains the points of these separated surfaces, so the geometry is not destroyed. This tool normally needs a selection of polygons and polygon mode enabled. A good example of using Disconnect would be to cut a hole into an object and keep the disconnected surface to use as a cap. This tool can also be applied to splines. In contrast to the Break Segment tool, the start and end points of the disconnected segment are duplicated (as is the case with polygon objects) and are not deleted from the original spline. Thus the order of the spline remains intact both before and after disconnection. When using Disconnect on splines, a selection of points and point mode are needed. 522 • CHAPTER 10 Preserve Groups If this option is enabled, the elements are disconnected from the object in one piece (provided they were connected to begin with). If the option is disabled, the elements are separated from one other as well as from the object. Edge To Spline This command creates a spline from an edge selection. A spline (right) is created from the selected edges (left). Line Up  For best results, use a Linear or Bezier spline. Before. After. This command aligns sequentially selected points to a straight line. The points are aligned between the two outer points of the selection (on the basis of the spline point order). If no points are selected, the entire spline is aligned. STRUCTURE MENU • 523 Project  The accuracy of the projected spline depends on two factors: how finely the spline is subdivided (the Project function does not add new points) and the alignment of the splines to the surface. For best results, use a Bezier spline. Using this command, you can project splines onto object surfaces. Consider a simple helix and a sphere. You can project the helix onto the sphere’s surface then, with a Sweep NURBS object, create a half-peeled orange skin. Project automatically converts procedural splines to editable splines. Please note that this step is not reversible (although you can, of course, use the Undo function). Each point of a spline is individually projected. If a point cannot be projected (e.g. because no surface is available for it), then it will remain at its original position. With Bezier splines, the tangents are adapted to fit the surface. Projection View XY, ZY, XZ Plane XY, ZY, XZ Radial Radial 524 • CHAPTER 10 After choosing the Project function, a dialog opens. Use this dialog to choose the type of projection. CINEMA 4D projects the spline onto all visible surfaces (hide the surfaces of any objects that you want to exclude from the projection). View Projects the points according to the current view in the viewport. If several projection possibilities exist for one point with this projection, the surface that lies the furthest away in front of the camera is selected. Above you can see the projection of spline text on to a plane with the projection viewed from another camera. XY, ZY, XZ Plane The spline is projected according to the selected plane (the points are moved perpendicular to the plane, onto the object). XY, ZY, XZ Radial Projects in a cylindrical manner. Here the projection is cylindrical, from the object coordinate origin of the spline. If several intersections are found, then the furthest one is selected. For example: XZ Radial projects outwards from the center of the object coordinate system in the X and Z direction, the Y values of the spline points (in the object coordinate system) are not changed. Radial With Radial the spline is projected spherically, outwards from the object coordinate origin of the spline. If several intersections are found, then the furthest one is used. Round Sequentially selected points of a spline can be rounded and subdivided using this command. If no points are selected, all of the spline’s points are rounded. Points, Interpolation The options control the number of points that are to be created for each connected group of points and the type of interpolation. STRUCTURE MENU • 525 Split  If you want to delete the separated part from the original object, you can choose Delete directly after Split since the selection is still active (this works only if you are in polygon mode). The Split function differs very slightly from the Disconnect function; the difference is that, when using Split, the disconnected surfaces leave a separate object behind. The original object is not changed. This tool can also be applied to splines. A separate spline is created from the separated segment (as with polygon objects). When splitting splines, a point selection and point mode are required. 526 • CHAPTER 10 Add Point This tool allows you to add new points to objects. The tool works in all three modes: point, edge and polygon. A selection is not required. You can add points onto polygon surfaces or onto edges. Using the Add Point tool to project and move points in the polygon mode and edge mode. To add a point onto an element (polygon or edge): - Move the mouse pointer over the element. When the mouse pointer is over the element, the element will highlight in yellow. - Click and hold down the mouse button to project the point onto the element. - With the mouse button still held down, drag to move the projected point to the desired position. Release the mouse button. Modes Polygon mode In polygon mode, new edges will be created in order to connect the point to its neighbors. When you add a point to an n-gon, the n-gon will be broken down into triangles to provide you with greater control over the mesh. Edge mode In edge mode, the edge will be broken into two edges in the place where you’ve added the point in order to connect the point to its neighbors. When you add a point to a quadrangle, the quadrangle automatically becomes an n-gon. Point mode This is a combination of the polygon mode and edge mode functionality. You can add points to edges and polygons. STRUCTURE MENU • 527 In point mode, use the following keys to help you more easily select the element: Shift When you are working with dense mesh, highlighting polygons can be tricky when there are lots of edges getting in the way. In these cases, hold down the Shift key to exclude edges from being highlighted. Ctrl on the object This adds a point on the polygon or edge without connecting it to the mesh. Ctrl off the object The point will be created on the construction plane if one exists. Otherwise, the point will be projected onto the viewport’s plane (e.g. XY, ZX, etc.). Attribute manager settings Edge Position After you’ve added a point to an edge, this parameter allows you to adjust the point’s position along the edge. Position World Gives the position of the point in world coordinates while you are adding the point. Adding points to splines The Add Point tool also works with splines. Proceed as follows: - Select Objects > Spline Object. This creates an empty spline object with a preset Bezier interpolation. (For information on the different types of interpolation and their characteristics, look up ‘interpolation, spline’ in the index.) - With point mode activated, hold down the Ctrl-click where the points of the spline are to be set. If you move the mouse while holding down the mouse button (and the Ctrl key) then a soft interpolation tangent is created for the current point. The new points are always created at the end of the spline. - To create a point on an already existing curve, select the Add Points function and click directly on the curve. 528 • CHAPTER 10 You can now keep the mouse button pressed to drag the point around, before letting it drop by releasing the mouse button in its final position. The shape of the curve does not change, since the tangents are adapted automatically (although when using the Cubic, Akima and B-Spline types of interpolation, by their very nature, the shape of the curve cannot be precisely maintained). Bridge Bridge enables you to create connections between unconnected surfaces. The Bride tool works in all three modes (point, edge and polygon). A selection is required in polygon mode. Point mode, edge mode, polygon mode and the results (bottom). Modes Point mode In point mode, you can create polygons by defining new polygon edges. To define a new polygon edge between two points, drag and drop from one point to the other. A yellow preview will appear to indicate where the new polygon will be created. See also ‘Using Bridge in point mode’. Edge mode In edge mode, you can create a new polygon between two edges by dragging and dropping from one edge to the other. As with point mode, a yellow preview will appear to indicate where the new polygon will be created. STRUCTURE MENU • 529 Polygon mode In polygon mode, before you use the Bridge tool, you must first select the polygons that you want to connect. Then, using the Bridge tool, drag and drop from one side to the other. A yellow line will appear to assist you. See also ‘Using Bridge in polygon mode’. Using Bridge in polygon mode Figures 1 to 3 demonstrate how to connect two polygon cubes together using Bridge. - First select the polygons that you want to connect. For the example, we selected the two groups of nine polygons that you can see in Figure 1 (i.e. all the polygons of the two faces that we want to connect). - Choose Structure > Bridge to select the Bridge tool. - Drag from a corner of a selected polygon to the opposite corner on the other side (Figure 2). The original surfaces are connected together by four new surfaces. The original surfaces are deleted automatically, as necessary. Figure 1. Figure 2. Figure 3. Bridge can also connect groups that have a different number of selected polygons, as illustrated in Figures 4 and 5. Figure 4. Figure 5. Using Bridge in point mode Not only does the Bridge tool enable you to connect surfaces, it also offers a quick way to create polygons from points. It is possible to create an entire, complex character using the Bridge tool. This method of creating polygons is especially useful when modeling with HyperNURBS. We’ll now use this technique to create a few polygons from scratch. The same technique applies to creating hundreds of polygons. - Choose File > New to start a new scene. 530 • CHAPTER 10 - Choose Objects > Polygon Object to create an empty object to which we can add points and polygons. - On the left toolbar, select the Points tool. - On the top toolbar, ensure that the Move tool is selected. - Ctrl-click six times in various places within the viewport to create two rows of points in roughly the same positions as those in Figure 6, below.  If you click in the wrong place, you can quickly reset the Bridge tool by pressing the Esc key. - Choose Structure > Bridge to activate the Bridge tool. - In the viewport, drag from the left point of the top row to the left point of the bottom row (Figure 7) and release the mouse button (a yellow line will appear between the two points while you drag). - Now drag from the middle point of the top row point to the middle point of the bottom row and release the mouse button. The polygon is created (Figure 8). - Drag from the right point of the top row to the right point of the bottom row and release the mouse button. The second polygon is created (Figure 9). Figure 6. Figure 7. Figure 8. Figure 9. Using Esc to reset Bridge In the example above, note that you had to drag and drop twice to create the first polygon, but only once to create the second polygon. This is because CINEMA 4D assumes that you want the next polygon that you create to be connected to the one you’ve just created. This is ideal for quickly building a row or loop of polygons. However, if you don’t want the current polygon and next polygon to be connected to each other, press Esc to reset Bridge. You can then drag and drop twice to create the next polygon in any position on the mesh. Attribute manager settings Delete Original Polygons This option is available in polygon mode only and it deletes the original selected polygons. STRUCTURE MENU • 531 Brush The Brush tool enables you to: - deform polygon mesh in various ways - paint and edit vertex maps The Brush tool works in all three modes (point, edge and polygon). When the Brush tool is selected, you’ll see a yellow sphere appear in the view. All of the object points that are inside this sphere will be affected by the tool. In most of the brush modes, the object point closest to the sphere’s center will be highlighted yellow. The yellow point will act as the center point of the brush effect. From left to right: the original mesh, Repel brush mode, Smooth brush mode, Twister brush mode. The Brush tool gives you exciting new ways to model interactively. For example, you can use it to shape tentacles or other growths. The possibilities are endless! Keep in mind that the Brush tool can only work with existing points — the objects must be sufficiently subdivided for the effect that you want to paint. Using the Brush tool The Brush tool works in much the same way as a real brush: the more you paint over an area by dragging, the greater the effect. To invert the effect of the brush, hold down Ctrl while you drag. 532 • CHAPTER 10 Attribute manager settings Surface If this option is enabled, the brush will affect a surface-oriented area instead of the entire 3D space inside the yellow sphere. This is especially useful when modeling fine details. Falloff The falloff functions for the brush are the same as those for the Magnet tool. For information on these modes, look up ‘Magnet tool’ in the index. Strength This defines the strength of the brush effect. To invert the effect, hold down Ctrl while you paint. Mode The following brush modes apply to modeling: Smear: Smears the mesh in the direction you drag the mouse. Pull: Pulls the mesh towards the camera. Surface: Pulls the mesh in the direction of the point normals in the middle of the brush. Normal: Deforms the mesh in the direction of its point normals. Repel: Repels the mesh radially away from the yellow highlighted point. Spin: Spins the mesh around the yellow highlighted point. Twister: Twists the mesh and pulls it towards the center of the brush. Vortex: Same as vortex except the mesh is also pulled towards the camera. Smooth: Smooths the mesh. STRUCTURE MENU • 533 The following brush modes apply to vertex map painting and editing (select the desired vertex map, otherwise a new one will be created). Paint: Paint the vertex map weighting. Blur: Blurs the weighting. Useful for smoothing out and preventing abrupt changes in the weights. Original vertex map (left) and the vertex map after being edited in Blur mode (right). Bleed: Takes the weighting from the center of the brush and spreads this value over the Radius. Intensity: Increases/dcreases existing weighting values. Radius The Radius controls the brush size, which is displayed in the viewport as a yellow sphere. Update Normals This option is available if Mode is set to Surface or Normal. If the option is enabled, the normals will be updated in realtime while you paint and the brush will take the updated normals into account. If the option is disabled, the brush will use the original normal directions instead, i.e. the normal directions prior to the ‘brush stroke’. Width This option is available if Falloff is set to Dome, Bell or Needle. It defines the scale of these falloff functions in the X direction. Spline Graph If Falloff is set to Spline, you can use the spline graph to define a custom falloff function. To learn how to use graphs in CINEMA 4D, look up ‘function graphs’ in the index. 534 • CHAPTER 10 Close Polygon Hole Closing a polygon hole. Poor old Meg from the Objects > Object Library menu has stumbled over a loose bit of carpeting and hit the floor with a thud. And now there’s a gaping hole in her forehead! But there’s no need for surgery — CINEMA 4D’s Close Polygon tool can soon patch up Meg to look as good as new. The Close Polygon Hole tool works in all three modes (point, edge and polygon). To use the tool, move the mouse pointer over the hole. A yellow polygon preview will appear that closes the hole. Click the mouse button to create the polygon. An n-gon will be created if necessary, as in the case of Meg, above. Create Polygon This tool allows you to create new polygon surfaces. A selection is not required. Also, in contrast to previous versions of CINEMA 4D, existing object points are not required. However, you may find it easier to position the points accurately if you create and position them prior to using the Create Polygon tool. Click in each position where there should be a corner point; the bottom example shows the creation of an n-gon without existing points (‘7’ demonstrates use of the Ctrl-click shortcut to add a point between existing points). STRUCTURE MENU • 535 To create a polygon surface: - In the viewport click once in each position where there should be a corner point. A yellow preview of the new polygon surface will appear, which will be updated as you add further new corner points. - Do one of the following: - Click again on corner points, including the last or first created. - Change to another tool. - In the Attribute manager, click the Create Polygon button. You can also use the following keys: - Ctrl-click: adds a point between existing points (usually, new points are added after all existing points). - Shift-click: to delete a corner point, Shift-click it. - Esc: press Esc to abort the current polygon surface you are creating and start again.  Create the points in a clockwise direction if you want the polygon normals to face the camera, or in a counter-clockwise direction if you want them to point away from the camera. Attribute manager settings Create Polygon See ‘To create a polygon surface’, above. Create N-gon (left), Triangle Strip (center) and Quadrangle Strip (right) 536 • CHAPTER 10 Here you can choose which type of polygon to create: N-gon A single polygon with as many corner points as desired. Triangle Strip, Quadrangle Strip If you want to create a strip of polygons, enable one of these options. The Shift and Ctrl keys will have no effect while you are creating strips. N-gon Subdivision This setting is available if Create if set to N-gon. When creating an n-gon, you can use this setting to automatically convert the n-gon to triangles (N-gon subdivision set to Triangle) or quadrangles (N-gon subdivision set to Quadrangle) once you have finished creating its corner points. If you don’t want the n-gon to converted, leave the setting at the default value of N-gon. Snap To Same Level Like Previous Point If this option is enabled, when you add points in the 3D view, the points will be placed onto a virtual plane that faces the camera instead of onto the active construction plane (the world grid acts as the active construction plane if there are no construction planes in the scene). This option is especially useful when you have created new points above the horizon and you want to create further points below the horizon. Position World X, Y, Z Here you can read the position of the last corner point created, in world coordinates. STRUCTURE MENU • 537 Edge Cut Edge Cut applied to the selected edges with Create N-gons disabled (center) and enabled (right). The new points can still be offset. The Edge Cut tool allows you to interactively subdivide the selected edges. You can adjust the parameters in the Attribute manager or in the viewport (in the viewport, Shift-drag to adjust Scale; Ctrl-drag to adjust Offset; Crtl-Shift-drag to adjust Subdivision). Edge Cut works in edge mode only. Attribute manager settings Offset, Scale, Subdivision Edge Cut applied to the selected edge with Subdivision set to 4. Offset/Scale set to 50/100 (left), 50/30 (center) and 50/80 (right). Offset: Here you can change the position of the new points along the selected edge. Points that lie one on top of the other will be welded together. Scale: If Subdivision is set to 2 or higher, you can use the Scale parameter to adjust the distance between the new points. The scaling takes place in the direction of the first point. 538 • CHAPTER 10 Iron If your mesh looks too uneven, smooth it out using this virtual iron. The tool works in all three modes (point, edge and polygon). The Iron tool works by smoothing out the selection in areas where the angle between neighboring edges is equal to or greater than a threshold angle (‘Angle’). The strength of smoothing is controlled by the Percent value. To use the Iron tool: - Drag in the viewport to vary the Percent value (i.e. the strength of smoothing). - Shift-drag in the viewport to vary the Angle value (i.e. the threshold angle). Attribute manager settings Angle Before ironing with ‘Angle’ < 85° (top) and after ironing with ‘Angle’ >= 85° (bottom). This is the threshold angle. Neighboring edges in the selection will only be ironed if the angle between them is the same as the Angle value or higher. Percent From left to right: the effect of increasing the Percent value. The Percent value defines the strength of smoothing. A value of 0% results in no smoothing at all, while a value of 100% produces maximum smoothing. STRUCTURE MENU • 539 Knife The Knife tool allows you to cut polygon objects and spline objects. The tool works in all three modes (point, edge and polygon). When you are cutting polygons, there are many parameters you can adjust to precisely control the cut. The Knife cuts the polygons by creating new points and edges along the cutting line. If you’ve made a selection, the cut will be restricted to the selection. Attribute manager settings Mode Line mode In Line mode, you can drag a cutting line over the polygons. You may find it helpful to think of this cutting line as being a red hot wire that cuts straight through the polygons. Press Shift to constrain the cutting line to the Angle value (Single must be enabled). Hole mode Hole mode allows you to cut a hole inside an individual polygon, which is highlighted in yellow. Click in each position where there should be a corner point, then click again on the first corner point to complete the cut. Plane mode This mode gives you an easy way to make cuts along a plane. You can make a single cut or even carve up the entire object. You can define the number of cuts and the distance between each cut. 540 • CHAPTER 10 Loop mode The Loop mode enables you to subdivide edge loops. Move the mouse pointer to the position along one of the edges that the new loop should cut through. A yellow preview will appear to indicate where the new cut will be placed. Click to apply the cut. Path mode This mode requires an edge selection or polygon selection. Move the mouse pointer in the area of the selection. ‘Path’ will then attempt to cut a path (displayed as a yellow preview) through the selection. For best results, select a path of polygons one polygon wide. Single (Line mode) If this option is enabled, you can choose both the start point and end point of the cutting line. If the option is disabled, the end point of the last cut will automatically become the start point of the next cutting line. Restrict To Selection (all modes) If this option is enabled, the Knife tool will cut the selected elements only. Select Cuts (all modes) Selects the edges of the new cut. To add the new edges to the existing selection, hold down Shift while you make the cut. Only Edges (all modes) If this option is enabled, only the edges will be cut. The polygons themselves will not be cut (provided Create N-gons is enabled). Visible Only (all modes) Enable this option to cut directly visible polygons only. Otherwise, polygons at the back of the object — or even other selected polygon objects out of sight behind the object — will be cut. Create N-gons (all modes) N-gons will be created automatically if this option is enabled and the resultant polygons have more than four corner points. If you want each polygon to be triangulated automatically instead, disable the option. Constrain, Angle (Line mode) The Constrain option, if enabled, will constrain the cutting line angle to the Angle value. You can also constrain the cutting line angle by holding down Shift while you make the cut. STRUCTURE MENU • 541 Offset (Plane, Loop and Path modes) In Plane mode, Offset defines the position of the cut. In Loop mode, Offset defines the cut position along the selected edge (mouse position). In Path mode, Offset defines the cut position along the width of the cut. Keep Lock (Plane, Loop and Path modes) If this option is enabled, you can lock the cutting line in place by pressing Shift. Then, as you adjust the knife’s parameters, the cutting line will be updated in realtime. Coords, Plane (Plane mode) The cutting planes with Coords set to Camera. Here, with the Coords parameter, you can choose which coordinate system is used for the cutting planes: Local, World or Camera. With the Camera setting, the cutting planes will depend on the direction in which the camera is pointing (see illustration above). Use the Plane parameter to choose the cutting plane: XY, YZ or XZ. Slice (Plane mode) If enabled, this option creates a cut through the center of the object, which you can then offset using the Offset value. Cuts, Spacing (Plane mode) The Cuts parameter allows you to create as many cuts in one go as you wish. It defines the number of cuts. The Spacing value controls the distance between each cut. Note that the Slice option must be disabled. 542 • CHAPTER 10 Magnet With the magnet, you can pull sections out of polygon objects or splines. Click anywhere on the object(s) and drag the mouse. The further the points are from the mouse pointer, the weaker the magnet’s pull on them. If you hold down Shift while you drag, the points will be moved parallel to the normal of the yellow highlighted point. Attribute manager settings Nearest Point If this option is disabled, the object(s) will be deformed if you click on a polygon and at least one point falls within the radius of influence from the mouse pointer. In this case, the point closest to the mouse pointer is selected. If the option is enabled, deformation of the object(s) will occur invariably. Even if Radius is set to a very low value, the nearest point to where you click will act as the center of the deformation and will be affected by the magnet. The first method is far more precise. You will also benefit from the fact that points on the opposite side of the object will not be modified accidentally with this first method. Only those points that are not covered by other points, edges or surfaces can be selected. However, if Nearest Point is enabled, points at the back of the object can also be selected. Surface If this option is enabled, the magnet will affect a surface-oriented area instead of the entire 3D space inside the yellow sphere. This is especially useful when modeling fine details. Visible Only Enable this option to affect visible object elements only. Otherwise, hidden elements (Selection > Hide Selected) will also be affected. STRUCTURE MENU • 543 Mode Here you can choose which type of falloff is used by the magnet. If Mode is set to Spline, you can use the spline graph to define a custom falloff function. To learn how to use graphs in CINEMA 4D, look up ‘function graphs’ in the index. Constant. Linear. Dome. Bell. Circle. Needle. Coords, X, Y, Z Here you can choose in which coordinate system (Object, World or Camera) and in which directions (and by how much) the magnet can pull in the X, Y and Z directions. For details on the Camera coordinate system, see the Coords entry for the Knife tool (look up ‘Knife tool’ in the index). Stength Defines the magnet’s strength of attraction/repulsion. Radius Gives the radius of the magnet’s range of influence. Width Determines how soft or hard the influence of the magnet is to be. Spline Graph See ‘Mode’, above. 544 • CHAPTER 10 Mirror Using the Mirror tool, points and polygons can be mirrored. This tool functions in point or polygon mode. In point mode, only the selected points are mirrored (without their surfaces). If no points are selected, all points are mirrored. In polygon mode, the selected surfaces are mirrored. If no surfaces are selected, all surfaces are mirrored. Mirror can also be applied to splines. The selected points are mirrored as a new segment. Mirror functions interactively. This means you can control the mirroring directly with the mouse; to choose which axis is to be used for mirroring, click and drag until you see the axis you want, then release the mouse button. Attribute manager settings Coordinate System Selects the coordinate system for the tool. In all the modes below, remember to keep the mouse button pressed. You will then be able to choose the mirror axis by dragging it with the mouse to where you want the mirroring to occur. When you release the mouse button, the mirroring is applied. Object In this mode, the object is mirrored about the object axes. You can set the mirror axis using the mouse by clicking directly on an object point. The mirror axis automatically locates itself on the nearest point. The object is then mirrored exactly through this point. You do not necessarily have to be in point mode; the points are also located in this way in polygon mode. The object mode also allows the input of numeric values (see Value). World This mode is the same as object mode, except that the element is mirrored over the selected world axis. Like the object system, the world mode also allows the input of numeric values (see Value ). STRUCTURE MENU • 545 Screen In this mode, the object is mirrored in the current projection plane. If you first click in the area of the upper or lower window border, you get a horizontal mirror axis. If you first click in the area of the right or left window border, you get a vertical mirror axis. Mirror Plane This mode is available for the world and the object coordinate system. Select the XY, ZY or XZ plane. Depending on the selected coordinate system, the mirror plane refers either to the world or object axis. Weld Points This option is important if, for example, you mirror a cube over one of its edges and Duplicate Points is enabled. After mirroring, some of the points may be in the same positions. If Weld Points is enabled, these duplicate points are welded after mirroring. The adjacent input box allows you to enter a distance; any point that has a duplicate point within this distance will be welded into one single point. Value Use this to position the mirror axis numerically. This works only with the object and world coordinate systems and allows you to freely define the distance of the mirror axis from the axis origin. 546 • CHAPTER 10 Duplicate Points If this option is disabled, the selected elements are simply mirrored. If the option is enabled, the selected elements are first duplicated then mirrored. This gives you a mirrored copy of all the selected elements. Duplicate Tag Selection If this option is enabled, existing frozen selections or vertex weight tags are used when mirroring. Snap To Points When using interactive mirroring in the viewport, this defines whether the mirror axis is to snap to the points of the object (in screen mode). If the option is enabled, the mirror axis is positioned automatically to the point nearest the mouse pointer, provided that the mouse pointer is within a polygon of the selected object. With this function you can, for example, mirror a cube precisely over one of its edges. When using the object or world coordinate systems, Snap to Points is enabled automatically. The mirror axis must be placed through a point of the object. You cannot freely determine the mirror axis interactively when in the object or world coordinate system. However, see ‘Value’. Apply Click the Apply button to apply the numeric values. Set Point Value This tool gives you various ways to set the values of the selected points. For example, you can use the tool to center points, quantize points or crumple points. The tool works with polygon points, spline points and FFD points. Attribute manager settings All, X, Y, Z Here you can choose which axes will be affected. For example, if you want to change the X coordinate only of the selected points, set the X drop-down list to the desired mode and set the All, Y and Z drop-downs to Leave. If you want all three axes to be affected, set All to the desired mode. STRUCTURE MENU • 547 Leave The point coordinates will not be changed for the respective axis. Set Sets the point coordinates to the Val value along the respective axis. Center Centers the points along the respective axis. Quantize If, during the building of an object or a spline, the points have not been aligned to a grid, the Quantize mode can achieve this afterwards. All selected points (or the points of the selected edges or polygons) are snapped onto grid points. The grid width for the X, Y and Z directions can be specified in the Val boxes. If no elements are selected, all of the object’s points will be quantized. Set Coordinate System to the desired coordinate system. Crumple (Normal, Axial, Radial) The Crumple modes let you add roughness and irregularity to the points. This can help you to improve the realism of the surface by preventing it from looking ‘too perfect’. The points are displaced by a random distance controlled by the Val settings. Crumple (Normal) Displaces the points along their normals (a point normal is the average of the neighboring surface normals). Therefore, only one Val value — the one for X — is available in this mode. Crumple (Axial) Displaces the points along the respective object axis. Crumple (Radial) Displaces the points radially from the object origin. Coordinate System Object The Val value refers to the object coordinate system. World The Val value refers to the world coordinate system. 548 • CHAPTER 10 Screen The set value refers to the virtual coordinate system of the current view. The screen coordinate system is the same as the (virtual) coordinate system of the camera, which is shifted to the place of the object axis. The XY plane is parallel to the projection plane. The Z-axis is perpendicular to this. In And Out (Crumple modes) If this option is enabled, each element may move inwards or outwards. With the option disabled, the elements will move outwards only. Slide Slide tool in point mode (left-most circle) and edge mode (right-most circle). The Slide tool allows you to slide points or edges over the mesh. The tool works in point mode or edge mode. A selection is not required. You can slide the point or edge no further than the next point or edge along. If you hold down the Ctrl key while you slide points, the points will be welded with the next point along in the direction of the slide. Attribute manager settings After sliding the elements, you can adjust their positions using the Value setting. STRUCTURE MENU • 549 Stitch And Sew The primary purpose of the Stitch And Sew tool is to join together object edges that have the same number of points. The tool works in all three modes (point, edge and polygon). However, it works with somewhat limited functionality in the polygon mode. In most cases, a selection is required. Stitch And Sew applied to the selected edges. To use the Stitch And Sew tool, in point or edge mode select the edges that you want to join. Click and drag from the first edge to the other edge. While you drag, a yellow line will appear that connects the two edges. Release the mouse button to apply the change. If you hold down the Shift key at the same time, an n-gon will be created between the edges. If you hold down the Ctrl key at the same time, the edges will be joined at the position halfway between their point pairs. You can also use the Stitch And Sew tool to cap arches or circles in point mode (see sphere example, above). An even number of points is required. The following functionality works in all three modes: Stich And Sew is especially useful for creating clothing, hence its name. With Stich And Sew, you can quickly attach, say, sleeves to the rest of a shirt. 550 • CHAPTER 10 Polygon mode The tool works differently in polygon mode. This mode only makes sense if a polygon strip is selected that is a single polygon wide. The selected polygon strip’s top row of points will be welded with the strip’s bottom row of points. You can modify the functionality using the Shift key and Ctrl key. If you hold down the Shift key at the same time, a new polygon will be created in the same place as the selected polygon strip. Or if you hold down the Ctrl key at the same time, the point rows will be stitched together at the position halfway between the point pairs. Using Stitch And Sew when no elements are selected Using Stitch and Sew in point and edge mode with no elements selected. In point or edge mode, if no points or edges are selected, you can drag individual points or edges onto neighboring elements to weld them together. If you hold down the Ctrl key at the same time, the join will be at the position halfway between the two elements. Attribute manager settings If this option is disabled, a slightly different algorithm will be used: the Bridge algorithm. For information on the Bridge algorithm, look up ‘Bridge tool’ in the index. STRUCTURE MENU • 551 Weld The Weld tool can weld several object points or spline points into a single point. Select the points that you want to weld together, choose the Weld tool and click on a point to choose where the welded point will be placed (you’ll see a yellow preview appear). If you click elsewhere instead of on one of these points, the welded point will be placed at the center of the selection (again, this is marked by a yellow preview). Any polygons that become redundant will be deleted automatically. You can use weld with a single selected object or with multiple selected objects. However, keep in mind that the points of different objects cannot be truly welded together. The selected polygons of the cubes are welded at the position marked by the yellow highlighted point. In the example above, two polygons that face each other have been selected (the tool works in all three modes: point, edge and polygon; with edge and polygon mode, all points of the selected edges or polygons will be welded together) and welded together at the position marked by the yellow highlighted point. The result is shown in the inset. In this case, the two cubes are separate objects and the ‘welded point’ is, in fact, composed of two points in exactly the same place — one point for each object. In the case of splines, note that points on different segments can only be welded together truly if one is a start point and the other is an end point. Otherwise, the ‘welded’ points will simply be placed at the same position; they won’t be welded into a single point. Weight HyperNURBS You can weight HyperNURBS objects using this tool. For information on how to use the tool, look up ‘HyperNURBS object’ in the index. 552 • CHAPTER 10 Bevel  Negative values can be used to bevel inward. This tool enables you to bevel the selected points, edges or polygons. If no elements all selected, then all points, edges or polygons (depending on the mode) will be considered. To apply the bevel (Inner Offset and Extrusion), drag the mouse left or right. To adjust the Extrusion value while in polygon mode, Shift-drag instead. To adjust the Inner Offset value only, Ctrl-drag. Attribute manager settings Maximum Angle If Preserve Groups is enabled, all polygons not exceeding this angle relative to each other will hold together. Polygons that exceed this angle to each other are broken apart when beveled. Extrusion  The value entered for Extrusion plays an important role when interactively beveling with the mouse. In this case, there are no absolute values, so they then indicate values relative to each other. For example, if you set Extrusion to 1 and Inner Offset to 5, each element is moved exactly five units inward for each unit of outward movement, and vice versa. Defines the height of the bevel (the distance of the beveled surfaces from the original surface). STRUCTURE MENU • 553 Var (Extrusion) Var 0%. Var 60%. Varies the height of the extrusion. The value you enter is subtracted from 100% to give the start of the variation range. This option only has an effect if Preserve Groups (see below) is enabled. 0% No deviation from the Extrusion value. 60% All selected polygons are beveled between 40% and 100% of the Extrusion value. 100% All selected polygons are beveled between 0% and 100% of the Extrusion value. 180% All selected polygons are beveled between -80% and 100% of the Extrusion value. Inner Offset  The value entered for Inner Offset plays an important role when interactively beveling with the mouse. In this case there are no absolute values, so they then indicate values relative to each other. For example, if you set Extrusion to 1 and Inner Offset to 5, each element is moved exactly five units inward for each unit of outward movement, and vice versa. Defines the internal extrusion — the length the edges of the surfaces are to be inwardly shifted. Proceed with caution when beveling several connected polygons that you want to keep as a group. In the following example, only the outer edges of the selection are inwardly shifted. The edges of the inner surfaces of the selection are not affected. Before the beveling. After the beveling — only the outer edges have been shifted. This can lead to problems when starting from a certain Inner Offset value, since the outer edges can possibly overlap the internal ones. 554 • CHAPTER 10 Above, you can see the problem that arises when starting with an Inner Offset value that is set too high. To remedy, set Inner Offset to a lower value. Var (Inner Offset) Var 0%. Var 60%. Varies the inner offset. This option will have no effect if Preserve Groups (see below) is enabled. 0% No deviation from the offset value 60% Edges of selected polygons are inwardly beveled between 40% and 100% of the Inner Offset. 100% Edges of selected polygons are inwardly beveled between 0% and 100% of the Inner Offset. 180% Edges of selected polygons are beveled between -80% (outward) and 100% (inward) of the Inner Offset. Subdivision Subdivision set to 0. Subdivision set to 3. Defines the number of subdivisions along the length of the bevel’s extrusion. This is especially useful when working with HyperNURBs, where extra subdivisions can help to create a more uniform cross-section for the bevel. STRUCTURE MENU • 555 Create N-gons If you have specified extra subdivisions for the bevel’s extrusion, but you don’t want to see the extra edges in the viewport, enable this option. Type Here you can specify the type of bevel that will be applied. Convex, Concave and Bezier apply to edge bevels. Note that Subdivision must be set higher than 0. Edges prior to beveling (top left) and, clockwise: Convex, Concave, Bezier, Linear. Linear Produces a straight bevel. Convex, Concave Produces a convex or concave bevel. Bezier Produces a bevel in the shape of a Bezier curve. User Allows you to create a custom bevel shape using the spline graph. For details on how to use graphs in CINEMA 4D, look up ‘Function graphs’ on in the index. 556 • CHAPTER 10 Preserve Groups Preserve Groups disabled. Preserve Groups enabled. If this option is enabled, the connected surfaces will stay together, provided they do not exceed the angle set under Maximum Angle relative to each other. Polygon mode Example To create a faceted sphere: create a sphere, make it editable, switch to polygon mode, ensure that no polygons selected, disable Preserve Groups and in the viewport, drag the mouse. Before beveling. After beveling. Edge mode In edge mode, the selected edges will be beveled by two new edges that head in opposite directions as you drag the mouse to increase the Inner Offset value. If Subdivision is set to 0, the edges will be connected by a planar polygon. If Subdivision is set higher than 0, the edges will be connected by the bevel shape defined by the Type setting. The highlighted edges before beveling (left) and after beveling with Subdivision set to 0 and Type set to Linear (top right) and Subdivision set higher than 0 and Type set to Concave (bottom right). STRUCTURE MENU • 557 The highlighted edges before beveling (top left) and after beveling with various Extrusion and graph settings. The Maximum Angle and Extrusion values have no effect in edge mode. Point mode In point mode, the selected points will be beveled — that is, the points will be replaced by several points that you can adjust interactively by dragging the mouse. In point mode, the only Bevel parameters that are available are Inner Offset and Subdivision. Beveling in point mode (face mesh, left) and with Subdivision set to 0 and 3 (pyramids). As the face example above illustrates, the bevel tool is adept at removing poles (i.e. points that have more than four edges) and flattening out the tips of objects. 558 • CHAPTER 10 Extrude This tool extrudes selected points, edges or polygons. If no elements are selected, all of the object’s elements will be extruded. To extrude interactively in the viewport, drag left or right within the viewport. The extrusion takes place along the normals of the selected surfaces; the average value is evaluated from all the normals to be extruded. Attribute manager settings Maximum Angle If Preserve Groups is enabled, polygons not exceeding this angle to each other are kept together. Polygons exceeding this angle are broken apart during extrusion. Offset Defines the length of the extrusion. Var (Offset) Var 0%. Var 60%. Varies the length of the extrusion. This option is not available if Preserve Groups is enabled. The value you enter is subtracted from 100% to give the start of the variation range. 0% No deviation from the selected offset value. 60% All selected polygons are extruded between 40% and 100% of the Offset value. 100% All selected polygons are extruded between 0% and 100% of the Offset value. 180% All selected polygons are extruded between -80% and 100% of the Offset value. STRUCTURE MENU • 559 Subdivision Subdivision set to 0 (left) and 3 (right). Defines the number of subdivisions along the extrusion. Create N-gons If this option is enabled, n-gons will be created along the length of the extrusion. Although you won’t see edges along the length of the extrusion, the Subdivision setting is still applied internally. Create Caps (polygon mode) Enable this option to create a cap at the base of the extrusion. This gives you a quick way to create a closed volume. Edge Angle (edge mode) Here you can set the angle of the edge extrusion. You can also change the extrusion angle interactively in the viewport by holding down Shift during the extrusion. Edge Snap, Value (edge mode) If Edge Snap is enabled, the extrusion angle will be constrained to the Value setting. For example, to constrain the extrusion angle to steps of 45 degrees, enable the option and set Value to 45°. Preserve Groups Preserve Groups enabled. Preserve Groups disabled. If this option is enabled, the connected polygons will stay together during the extrusion, assuming they do not exceed the Maximum Angle relative to one another. 560 • CHAPTER 10  To extrude along an object or world axis instead of along the normals, perform an extrusion with an Offset (i.e. extrusion length) value of 0; then move the new surfaces using Move: To extrude, say, in the Z direction, lock the X and Y axes: Extruding edges To extrude the edges interactively, drag the mouse (this changes the Offset value, i.e. the length of the extrusion). With the mouse button still held down, you can Shift-drag to change the direction of the extrusion. If, at this point, you still keep the mouse button held down and release the Shift key and drag, you’ll change the Offset once more. So, by holding down or releasing the Shift key while you drag, you can change between adjusting the extrusion length and the extrusion direction. Extruding points Before extrusion (left), after extrusion without the Shift key (center) and the base of the extrusion beveled with the Shift key held down and a value greater than 0 (right). When extruding in point mode, the points will be extruded in the direction of the point normals. The original points at the base of the extrusion will be beveled with a value of 0 initially. You can adjust the Bevel parameter interactively during the extrusion by holding down Shift while you drag. STRUCTURE MENU • 561 Extrude Inner Before extruding inwards. After extruding inwards. This tool operates in a similar way to Extrude. However, in contrast to Extrude, the selected polygons are extruded inwards or, optionally, outwards. To inner extrude interactively, drag left or right within the viewport. Attribute manager settings Maximum Angle If Preserve Groups is enabled, polygons not exceeding this angle to each other will stay together during the extrude inner. If the polygons exceed this angle, they will be broken apart. Offset Defines the width of the inner extrusion (that is, the distance between an edge of the original polygons and the corresponding edge of the inner extrusion). Var Var 0%. Var 60%. Gives a percentage value for the variation of the width of Extrude Inner. This option is only available if Preserve Groups is disabled. 0% No deviation from the selected Offset value. 60% All selected polygons are inward extruded between 40% and 100% of the Offset value. 100% All selected polygons are inward extruded between 0% and 100% of the Offset value. 180% All selected polygons are extruded between -80% (outward) and 100% (inward) of the Offset value. 562 • CHAPTER 10 Subdivision Here you can define the number of subdivisions for the inner extrude. Subdivision set to 0. Subdivision set to 3. Create N-gons Enable this option if you have defined subdivisions but want to avoid the additional edges between the original polygons and the inner extrude that this would normally cause. Preserve Groups Preserve Groups enabled. Preserve Groups disabled. If this option is enabled, the connected polygons will stay together during extrusion, provided they do not exceed the Maximum Angle relative to each other. Proceed with caution when inner extruding several connected polygons that you want to keep as a group. In the following example, only the outer edges of the selection are moved inwards. The edges of the inner surfaces of the selection are not affected. This can lead to problems when starting with a certain Offset value, since the outer edges can possibly overlap with the internal ones. The problem occurs when starting with an Offset value that is set too high. To remedy, set Offset to a lower value. Before extruding inwards. After extruding inwards — only the outer edges are moved. Offset set too high. STRUCTURE MENU • 563 Matrix Extrude The Matrix Extrude tool is similar to Extrude, but with one difference: you can make as many extrusion steps as you want in one go. This is achieved by defining a relative value for move, rotation and size, which is then applied at each step. Matrix Extrude can be applied to polygons. The polygons are extruded individually — groups of surfaces are broken apart. If you have not selected any surfaces or if you are not in polygon mode, then all surfaces of the active object are automatically used. To use Matrix Extrude interactively, drag within the viewport. While you drag, you can also use the following keys for additional functionality: - Shift-drag to adjust the Size value. - Ctrl-drag to adjust the Rotate value. - Alt-drag to move in the Z direction. A couple of examples will help to illustrate the versatility of Matrix Extrude. For the first example, select a side of a cube and then apply the Matrix Extrude function with the following values: The side will be extruded a total of eight times. With each extrusion step, the surface will be moved 50 m in the Z direction. Furthermore, it will also be scaled by a factor of 0.8 on each axis per step. Additionally, at each step it will be rotated by 10° around the H axis (Heading). For the second example, create a sphere and make it editable by choosing Functions > Make Editable. Choose Structure > Matrix Extrude, enter the values shown below and click OK to apply the matrix extrusion and create the hairy sphere. 564 • CHAPTER 10  Keep in mind that the RAM used by the object can rise sharply when using Matrix Extrude — the hairy sphere example uses hundreds of times more RAM than a standard sphere. Attribute manager settings Steps Defines the number of extrusions for each polygon. Polygon Coordinates With Polygon Coordinates disabled, all of the cube’s polygons have been extruded in the same direction. Matrix Extrude depends on the polygon coordinates system if this option is enabled. If Polygon Coordinates is disabled, the world coordinates are used for each extruded surface. Move Defines the extrusion distance for each step. The Z-axis is the direction of the normal. STRUCTURE MENU • 565 Scale Sets the scale factor for each extruded step. A value of 100% will keep each step the same size as the base polygon. Values less than 100% result in smaller scaling and values larger than 100% increase the surface size along the appropriate axis. Rotate Use these input boxes to control the rotation of the extruded surface around the individual axes. For example, if you set the right-most box (which controls the banking) to 10°, the surface is rotated about its normal by 10° for each extrusion step. Variation This drop-down list enables you to vary the values of move, scale and rotate. None No variation is added. Initial The variation for each extrude step is defined once for each surface at the start of the extrusion. This random value then applies to each step. Per Step New random values are defined for the surface at each step of the extrusion. Move Min, Max Using the Min and Max values, you can choose the minimum and maximum deviation for the move values. For example, enter the value 50 for the movement on the Z-axis (right Move box). If you activate variation with Min at 50% and with Max at 100%, the surface can be moved randomly between 25 and 50 units along the Z-axis. With Min at 50% and Max at 160%, the surface can be moved between 25 and 80 units. Scale Min, Max Gives the minimum and maximum deviation of the scaling factors. For example, for scaling on the Y-axis, enter the value 50%. For Min enter 50% and for Max 160%. The resulting extrusion can now vary between 25% and 80%. Rotate Min, Max Defines the deviation for the rotation angles using the Min and Max values. For example, set H (left box) to 10, Rotate Min to 50% and Max to 160%. Now the angle will vary between 5° and 16°. 566 • CHAPTER 10 Smooth Shift Smooth Shift is very similar to the Extrude tool. With Smooth Shift, however, the connected surfaces are extruded coherently. The direction in which the surfaces are extruded with Smooth Shift is determined not only by the normals of the selected surfaces, but also by the normals of the adjacent (unselected) surfaces. This makes it quick and easy to extrude lumps. Drag the mouse left or right within the viewport to apply Smooth Shift interactively or, for as long as the tool is active, adjust the parameters in the Attribute manager. Smooth Shift can be applied to surfaces only. If no surfaces are selected, then all surfaces are considered. Attribute manager settings Maximum Angle This is the maximum angle at which surfaces may lie to each other to ensure that no additional surfaces are created with Smooth Shift. Quadrangles (and, in some cases, triangles also) are inserted in these critical places where the angle is exceeded, ensuring that the surfaces are not torn apart. These triangles should be avoided if you want to use an object for HyperNURBS, otherwise the HyperNURBS surface may display uneven shading properties. The marked surfaces are those which had to be additionally built and inserted because the Maximum Angle was exceeded. Offset, Var Here you can change the offset of the extruded surfaces. You can also specify a Var value to vary the offset per smooth shift extrusion group. STRUCTURE MENU • 567 Subdivision Subdivision set to 0 (left) and 3 (right). The Subdivision value defines the number of subdivisions along the smooth shift extrusion. Create N-gons Enable this option if you have defined subdivisions but want to avoid the additional edges between the original polygons and the smooth shift extrusion that this would normally cause. Normal Move  This tool is available in polygon mode only. Before. After. Selected surfaces are moved along their normals with this interactive tool. Use this tool interactively by dragging left or right within the viewport. You can also drive the tool with numeric input. Attribute manager settings Value The value for the move. 568 • CHAPTER 10 Normal Scale  This tool is available in polygon mode only. Before. After. Use this tool to scale selected polygons perpendicular to their normals. Use this tool interactively by dragging left or right within the viewport. You can also drive the tool with numeric input. Attribute manager settings Value The value for the scale. 100% means the surfaces are doubled in size. Normal Rotate  This tool is available in polygon mode only. Before. After. The selected polygons are rotated around their normals. The normals of each individual surface are used as the rotation axes. Use this tool interactively by dragging left or right within the viewport. You can also drive the tool with numeric input. STRUCTURE MENU • 569 Attribute manager settings Value The value for the rotation. Structure Context Menu You can quickly access various commands for points, edges and polygons from the context menu. Different commands are available depending on whether you’re working in point, edge or polygon mode These commands are mostly from the Structure menu and Functions menu. To access the context menu, right-click (Windows) or Command-click (Mac OS) on an object. 11 Functions Menu FUNCTIONS MENU • 573 11 Functions Menu Make Editable CINEMA 4D’s primitive objects and spline primitives are parametric, i.e. they have no points or polygons and are instead created using math formulae and parameters. Since these objects have no points or polygons, they can’t be edited in the same way as normal polygon objects and splines. For example, you can’t select and move points, nor can you apply commands like Extrude and Create Outline. However, you can edit these objects if you first convert them to points and polygons. To do this, select the desired primitives and choose Functions > Make Editable. Note that, other than using the Undo command, this conversion is one-way only. You cannot edit the points and then convert back to a primitive object. Arrange This function allows you to arrange, scale or rotate the selected objects in various ways. You can adjust the Arrange parameters in the Attribute manager with realtime visual feedback in the viewport. To use the Arrange function: - Select the objects that you want to arrange. - Set Mode to the desired mode (see below). - Click the Apply button if the objects are not instantly arranged. - Adjust the settings in the Attribute manager. You can change the settings for as long as the function is active. 574 • CHAPTER 11 Linear Mode Options Per Step This option defines whether the values for Position and Rotation apply from one object to the next or from the first object to the last. For example, suppose you have selected three spheres and set the Position Y value to 300. If Per Step is enabled, the first and second spheres will be 300 m apart; the second and third spheres will also be 300 m apart; and the first and third spheres will be 600 m apart. If the option is disabled, the first and last third spheres will be 300 m apart with the second sphere midway at 150 m. Position A cloud of spheres arranged using the Arrange function. Here you can define whether and how the selected objects will be spatially arranged. The arrangement will start from the position of the first selected object in the Object manager. The other selected objects will be moved away from this starting position. The directions refer to the world coordinate system. Depending on in which directions you want the objects to be moved, enable the X, Y or Z options and enter the movement values for these axes into the Move boxes. For example, if you want to place all objects in an object group onto a plane, enable the Y option and assign it a value of 0. All objects will then be set to the same height as the first selected object. FUNCTIONS MENU • 575 Scale Scaling with the origin at the object center (top) and away from the object center (bottom). Enable Scale controls if the objects will be scaled. Each object will be scaled towards or away from its origin. Therefore, ensure that each object’s origin is in the object’s center. The Scaling starts with the first object selected in the Object manager (this object stays the same size). The other objects will be scaled uniformly according to the Scale value, which either defines the change in scale between each selected object (Per Step enabled) or between the first and last selected objects (Per Step disabled — the value will be interpolated for the objects between the first and last objects). Rotation Various Rotate values with Per Step enabled. The Arrange function can also vary the orientation of the selected objects if Enable Rotation is enabled. The first object will keep its original rotation and the remaining selected objects will be rotated uniformly according to the Rotate value, which either defines the change in rotation between each selected object (Per Step enabled) or between the first and last selected objects (Per Step disabled — the value will be interpolated for the objects between the first and last objects). 576 • CHAPTER 11 The spiral staircase in the example below was created by moving the origin away from the object center. A spiral staircase achieved by moving each object origin away from the object’s center. Circle Mode In this mode the selected objects are arranged along a virtual circle. Options Per Step Has the same function as previously described for the Linear mode. Position Enable, X, Y, Z The Enable option controls whether the selected objects should be arranged along the virtual circle. The center of the virtual circle is determined by the position of the first selected object. Use the X, Y and Z options to choose which object coordinates should be arranged on the circle. FUNCTIONS MENU • 577 Radius Defines the radius of the virtual circle. Start, End These values define the start and end angles for the virtual circle. If Start and End are set to 0° and 360° respectively, the objects will be arranged at regular intervals along a full circle; the first and last object will be placed one on top of the other. Move You can specify an additional movement for the selected objects on top of the movement due to the circular arrangement and first object. Scale Has the same function as previously described for the Linear mode. Rotation Align Tangential Enable this option to align the selected objects with their X-axes tangential to the virtual circle. Other parameters The remaining parameters have the same function as previously described for the Linear mode. Various arrangements. Going clockwise starting from top-left, these are: Start set to 120°; with Y movement; full circle with X movement; Align Tangential enabled; Align Tangential disabled. 578 • CHAPTER 11 Along Spline mode In this mode you can arrange the objects along a spline. You can optionally specify a rail spline. Per Step Has the same function as previously described for the Linear mode. Position Enable, X, Y, Z Enable the Enable option to arrange the positions of the selected objects. Depending on in which directions you want the objects to be arranged, enable the X, Y or Z options. Spline Drag and drop the spline along which the objects should be arranged from the Object manager into this box. Provided Start Pos and End Pos are set to 0% and 100% respectively, the first selected object will be placed at the start of the spline and the remaining selected objects will be placed at regular intervals along the spline. Start Pos, End Pos These two parameters define the area of the spline along which the objects will be arranged. Scale Has the same function as previously described for the Linear mode. FUNCTIONS MENU • 579 Rotation Enable Rotation Here you can enable rotation for the objects. The objects will then be arranged along the spline with the axis specified by the Align value tangential to the spline. Rail Spline You can use a rail spline to control the alignment of the objects. Drag and drop the rail spline from the Object manager into this box. The alignment axis is defined by Align. Bank The Bank is the angle by which each object is rotated about the object axis defined by Align. Rotate You can rotate the objects using the Rotate value. It has the same function as previously described for the Linear mode. However, this rotation will be added to any rotation defined by the optional rail spline. Various arrangements along a spline. Start Pos set to 100% (top) and 50% (center); Rail Spline enabled (bottom). 580 • CHAPTER 11 Center This command centers objects in 3D space. It affects all the objects that are selected in the Object manager. The selected objects’ children are also affected. CINEMA 4D calculates the size of the object group; think of this as a three-dimensional cuboid which encloses the objects and imagine an axis system whose origin is at the center of this cuboid. This imaginary cuboid (Figure 1, below) is important in understanding the alignment options. Figure 1. Figure 2. The Center command lets you specify where the objects should be placed in terms of each axis of the cuboid. You can affect how this command works using the various settings in the dialog. X Axis, Y Axis, Z Axis Negative and Positive represent the two ends of the corresponding cuboid axis where it crosses the imaginary bounding cuboid. Middle represents the center of that axis. Choosing the dashes disables alignment for the particular axis (see Figure 2, above). FUNCTIONS MENU • 581 Connect Using this command you can create a single object from multiple objects. For example, you might connect a fence consisting of hundreds of individual planks to form just a single fence object. Not only does the connected object take up less display space in the Object manager, it is also renders more quickly even though it has the same number of polygons. You can connect Polygon objects or Spline objects (not spline primitives, though — the splines must be editable). To connect objects, select the objects that you want to connect and choose Connect. The original objects will be preserved; delete these if they are no longer required. Use the command only if you are certain that the object will not need separating later — although you can separate the object into its original parts manually, it is a time-consuming process. When connecting splines together, keep in mind that the interpolation that is set for the top-most of these splines in the Object manager will be used to set the interpolation for the spline that is created by the Connect command.  Animation data is not copied to the new object. The original objects (including their animation data) are preserved. Current State To Object  If the original object is parametric, the function creates a polygon copy (taking into account any deformers and hierarchies). Child objects are ignored — the function must be called separately for each child object that you require. This command creates a polygon copy of the selected object. For example, if you are using several deformers on an object, you can copy the resultant shape into a normal polygon object (the deformers will not be required for the copy). Or perhaps you have defined an animation (e.g. using PLA) and you want to create a polygon copy of the shape at a particular frame — simply move the time slider to the required frame, select the object and choose this command. This function is particularly useful for fine-tuning morph animation manually.  Animation data is not copied to the new object. The original object (including its animation data) is preserved.  Create and animate an object, e.g. with PLA. Move the time slider until the object is in the state that you want to copy. Choose Functions > Current State To Object. 582 • CHAPTER 11 Duplicate RAM-permitting, this function enables you to create as many duplicates of the selected objects as you wish. The function also lets you move, scale and rotate the duplicates and arrange them along a spline. Copies defines the number of duplicates that will be created. The duplicated objects will be placed inside a Null object named ‘*_copies’, where ‘*’ represents the name of the object that is being duplicated. If Generate Instances is enabled, CINEMA 4D will create the copies as Instance objects instead of as real copies. The Duplicate function otherwise works in exactly the same way as the Arrange function. For details on the remaining parameters, Look up ‘Arrange tool’ in the index. FUNCTIONS MENU • 583 Measure & Construction Measurement and interactive adjustment of the angle between two cubes. You can easily perform the following tasks using the Measurement and Construction tool — referred to as ‘M&C’ in the following: - Measure the distances and angles between objects. - Adjust the distances and angles numerically after taking the measurement. - Store measurements in a Measurement object for use later on. To measure and change object distances: 1. In the viewport or Object manager, select the objects that you want to measure. 2. Choose the M&C tool and if necessary click the New Measure button. 3. Hold down both Shift and Ctrl and drag and drop a measurement line from the start to end of the distance that you want to measure (the ends of the measurement line will snap to points, polygon centers and the midpoint along edges). The distance measured will appear in the viewport (midway along the measurement line) and in the Attribute manager (Distance 1). The measurement line is colored red by default. 4. If you also want to measure an angle, create a second measurement line by Ctrl-clicking on the point where the line should end. This second line is colored green by default. This time, you’ll see an angle value and a distance value appear in the viewport and Attribute manager (Angle and Distance 2). 5. You can change the distance and angle values in the Attribute manager or directly in the viewport (drag the values). 584 • CHAPTER 11 To move an object’s individual points, edges and polygons: 1. Select the appropriate tool (Points, Edges or Polygons). 2. Select the elements that you want to move. 3. Hold down both Shift and Ctrl and drag and drop a measurement line from the start to end of the distance that you want to measure. Create a second measurement line if you want to change the angle. 4. Adjust the Distance and Angle values. You can move the start and end points (arrowheads) of the measurement lines to new positions at any time. To move the arrowheads: - Shift-click or Shift-drag (red arrowhead). - Ctrl-click or Ctrl-drag (green arrowhead). FUNCTIONS MENU • 585 Attribute manager settings Options Selection The M&C tool allows you to store multiple measurements. A new measurement is created each time you click the New Measure button. Use the Selection drop-down list to choose which measurement is currently active and has its settings displayed in the Attribute manager. Show This option controls whether the active measurement is displayed in the viewport. New Measure See ‘Selection’, above. 586 • CHAPTER 11 Delete Measure Deletes the active measurement. Create Object This button creates a Measure object, which enables you to store measurements. The Measure object stores almost all options, parameters and measurements. See also ‘Selection’. To change a Measure object’s distance and angle values: 1. In the viewport or Object manager, select the objects involved in the measurement. 2. Choose the M&C function. 3. In the Attribute manager, set Selection to the name of the Measure object that you want to edit. 3rd Point A second measurement line is required if you want to measure an angle. To add the second measurement line, enable the 3rd Point option or Ctrl-click in the viewport. To delete the 3rd point and revert to a single measurement line, disable 3rd Point. Measure, Distance, Angle, -> The Measure options define whether the distance and angle values are displayed in the viewport. Distance 1 and Distance 2 define the length of the two measurement lines. Angle defines the angle between the measurement lines. You can change these values in the Attribute manager or interactively in the viewport (drag the values). The options on the right (‘->’) define the direction of the measurement. If both objects are selected, the options define which object will be moved or rotated when you change the distance value; otherwise, the selected object will be moved or rotated. Colors Defines the viewport display colors for the measurement lines (Rule 1 and Rule 2) and the end points (Points). Point 1, Point 2, Point 3 Here you’ll find information about the objects being measured, including the names of the objects and the index numbers and positions of the points at the ends of the measurement line(s). Usually, you won’t need to enter values here because they will be set automatically when you define the measurement lines. However, there is one option that you may need to set manually: if you set Mode to World, the corresponding object point will be defined as a fixed point in the world coordinate system. Among other things, this enables you to move two selected objects together. FUNCTIONS MENU • 587 Transfer Use this function to transfer the selected objects to the position, scale and/or rotation of another object (defined by Transfer To; this object is sometimes called the reference object). You can also specify which coordinates should be transferred. For example, to set the selected objects to the same height as the reference object, enable the options for Enable Move and Y and disable the other options. Randomize You can use this function to place a number of objects in a random fashion to create, say, an asteroid field. You can also randomize scale and rotation. Randomize is especially useful for large numbers of objects, saving you the time it would take to position them manually. The function affects all selected objects. 588 • CHAPTER 11 Move The maximum values by which the objects may be moved. For example, values of (100,0,0) allow the objects to move by up to 100 units from their original positions in the X direction, but there will be no movement in the Y and Z directions. Scale  The objects are scaled from their origins, therefore the position of the origin is important. The scaling can also be affected if any of the axes has been scaled independently of the object using the Object Axis tool. To be safe, use the Model tool rather than the Object tool when scaling. The maximum values by which the objects may be scaled. For example, values of (3,1,1) allow the objects to be scaled by up to three times their original sizes along the X-axis, but there will be no scaling in the Y and Z directions. Rotation  Check that none of the objects overlap after being randomized. This tends to occur when the original objects are close together before the Randomize command is used. Corrective positioning of overlapping objects may be required. The maximum values by which the objects may be rotated. For example, values of (0°,85°,0°) allow the objects to be rotated by up to 85° about the pitch axis, but there will be no rotation about the heading and bank axes. Reset System This command restores the object coordinate system. To understand this section, you need to be aware of the differences between the Object and Model tools (look up ‘ Model tool’ and ‘Object tool’ in the index). Normalize Axes Resets the lengths of the object axes to 1/1/1. FUNCTIONS MENU • 589 Align Orthogonally Resets a distorted system to conventional perpendicular axes. Offsets  Primitives, light sources and all other non-polygonal objects can only be partially reset with the Offsets option, or possibly not reset at all. If Offsets is enabled, only the axes are restored, not the points — the points remain in their distorted state. Reset Sub-Objects Resets the axes for all child objects as well for the parent. To learn why this is useful, do the following. - Create a cube and a sphere. - Convert both objects to polygons with Functions > Make Editable. - Move the objects apart. - Make the cube a child of the sphere (drag-and-drop in the Object manager). - In the Coordinate manager, ensure that Scale is selected (middle drop-down list). - In the Object manager, select the sphere. - Select the Object tool. - In the Coordinate manager, set the X value for Scale to 2. - In the viewport, select the cube and rotate it about its Z-axis. As you rotate the cube, it distorts (Figure 1, below). Now we are ready to see how such distortions — caused by using the Object tool instead of the Model tool during the modeling stage — can be corrected using the Reset System command. Figure 1. Figure 2. 590 • CHAPTER 11 Figure 3. Figure 4. - Take the cube out of the sphere hierarchy so that it is no longer a child (drag-and-drop in the Object manager). The X-axis and Y-axis no longer form a right angle (Figure 2). - Ensure that the Cube object is selected. - Choose Functions > Reset System and in the dialog that opens, enable Align Orthogonally and disable the other options in the dialog. Click OK to reset the cube’s axis system. - Rotate the cube. The cube no longer distorts when rotated. Its axis system has been restored and is no longer distorted. However, it has not been restored to its normal size, since the Normalize Axes option was not enabled (Figure 3). - Undo the last step. - Choose Functions > Reset System. - Select the cube once more and enable the Align Orthogonally and Offsets options. This time, only the axes are corrected. The object’s points remain exactly where they were (Figure 4). Align Normals When creating surfaces you may sometimes inadvertently create surfaces whose normals point in the wrong direction. Using Align Normals, you can quickly correct the direction. When you use Align Normals CINEMA 4D will adjust and re-align the incorrect surface normals to the correct direction. CINEMA 4D adjusts the orientation of the normals according to the normal direction of the first surface of the currently selected group of surfaces. If no surfaces are selected then all normals are aligned. FUNCTIONS MENU • 591 Why exactly are these normals needed? CINEMA 4D cannot easily recognize an object’s inner and outer surface without extra information. A basic sphere has an inner and an outer side, but only one surface level, which can be confusing. We need a better definition. Let’s define this single surface level to have an inner and an outer property. Outer designates, in principle, the direction in which the surface normals point and inner is therefore the opposite direction. This plays a role with texture projection, where you can project textures from only the front or the back. So, if as many normals point one way as the other way, how do we decide which is the outer surface? We could either choose randomly or, perhaps, look at the first polygon in the sequence and use its normal as the basis of our calculation — CINEMA 4D does the latter. Why change the direction of the normals? As described above, the direction of the normals defines the interior and the exterior of an object. This is important, among other things, for displaying an object in the viewport. Occasionally, when building certain objects, a situation can arise in which some polygons seem invisible. This can happen if backface culling is on and the reason is as follows. To save on processor performance you may have enabled backface culling for your scene; this is where only the polygons visible from the front of an object are displayed in the viewport. The polygons positioned directly at the back of an object are not drawn. When displaying a sphere and other volume objects in the Gouraud Shading mode you may notice no difference, simply because you do not see the back of the sphere anyway. But should you select all the polygons of this sphere and reverse the normals (see next section), you will now see only the back of the sphere; the front is now transparent since you have inverted the sphere. The inside is now the outside, and this becomes invisible because of the backface culling. Should you find yourself inadvertently in a situation like this you should switch off backface culling and reverse the normals of these polygons. The adjustment of these normals also plays an important role with tools such as Smooth Shift and Extrude. These model tools always move in the direction of the normals by default. If you should need to move several surfaces with different normal alignments using Smooth Shift you will obtain useless results, since the surfaces are moved in their own respective — and opposite — directions. Another important factor is smoothing with the Phong tag. CINEMA 4D calculates whether edges are to be rounded by considering the angle of the surfaces to each other. If two surfaces with differently aligned normals lie next to each other, CINEMA 4D calculates the wrong angle information — thus causing unwanted, often ugly, results when smoothing: Also, when using the Displacement material channel, the angle of the normals plays an important role. 592 • CHAPTER 11 Reverse Normals  Reversing the normals is achieved by changing the point sequence in a polygon (see Chapter 24, ‘Structure Manager’). This function is similar to Align Normals. Here, however, the normals are reversed. If no polygons are selected, all the normals of a selected object are reversed. With an active selection only the normals of the selected surfaces are considered. Move Down Sequence, Move Up Sequence These functions are mostly used with splines; hence, you’ll also find these functions on the Structure > Edit Spline submenu. When the functions are applied to polygon objects, the effect is indirect: the order of the points is changed for the selected polygons. This in turn changes the polygon coordinate system. Tools that use the polygon coordinate system such as Matrix Extrude will then have a different effect when applied to the polygons — see the example below. Example The Move Up Sequence function applied to two selected polygons (left) and the result of applying Matrix Extrude to all of the polygons (right). To learn about the polygon coordinate system, look up ‘Polygon object’ in the index. FUNCTIONS MENU • 593 Collapse With the Collapse function, the selected points, edges or polygons are scaled down to a size of zero towards their center point. These points are then welded together. The function works in all three modes (point, edge and polygon). Before Collapse (left) and after Collapse (right). Melt Before (left) and after (right) the Melt function has been applied to the selected points, edges and polygons. This function melts away the selected points, edges or polygons. Point mode Removes the selected points; polygons whose points were involved are converted to an n-gon. 594 • CHAPTER 11 Edge mode Removes the selected edges; points that have become superfluous as a result (i.e. points that are no longer part of an edge) are also deleted. Polygon mode Removes the inner edges of selected polygon groups.  The Melt function is useful during the modeling process only. When it comes to rendering or animation, there are no benefits to Melt because any n-gons created by the function will be internally triangulated. FUNCTIONS MENU • 595 Optimize If you were to build an object from many individual triangles and quadrangles — by using the Connect function, say — very often some of the points and surfaces would be duplicated. For example, the parametric primitives can contain duplicate points after being converted to polygon objects. You can eliminate these double elements with the Optimize function. The appearance of the object will not change, or will change only slightly, when using this function. Caution is required with objects that intentionally use these double points. Such points can be intended, for example, to produce hard edges — such as the caps of a Cylinder primitive — that cannot be smoothed over by a Phong tag or by a HyperNURBS object. The selected elements to be optimized can be points, edges or polygons. If you select polygons or edges, then the associated points are also considered. If you select points only, then just the points are considered. This tool can be applied to splines points also. Polygons When enabled this will eliminate one- or two-point surfaces. Unused Points Enable this option if you want unused points to be deleted. Points Specifies whether duplicated points are to be eliminated. Tolerance When eliminating points you may enter a tolerance value. If points are closer to each other than this value, then they are merged into one point; if the points are further apart than the value, they won’t be merged. If polygons become redundant (e.g. if all three corner points of the polygon occupy the same point), CINEMA 4D will automatically delete them. 596 • CHAPTER 11 Subdivide With this command you can partition polygon objects or splines. If no polygons are selected when subdividing a particular polygon object, then all polygons are partitioned. Otherwise, only the selected polygons are subdivided. Subdivision The number of subdivision steps to be applied. Proceed with caution — the number of surfaces (or the number of points), and therefore the RAM required, for any object rises dramatically with each increase in this value. For triangles and quadrangles, with each extra subdivision step a polygon is divided into four surfaces. So, if the object initially has three surfaces, a single subdivision results in 12 surfaces, a second subdivision results in 48, a third in 192 and so on. For n-gons, a point is created in the center of the n-gon; edges are then created that run from the center point to the n-gon’s original corner points. The new polygons are made up of triangles and quadrangles. HyperNURBS Subdivide  If HyperNURBS Subdivide is enabled, triangles are divided into three quadrangles — with normal subdividing you would get four triangles. With this option enabled the object is subdivided using the HyperNURBS formula. Point positions that already exist are modified to round the structure of the surface. If this option is disabled, existing point positions are maintained and the surface is not smoothed when subdividing. HyperNURBS Subdivide is a common method of modeling on a polygon basis — you start with a low detail basic model that you can quickly and easily modify. You then subdivide, modify it again, subdivide again and so on. Maximum Angle Defines the maximum angle at which the surfaces may be to each other in order to be smoothed. If the angle is larger than this value, a hard edge remains. FUNCTIONS MENU • 597 Triangulate Triangulate converts all of an object’s polygons to triangles. Generally, when modeling try to use quadrangles as much as possible since they are rendered faster than triangles and in addition tend to shade better. Untriangulate If you have an object built only of triangles (e.g. imported from another program), CINEMA 4D can try to convert the triangles into quadrangles. This works only as long as the triangles that you want to convert will result in a planar quadrangle. Triangles that cannot be converted are left in their original state. So, Untriangulate works only for triangles that result in planar quadrangles. If Evaluate Angle is disabled, CINEMA 4D tries to convert all triangles to quadrangles. This can result in unwanted edges and shading errors. In such cases, enable Evaluate Angle.  Untriangulate does not affect n-gons. Retriangulate N-gons Look up ‘N-gon Triangulation mode’ in the index. 598 • CHAPTER 11 Remove N-gons This command converts the selected objects’ n-gons to triangles and quadrangles. While you are modeling you can check up how the n-gons would be triangulated by enabling the N-gon Lines option in the viewport settings on the Filter tab (viewport: Edit > Configure). Keep in mind that these triangulation lines may change at any time while you are editing the mesh. Array An array is a list — an even arrangement of elements. Using Array you can duplicate the selected points or polygons of an object (in the following this selection is referred to as an element) and distribute them more or less evenly in the X, Y and Z directions. You can vary the size and rotation of the duplicated elements about their axes. With these options you can duplicate the array of elements in a perfectly even manner or alternatively produce a more random, scattered surface or point order. Arrays will always be duplicated along the object axes of the selected object. Connected surfaces are coherently duplicated. If no elements are selected or if you are not in the point or polygon mode, all surfaces and points of the selected object are duplicated. If just points alone are selected then they will be duplicated without their adjacent surfaces. To create surfaces for these points, use the Bridge tool or Create Polygon tool. Consider a blade of grass. You could easily use the Duplicate tool from the Functions menu to copy the blade of grass and then randomly distribute these copies with the Randomize function. FUNCTIONS MENU • 599 The disadvantage of this method is the many individual objects that result from it. With the Array tool you duplicate just the surfaces (or points) and not the complete object. Thus you can produce a complete meadow from a single blade of grass. Clones Defines the number of clones along each object axis. This value also includes the original element. For example, if you enter the value of 2 for all three axes, it results in a total number of 2x2x2=8. In effect, however, only 7 actual clones are produced. Holes This value adds a random factor to the number of elements that are created. You may enter values from 0% to 100%. A value of 0% means the complete number of elements that has been input is created. With 50% only half of the elements are created — which elements are omitted is selected randomly. With 100% no new elements will be created. Offset Defines the size of the array. You can enter different values for each of the X, Y and Z directions. These values are absolute — they refer to the entire size of the array (including the start element). Move Variation These parameters define how the positions of the duplicated elements vary. This arrangement enables you to assign either accurate or uneven positioning. If the values for all axes are set to 0 then an accurate position is assigned to each duplicated element. If you set the X value to 100, however, the individual elements can deviate from -100 to +100 units from their position in the X direction. Scale Variation Defines the variation of the element size. The values are shown as a percentage. 100% means that the size is not affected. For example, entering 50% for the X value results in the X size of the individual elements varying from 50% to 100%. With 0% the size varies from 0% to 100%. Uniform Scale If this option is enabled, the percentage values chosen for X, Y and Z will also be used for relative scaling. For example: X = 200%, Y = 100%, Z = 50% results in a relation of 2:1:0.5. The individual elements can then be scaled only according to this relative scaling. If this option is disabled, the axes of the individual elements can be scaled independently. Rotation Variation Each element is assigned its own virtual axis. The elements may then be rotated randomly. The values, in degrees, which you enter for each rotation axis define the maximum positive and negative rotation around the appropriate axis. 45° would mean that the element can rotate in a radial zone from -45° to 45° in each case. 600 • CHAPTER 11 Clone This tool enables you to duplicate the surfaces or points of an object and optionally rotate the duplicated items about the object axis. You may also specify an offset that is used to move the duplicated elements along the object axis. Only selected elements (surfaces or points) are cloned. In point mode the selected points are cloned individually without their adjacent surfaces. If no elements are selected or if you are not in point or polygon mode, the complete object geometry is cloned. With this method you could, for example, create a spiral staircase simply by creating a cube, converting this to a polygon object (using the Make Editable command), scaling it (e.g. to X = 200, Y = 30, Z = 80), moving its object axis in the X direction and then using Clone with these values: Clones Defines the number of clones along the selected object axis. Offset, Scale and Rotation specify the parameters for the final clone. The intermediate clones use interpolated values. Holes With this percentage value you can define the number of cloned elements that you want to be omitted from the total. With 0% the full number of clones is created. With 50% only half will be created. The omitted elements are randomly selected. With 100% no new elements at all will be created. Axis Defines the object axis about which the clones are to be rotated. For example, to create a spiral staircase, set Axis to Y. FUNCTIONS MENU • 601 Offset Gives the distance from the start element to the last clone along the selected object axis. All intermediate clones are distributed evenly over this distance. Scale This parameter enables you to scale the clones. The scale of the clones will increase gradually all the way to the last clone. Enter the size of the final clone as a percentage of the start element’s size. For example, if you want the last clone to be twice as large as the start element, set Scale to 200%. Rotation Defines the angle through which the clones are rotated. With 180° the object would rotate half a revolution from start to finish; with 360° a full rotation is made. Move Variation By default, all clones are assigned a fixed position that depends on the above settings. You may vary these positions using Move Variation. For example, if you set the Move Variation value for Y to 10, each clone can deviate from -10 to 10 units in their Y position. Scale Variation Defines the variation in the size of the clones as a percentage. At 100% the size is not varied. Entering 50% for the X value means that the X size of the individual elements can vary between 50% and 100%. With 0% the size varies between 0% and 100%. If you enter 200% then the value will vary between 100% and 200%. Uniform Scale If this option is enabled, the percentages entered for X, Y and Z are used for relative scaling. For example, with Uniform Scale enabled, X set to 200%, Y to 100% and Z to 50%, the ratio of scaling is 2:1:0.5; the individual elements can then be scaled only according to this ratio. If this option is disabled, the axes of the individual elements can be varied in scale independently. Rotation Variation Each element is assigned its own virtual axis. The element may then be rotated randomly around its axis with the value entered here. The value, in degrees, that you enter for each rotation axis defines the maximum positive and negative rotation about the appropriate axis. 45° would indicate that the clones can vary in their radial rotation from -45° to 45° at each clone. 602 • CHAPTER 11 Disconnect This command is also available on the Structure menu. Look up ‘Disconnect command’ in the index. Explode Segments This command is also available on the Structure menu. Look up ‘Explode Segments command’ in the index. Split This command is also available on the Structure menu. Look up ‘Split command’ in the index. Break Phong Shading Phong shading is broken for the selected edges. The Phong tag’s Angle Limit option will be enabled automatically if it isn’t already enabled. Unbreak Phong Shading Phong shading is restored for the selected edges. If you are not working in edge mode, Phong shading will be restored for all broken Phong edges. Select Broken Phong Edges Selects all broken Phong edges. Increase/Decrease HN Subdivision With these two functions you can increase or decrease the Subdivision Editor value for the selected HyperNURBS objects. 12 Plugins PLUGINS • 605 12 Plugins Plugins are auxiliary modules that extend the function range of a program. In CINEMA 4D, plugins are able, for example, to automate particular functions, to make new tools available (perhaps for modeling or animation), to add new import and export filters or to add new shaders. For this purpose, CINEMA 4D includes a powerful programming language, C.O.F.F.E.E., available to both developers and end-users. C.O.F.F.E.E. is an object-oriented programming language, closely related to C++ and Java. Full information and the SDK is available at www.plugincafe.com, where you’ll also find links to many plugins.  Plugins can be developed freely by anyone and offered for sale. However, MAXON, as the manufacturer of CINEMA 4D, has no influence on the quality of these plugins and you should assure yourself as to the value-for-money and usefulness of a plugin before purchase. We give as much support as possible to all vendors and developers of plugins — however, if a problem should arise with one of these products, please contact the manufacturer of the plugin directly. Please understand that MAXON can give no information on, or provide technical support for, products from other manufacturers. As already mentioned, plugins can solve many diverse tasks and therefore, after installation, your new plugin may appear in different places within the CINEMA 4D menu structure. Please always consult the vendor’s documentation that was supplied with your plugin. If there is no special information to be found in the documentation, a plugin will usually be found on the Plugins menu.  You cannot add new plugins while CINEMA 4D is running, Instead, quit CINEMA 4D first, then install the plugins. When you next start CINEMA 4D, the plugins will load automatically. Execute Last Plugin This command gives you a quick way to call the last plugin used, especially if you assign a shortcut to this command using the Command manager. 606 • CHAPTER 12 ASCII Animation Import This plugin allows you to load ASCII-format CSV files (‘comma-separated values’) containing animation data. The plugin can also load TXT and ASC files. Values in the CSV file are separated in some way such as by commas. For example, a typical CSV file could look as follows: Frame, X Position, Y Position, Z Position 0, 100, 0, 0 1, 105, 0, 0 2, 110, 0, 0 etc. To use the plugin, select an object and choose Plugins > CINEMA 4D > ASCII Animation Import. The following dialog will appear. Headline Enable this option if the CSV file has a headline as its first line (such as ‘Frame, X Position, Y Position, Z Position’, from the example above). Otherwise, the headline will be interpreted as values. If, on the other hand, the CSV file has no headline, then disable the option, otherwise the first line of values will be ignored. PLUGINS • 607 Scaling (Only Real) Each real value imported from the CSV file will be multiplied by this value. Changing the scaling in this way is necessary when the values you are importing from another program are very different to the values typically used in CINEMA 4D. Separator Here, choose which character separates the values in the CSV file. Track The imported values will be stored in animation keys, in the Value parameter. Here, choose the format for the key values. The default value of ‘Real’ is suitable in most cases. Time These options control how the start frame and animation length are determined by the plugin. Frame Each line in the CSV file defines a key per animation frame, starting at frame 0. Project Length Distributes the keys evenly over the length of animation defined in the project settings (Edit > Project Settings). First Value Is Frame The first value in each row defines the frame number for the key. OK button When you click the dialog’s OK button, the animation tracks and keys will be created. 608 • CHAPTER 12 Initially, these tracks are not assigned to parameters. This is because CINEMA 4D has no way of knowing which track should be applied to which parameter. The next step is to manually assign the imported tracks to the parameters that they should animate. To do this, add tracks for each parameter that should be animated. For example, to create a Position X track, in the Timeline choose File > New Track > Parameter > Position > X. Once you have added all the parameter tracks that are required, delete their sequences, then copy or drag the imported sequences onto the parameter tracks. If you want to move position tracks such as the Position X track individually, disable Vector Selection on the Timeline’s Edit menu. For more information on editing in the Timeline, see Chapter 19, ‘Timeline’.  When importing long animations, keep in mind that CINEMA 4D can assign keys up to the maximum document length only, as defined in the project settings (Edit > Project Settings). Values exceeding the document length will be lost. PLUGINS • 609 FlashEx FlashEx exports single objects or entire scenes in Macromedia’s Shockwave Flash format (SWF files). Using this format you can save entire animations for use on the Internet or in CD-ROM applications. The most important reason for using the SWF format is to save and animate vector lines. Although you can also export SWF files with embedded bitmapped graphics, the main strength is the vector output (for animations that include embedded bitmapped graphics, use .avi, .mov or .mpg instead of SWF). When producing vector output, FlashEx converts the three-dimensional data to two-dimensional vector lines, optimizes them and saves them while maintaining the smallest possible SWF file size. Bitmapped textures and procedural shaders are ignored, as are bump maps, fog, transparencies and anything else that can’t be displayed as vectors, such as Sky objects. Camera settings such as zoom are supported. However, note that FlashEx supports the Perspective camera view only. General tab Duration, Frame Rate, File On this page, you’ll find settings much like the ones on the Output page of the render settings. Here you can set the duration, frame rate and choose the filename and save location for the SWF file that will be created. If you want to use the same settings as defined in the render settings, click the Render Setting button. These settings will then be loaded into the FlashEx dialog. Generate HTML In addition to creating an SWF file, you can also generate a HTML page which includes the SWF file. You can cut-and-paste the HTML code from this page directly into your own HTML pages or edit the code. 610 • CHAPTER 12 Optimize For The Width and Height input boxes enable you to specify the optimum display size. When an SWF file is opened directly, most Internet browsers will display it in full screen mode but if you have enabled the Generate HTML option it will be displayed using this optimum size if possible. This size can be changed afterwards using any HTML editor. Optimize For settings are especially important for the display of lines and the Gouraud and Comic modes. (See also ‘Mode’, below.) Mode This drop-down list enables you to change the render mode. The Wireframe, Hiddenline, Outline and Solid modes are rendered using vector lines. SWF files using these modes are fully scalable without loss of quality. The other modes are based on vectorized raster images and therefore loss of quality is possible when scaling them. Wireframe Objects are displayed as wireframe models. If backfaces should be drawn as well, set Polygons to All. Hiddenline This mode is the same as Wireframe, except that hidden parts of the geometry will not be drawn. Outline Only the outlines are drawn. Solid This mode is similar to Outline except that each object is filled with the color of its material (Color page). All other material channels are ignored. Procedural materials, plugin materials and textures are all ignored. Gouraud Limited This mode generates shaded surfaces based on vectorized raster images. The accuracy is limited to pixels and therefore not as clean as the vector-based modes such as Wireframe or Solid. Just like a normal 2D picture, when you scale the SWF document there will be a loss of quality. To improve the quality of Gouraud output, increase the Width and Height values. PLUGINS • 611 Comic Flat Limited, Comic Round Limited Comic Flat. Comic Round. These two modes draw the objects cartoon-style. The Flat mode is the more suitable of the two for angular objects. Since the Comic modes generate shaded surfaces based on vectorized raster images, the accuracy is limited to pixels and therefore not as clean as the vector-based modes such as Wireframe or Solid. Just like a normal 2D picture, when you scale the SWF document there will be a loss of quality. To improve the quality of Gouraud output, increase the Width and Height values. Polygons This setting determines whether all polygons are drawn (All) or only those facing the camera (Only Frontfaces). Each polygon has a surface normal and two faces: a front face and a back face. The direction of the surface normal defines which side is the front face and which is the back face. In general, all objects should be modeled with the surface normals pointing outwards. In this case, polygons whose surface normals point towards the camera are also at the front of the objects and those that are pointing away are at the back. If you want to see the back faces in Wireframe mode, set Polygons to All. If instead you set Polygons to Only Frontfaces, only the front faces will be drawn. For all rendering modes apart from Wireframe, you should generally set Polygons to Only Frontfaces. This is because in most cases the front faces will cover the back faces and so you won’t see the back faces anyway. Calculating back faces in these cases is a waste of render time. 612 • CHAPTER 12 Background tab The background color is defined on this page of the FlashEx dialog. When importing SWF files into certain applications such as Macromedia Director, this background color can be made transparent. Lines tab Outline If this option is enabled, lines are drawn for all outer edges and intersecting lines. Edges Angle If this option is enabled and two polygons face each other at an angle greater than the one entered, they are drawn as edges. PLUGINS • 613 Width This slider defines the vector line width and ranges from 0 to 20. A value of 0 creates a hairline which is still drawn as a hairline even if the SWF file is scaled larger in the Internet browser. When using values above 0, the lines are scaled with the document. An SWF file with an optimal size of 320 x 240 pixels and a line width of 1 pixel will display a line width of 2 pixels if it is scaled to a document size of 640 x 480 pixels. Merge Planes Merge Planes disabled. Merge Planes enabled. If a spline is extruded using Extrude NURBS, the caps consist of many triangles and the resulting vector lines are usually unwanted. If this option is enabled, the lines of these caps are not drawn. This option is only relevant when using the Wireframe or Hiddenline modes. Color, Brightness, Transparency These sliders control the color and opacity of the lines. Setting the line color to black and setting Transparency to 80% results in slightly visible lines which let the object color shine through. HTML tab These settings correspond to the Macromedia Flash settings and are saved within the HTML document. The HTML settings allow you to determine if the animations play repeatedly (Loop) or once only; if the animations are played as soon as they are loaded and whether the quality setting should adjust automatically according to the processor performance. These settings can still be adjusted afterwards using a HTML editor. 614 • CHAPTER 12 The default options should be fine in most cases. For example, a quality setting of Automatic High results in the lines being antialiased. However, if the processor is unable to play back the animation properly with this setting, the Quality is reduced and the lines are drawn without antialiasing. The browser will do this automatically. FlashEx Tag Each object can be assigned a FlashEx tag (Object manager: File > CINEMA 4D Tags > FlashEx). This enables you to use a different line color and width for each object if you wish. The settings for the FlashEx tag are the same as those shown on the Lines page of the FlashEx dialog. FlashEx FAQs In this section you’ll find answers to commonly asked questions about FlashEx. When using Hiddenline or Wireframe modes, I get lots of triangles on the caps of objects. How do I get rid of the triangles? In the FlashEx dialog, on the Lines tab, enable Merge Planes and those lines are no longer drawn. When I render round objects in Wireframe or Hiddenline mode, several lines are missing. In the FlashEx dialog, on the Lines tab, disable Merge Planes. If other objects in the scene need the option enabled, such as objects with caps, use FlashEx tags. In Wireframe mode, I can’t see the backs of objects. In the FlashEx dialog, on the General tab, set Polygons to All. Now back faces will be shown as well as front faces. There are holes in the objects and I can see right through to the geometry inside. Check if the surface normals of your objects are all pointing outwards. Use the Functions > Reverse Normals or Functions > Align Normals commands from the main menu to correct this. Alternatively, in the FlashEx dialog, on the General tab, set Polygons to All. Using the FlashEx tag on a HyperNURBS object doesn’t work. Drag the FlashEx tag onto the child object of the HyperNURBS. The HyperNURBS uses the settings of its child objects. My full screen SWF file looks awful. I’m using the Gouraud mode. If you want to play back a SWF Gouraud file in full screen you should adjust the values for Width and Height in the FlashEx dialog on the General tab to give you the desired size. To keep the file size compact, FlashEx merges lines that are visually at the same position. The Gouraud and Comic modes are generally not suitable for scaling. PLUGINS • 615 The FlashPlayer can’t display my SWF file properly in realtime. The scene is probably too complex. The player needs to draw all the vector lines in realtime and the processor speed determines how well it manages to do that. You need to simplify the scene. In 3D video games, characters often have less than a thousand polygons. How can I make the lines a similar color to the object color? Do one of the following: 1. Use FlashEx tags and define the line color manually per object. 2. Set the line color to black and in the FlashEx dialog, on the Lines tab, set Transparency to 80%. The lines get thicker when I scale the SWF document. How do I get the lines to stay the same thickness? Set the line width to 0 (hairline). The player will then always display a thin, 1-pixel line, no matter how much the SWF document is scaled. Sometimes I can’t see planes and single polygons from the side. How can I make them show up as lines? In the FlashEx dialog, on the General tab, set Polygons to All. Now all polygons will be visible regardless of whether they point at the camera. I’m getting errors in the FlashPlayer, such as missing fills or incorrect fills. Try the following: - Optimize the objects — remove defective polygons. - Use as few polygons as possible. Simplify the objects using the Polygon Reduction tool. - If you are exporting HyperNURBS objects, reduce the number of subdivisions (the exporter uses the Subdivision Renderer value). 616 • CHAPTER 12 SpaceMouse This command is available only if you are using Windows. The SpaceMouse is an input device especially designed for 3D applications. Use this command to access controls that enable you to fine-tune this device. 13 Rendering RENDERING • RENDER MENU • 619 13 Rendering   Graphics card do not affect render speed. CINEMA 4D’s render engine supports 16-bit textures. The Render menu contains all the options you need to render a picture or animation. You can define several render presets, such as for preview and for final rendering. This saves you having to change the settings one by one each time. Using the render settings, you can also switch on effects such as multi-pass rendering. Render Alerts Missing textures If CINEMA 4D is unable to find any textures when you render, an alert will appear. If you choose to continue rendering, the materials will be used without the missing texture maps. CINEMA 4D searches for textures in the following locations: in the scene’s folder; in the scene’s ‘Tex’ folder; in CINEMA 4D’s ‘Tex’ folder; in the Texture Paths (and sub-folders) specified in the preferences. Missing radiosity solutions  Only applies if you are using the Advanced Render module. Another type of alert may appear when you render if radiosity or caustics is enabled. This can happen if Save Solution is disabled and Recompute is set to Never on the Radiosity or Caustics page in the render settings. The alert will appear if there is no saved solution for the scene in the scene’s ‘Illum’ folder. Render View  If you want to save the picture or animation, you must render to the Picture Viewer instead using the Render To Picture Viewer command. If an alert appears when you render, see ‘Render Alerts’, above. Use this command to render the scene in the active viewport. A render progress bar will appear in the status bar. To cancel rendering, press Esc or click the mouse button. To access the options that control rendering, choose Render > Render Settings from the main menu. The render settings are described later in this chapter. 620 • CHAPTER 13 Render Active Object  If you want to save the picture or animation, you must render to the Picture Viewer instead using the Render To Picture Viewer command. If an alert appears when you render, see ‘Render Alerts’, above. This command renders the selected objects and their children in the active viewport. A render progress bar will appear in the bottom left corner of the screen. To cancel rendering, press Esc or click the mouse button. To access the options that control rendering, choose Render > Render Settings from the main menu. The render settings are described later in this chapter. Render Region  If you want to save the picture or animation, you must render to the Picture Viewer instead using the Render To Picture Viewer command. If an alert appears when you render, see ‘Render Alerts’, above. Use this command to render a region in a viewport. Once you have chosen the command, drag a box in a viewport to define the region that you want to be rendered. A render progress bar will appear in the bottom left corner of the screen. To cancel rendering, press Esc or click the mouse button. To access the options that control rendering, choose Render > Render Settings from the main menu. The render settings are described later in this chapter. Render To Picture Viewer  The Picture Viewer includes display options such as the ability to switch off specific color channels and the ability to change the viewing size. See Chapter 24, ‘Picture Viewer’. This command renders the scene to the Picture Viewer. If you want to save the picture or animation, enter a filename in the render settings before you use this function. Once rendering starts, a progress bar appears in the status bar. The bar shows the time elapsed since the render started. If you are rendering an animation, the bar also shows you the current frame number and the total number of frames.  If an alert appears when you render, see ‘Render Alerts’, above. To cancel the rendering, press Esc. To access the options that control rendering, choose Render > Render Settings from the main menu. The render settings are described later in this chapter. RENDERING • RENDER MENU • 621 Batch Rendering  Before you batch render, ensure each scene has a save path in its Render Settings. Also, render each scene individually as a precaution — you can abort each test as soon as the picture starts to appear. This is to check that no alerts (such as the missing textures alert) will interrupt batch rendering. This command enables you to queue up to ten scenes for rendering. The scenes will be rendered one after the other automatically. When you select the command, the Batch Rendering window opens. Either type the paths into the text boxes or click the Job buttons one at a time to choose the folder and file. Once you have added all the scenes, click OK to start rendering.  If an alert appears when you render, see ‘Render Alerts’, above. To cancel the rendering, press Esc. To access the options that control rendering, choose Render > Render Settings from the main menu. The render settings are described later in this chapter. Make Preview Using Make Preview, you can quickly generate a preview movie of your animation. This is especially useful when the scene is too complicated for smooth realtime playback in the viewport. After choosing this command, a dialog opens. Define the quality settings for the preview movie and click the OK button. As soon as the movie has been created, the movie player installed on your system will open and play back the preview automatically. 622 • CHAPTER 13 The movie is saved in your CINEMA 4D folder under the name ‘preview.mov’ or ‘preview.avi.’. The movie will be overwritten automatically the next time you generate a preview, so if you want to keep a permanent copy of the preview, use the movie player to save it under a different name. Preview Mode Choose whether the preview movie should use the same shading as the viewport (As Editor) or render-quality shading as defined in the render settings (Full Render). Preview Range Defines which frames are included in the preview. All Frames means the entire animation will be shown. Preview Range means the preview range defined in the Timeline is used (the area between the green markers in the Timeline). Alternatively, enter the start frame and end frame for the animation into the From and To boxes. Image Size, Frame Rate  CINEMA 4D lets you use mathematical formulae in input boxes. For example, if you want the preview resolution to be a quarter of 640 x 480, you can enter ‘640/4’ into the Image Size input box. Enter the width for the preview movie. The height is calculated automatically using the Film Format ratio defined on the render settings Output page. The resolution is shown to the right of the input box. Frame Rate Defines the frame rate for the preview. Values as low as 10 will be enough for you to check the animation, or you may prefer to enter the same rate that will be used for the final render. QuickTime, AVI, Options The preview is rendered as a QuickTime or an AVI movie depending on which option is enabled. To choose a particular codec and edit its settings, click Options. Render Settings A project can have several render settings. This command opens the active settings (indicated by a check mark on the Render menu). For details on using multiple settings, see ‘New Render Settings’, below. The render settings are described in full later in this chapter. RENDERING • RENDER MENU • 623 New Render Settings  To add default render settings, start a new scene and use New Render Settings to create the settings. Save this empty scene in CINEMA 4D’s root folder using the filename ‘template.c4d’. You can use this command to create new render settings. The Render Settings dialog opens. On the General page, enter a name for the new settings into the Name box — enter a name that will make it easy to distinguish these settings from others on the Render menu, such as ‘Modeling’. Once you have created the settings, the new name will appear in the lower section of the Render menu. You can create settings for a variety of purposes. Perhaps you will create settings with low antialiasing, no reflections and no shadows for preview rendering, called ‘Preview’. You might also create settings with high antialiasing, reflections and shadows called ‘Final Rendering’. You can create as many settings as you like. To choose which settings are active, select the corresponding name from the Render menu. The check mark will then appear in front of that name. Delete Render Settings This command deletes the active render settings (the active settings are indicated by a check mark on the Render menu). The name of the settings will be removed from the Render menu. Flush Illumination Caches If you own the optional Advanced Render module and enable Save Solution on the Radiosity or Caustics pages, files will be saved in the scene’s ‘Illum’ folder so that subsequent renders can reuse the data. Choose Flush Illumination Caches to delete these files. The command will also flush cached shadow maps (render settings, Options page). 624 • CHAPTER 13 Bake Texture (formerly SLA ‘Baker’)  The Bake Texture command requires a high-quality UV map where the UVs do not overlap. For this reason, the BodyPaint 3D module is recommended. This command, which was previously known as “Baker,” allows you to create a bitmap of anything that effects an object’s shading, including shaders, textures, lights, and shadows. The command is located on the Render menu. What’s the point of baking textures? Suppose you’ve created a complex material with several shaders. It might take a while to render. With Bake Texture, you can compound everything into a single bitmap that will render much faster. If you then load this bitmap into the luminance material channel, you won’t even need to use lights in the scene! Example On the left, you can see a ring casting a transparent shadow onto a surface. Now we’ll bake the texture as follows. - Choose Render > Bake Texture. RENDERING • RENDER MENU • 625 - Enter the desired resolution, save path and format for the bitmap. - Select a Texture tag in the Object manager. The UV mesh must be optimized, i.e. no UV polygons may overlap. - Choose which channel to bake and enable the options for the effects that should be included, such as Illumination and Shadows. - Click Start to generate the bitmap. Load the bitmap into the diffusion material channel as a texture. Settings in the Bake Texture dialog Drop-down list Use the drop-down list to choose which channel to bake. Color, Diffusion, Luminance, Bump, Alpha These channels are for the material channels of the same name. 626 • CHAPTER 13 Illumination This gives you the lighting that affects the texture. The picture above shows the Illumination channel for the example scene. Shadows Choose Shadows to include any shadows on the object. Composite This option allows you to bake layered textures (i.e. multiple Texture tags on the same object, one texture on top of the other). When baking a parametric object, UVW mapping will be used regardless of the projection set in the Texture tag. When baking volumetric shaders, note that the object still requires a normal (i.e. non-volumetric) material with UVW mapping. Assign the normal material to the object and place its Texture tag left of the volumetric material’s tag. Select the normal material’s tag and bake. Illumination, Shadows, Luminance, Diffusion, Bump Enable these options to include illumination, shadows, luminance, diffusion and bump in the bitmap. Camera Vector Here you can define whether the camera vector influences the baking. This will have a bearing on the Fresnel effect on transparent materials, for example. Use Polygon Selection If the texture is restricted to a polygon selection, you can choose to bake just the areas of the polygon selection by enabling this option. Bake To UVW Tag  This option does not work with 3D shader. Suppose you’ve applied a shader to a sphere using Cubic mapping. Now you want to bake this texture for the entire object and apply the bitmap to the sphere using UVW mapping. To ensure that the bitmap’s UVW mapping matches the original shader’s mapping, enable Bake To UVW Tag. RENDERING • RENDER MENU • 627 Resolution, Pixel Buffer, Background, Path, Format You can define a bitmap’s resolution, background color (the areas without UV polygons), save path and format. The Pixel Buffer allows you to remove artefacts around polygon edges when using MIP or SAT mapping. Start, Cancel Bake the texture or cancel baking. Calculate Dirt Without dirt (left) and with dirt (right). One way to improve the realism of your renders it to add dirt to the scene. Real-life dirt is found mainly in the ridges and cracks of surfaces. To mirror this reality, the Dirt tool emits in a linear fashion from each polygon and calculates the degree of exposure of the surface. Using the Dirt tool There are two ways to use the Dirt tool. 1. As a channel shader (the easiest way).  This method is not suitable for animation. 628 • CHAPTER 13 This method involves a 2D shader and has two key advantages: It works with parametric objects, and you needn’t worry about the object’s UVs. 2. Using the Render menu (Render > Calculate Dirt) to create vertex maps or complete bitmaps. This method is only suitable if you own BodyPaint 3D, because a suitable UV mesh is required (with UV polygons that do not overlap). In the case of vertex maps, note that generators are switched off during creation. The more points the object has, the better the result. The Calculate Dirt command creates either a bitmap or a vertex map of the dirt (Map Type set to Image Map or Vertex Map). The Vertex Map method offers faster rendering and a less grainy result because vertex maps allow smoother transitions than bitmaps. After creating the vertex map, load the Effects > Dirt shader into the material channel. In the case of a bitmap, you can set the bitmap’s resolution, background color, format and save path. When using MIP or SAT mapping, the Pixel Buffer removes artefacts around polygon edges. If no save path is entered, the bitmap will be opened in the Picture viewer. Once you have created the bitmap, load it into a material channel — the Diffusion channel usually works best for dirt. RENDERING • RENDER MENU • 629 Material manager / Attribute manager settings The same parameters are available for vertex maps, bitmaps and shaders. Ray Bias Increase this value if you notice artefacts on the polygons. Maximum Distance The greater this value, the further the rays travel in order to determine the level of exposure of a given point. A greater value also creates dirt areas at a greater distance from creases, cracks and so on. The lower the value, the smaller the dirt areas. Number Of Rays Number Of Rays set to a low value (left) and a high value (right). Defines the number of rays generated per point. A lower value generates dirt of a lower resolution, which can create interesting effects. A greater value generates a more homogeneous effect. Spread Defines the spread of the rays around the normals. A value of 100% emits the rays in the shape of a hemisphere (provided the Number Of Rays value is set high enough). A value of 0% causes the rays to be emitted along the respective normals. Higher values are recommended for realistic results. Lower values lead to a more comic-book look. 630 • CHAPTER 13 Contrast Adjusts the contrast of the dirt. Include Subobjects  This option is only available for the second method: Calculate Dirt. Subobjects are taken into account and receive separate vertex maps. RENDERING • RENDER SETTINGS • 631 Render Settings  The settings in this dialog control many aspects of the rendering process; be sure to check all the values before you commit to a final render of your scene or animation.  The render settings are saved automatically with the scene. General Name Enter a name for the settings. This name will appear in the Render menu so that you can switch between different settings. Choose a name that will distinguish the settings clearly from any other settings on the Render menu, such as ‘Animation Preview’. Antialiasing Sets the antialiasing mode. You’ll find further antialiasing settings on the Antialiasing page. Filter This sets the filter mode for antialiasing. You can also set the filter on the Antialiasing page. 632 • CHAPTER 13 Transparency None. No Refraction. With Refraction. None Transparency and alpha channels will not be rendered. No Refraction  If you have placed a transparent object inside another object, the inner object may be black when rendered. To remedy, increase the Ray Depth value on the Options pages. Transparent materials will be rendered without refraction. If you are working with alpha channels, use No Refraction; otherwise, the surfaces will be opaque when rendered. With Refraction Allows transparent materials to refract. Refraction is essential for realistic glass and water. Any refraction in the render will increase the render time. If there is no refraction in the render, the render time will not increase, even when this setting is selected. Reflection None. Floor & Sky Only. None Reflections will not be rendered. All Objects. RENDERING • RENDER SETTINGS • 633 Floor & Sky Only Only the floor and sky objects in the scene will be reflected. This allows for much faster rendering than All Objects and is a good compromise between no reflections and full reflections for timecritical projects. All Objects All objects in the scene can be reflected by relevant reflective objects. If there are no reflective objects in the scene, the render time will not increase, even when this setting is selected. Shadow None. Soft Only. All Types. None Shadows will not be rendered. Note that without shadows the scene may lack contrast and depth. Soft Only Soft shadows will be rendered. Hard shadows and area shadows will be ignored. Soft shadows render extremely quickly and look natural — often more so than hard shadows, which take longer to render. All Types All shadow types — soft, hard and area — will be rendered. Additional rays must be calculated for hard shadows and area shadows. Render As Editor If this option is enabled, the scene will be rendered exactly as it appears in the viewport. For example, you can render wireframe pictures and animations when this option is enabled. 634 • CHAPTER 13 Output The settings on the Output page refer to rendering in the Picture Viewer only. These settings have no effect on rendering in the viewports. You must render to the Picture Viewer if you want to save the rendered image. Resolution Defines the size of the rendered image. Choose the resolution from the drop-down list or enter your own values in the two input boxes to the right. The drop-down list includes most common video formats. If you enter custom values, the drop-down list is set to Manual. Film Format The film format corresponds to an image’s X:Y ratio. Photographic studios, the movie industry and the TV industry often use ratios that differ from that of a computer screen. Choose the film format from the drop-down list or enter your own values in the two input boxes to the right. The dropdown list includes most common video formats. If you enter custom values, the drop-down list is set to Manual. The Resolution and the Film Format settings are linked. If you change Film Format, Resolution is adjusted automatically in the Y direction.  Select a resolution of 320 x 240. This is the same as a computer’s 4:3 ratio. Change the film format to 70 mm (cine format) — the resolution changes to 320 x 145 automatically (it is scaled in the Y direction to match the format). The default setting for the film format is Automatic. This means that images will be rendered in the specified resolution independently of any particular ratio. Two lines are shown in the 3D viewport to frame the area that will be rendered. RENDERING • RENDER SETTINGS • 635 Pixel The two values specified here define the ratio of a pixel’s on-screen width (left box) to its on-screen height (right box). The pixel ratio for most monitors is 1:1, so usually you do not need to change this setting. However, some display media use a pixel ratio other than 1:1 and the setting must be adjusted to avoid distortions such as circles appearing as ellipses. If you need to calculate the pixel ratio manually, expand the side viewport to fit the entire screen and create a cube. Using a ruler, measure the cube’s width and height and enter these values in the two input boxes for Pixel. Frame Manual  If you stop the rendering of an AVI or QuickTime movie, all frames will be lost. You cannot resume. Alternatively, render short sequences and assemble the clips in a suitable video editor. If you want to render a frame sequence, but not the entire animation, enter the first frame for the sequence in the left input box and the last frame in the right input box. The Frame drop-down list will change to Manual automatically. If you want to save the animation, enter a save path on the Save page. Current Frame Only the current frame will be rendered. If you want the frame to be saved automatically after rendering, enter a save path on the Save page. All Frames  If you stop the rendering of an AVI or QuickTime movie, all frames will be lost. You cannot resume. Alternatively, render short sequences and assemble the clips in a suitable video editor. All the frames will be rendered, either as a picture sequence or as a movie (AVI, QuickTime). If you want the animation to be saved automatically after rendering, enter a save path on the Save page. Preview Range  If you stop the rendering of an AVI or QuickTime movie, all frames will be lost. You cannot resume. Alternatively, render short sequences and assemble the clips in a suitable video editor. Only the preview range (the area in the Timeline between the green markers) will be rendered. The frames are rendered either as a picture sequence or as a movie (AVI, QuickTime). If you want the animation to be saved automatically after rendering, enter a save path on the Save page. 636 • CHAPTER 13 Field Rend.  Avoid using field rendering with the depth of field effect (Advanced Render module); otherwise, the image quality will be badly affected.  When field rendering, use a non-lossy compressor or no compression at all. Lossy compressors (e.g. JPEG, M-JPEG) blur the fields and are not suitable for field rendering. Poor results are likely with such compressors. Use field rendering for smoother playback when working with video. Consecutive fields are separated from each other by half the frame time. The renderer creates interlaced output frames, where each frame contains two fields. In each output frame, the second field is rendered half the frame time after the first field. The two fields are interlaced, with one field containing the odd lines (the odd field) and the next field containing the even lines (the even field). PAL video (used in e.g. Europe) runs at 25 frames per second, which equals 50 fields per second. NTSC video (used in e.g. USA) runs at 30 frames per second, which equals 60 fields per second. Do not use field rendering for stills — it is intended for video output only. None Only complete frames are rendered. Use this setting if you are rendering stills or movies that will not be viewed on a video system. Even Field First, Odd Field First The even field or odd field will be rendered first. Check which setting your video system requires. Frame Rate Sets the frame rate for the render. This is independent of the frame rate defined in the project settings. The number of frames that will be rendered is shown to the right of the text box. RENDERING • RENDER SETTINGS • 637 Save Save Image, Path  When setting the path, keep the following in mind to avoid filename issues when moving the files from one operating system to another: use a maximum of 22 characters for the filename. For example, Mac OS 9.1 has the following limits: filename length: up to 31 characters — four characters for the file extension, (e.g. “*.tif”) — five characters for the sequential numbering when outputting a frame sequence (e.g. “_0023”). Also, use the following characters only in the filename: ‘A’-’Z’, ‘a’-’z’, ‘0’-’9’, ‘_’. Do not use spaces or special characters. Enable the Save Image option if you want the image or animation to be saved automatically when you render to the Picture viewer. Choose the save path and filename using Path. You can type in the entire path or you can click on Path to open a system dialog for selecting the folder. If you enter a name without a path, the picture or animation will be saved in the active scene’s folder. Format CINEMA 4D supports many common file formats. Supported still formats are TIFF, TARGA, BMP, PICT, IFF, JPEG, RLA, RPF and Photoshop PSD. The animation formats available depend on your operating system: Windows - AVI Movie Small: the Intel INDEO codec is used. - AVI Movie Big: the Cinepak codec is used. - AVI Movie: after selecting this format, click Options. In the dialog that opens, choose the codec for the movie. 638 • CHAPTER 13 Windows and Macintosh  If you are using Windows, you must install QuickTime to take advantage of these features. - QuickTime Movie Small: a variant of the Cinepak codec is used to produce compact movies of reasonable quality. However, you won’t be able to play the movie backwards, nor will you be able to convert the movie to individual pictures (the movie is time-compressed). - QuickTime Movie Big: a variant of a non-lossy codec is used. This produces high-quality QuickTime movies, although they are comparatively large in file size and require a fast hard drive for playback. - QuickTime Movie: after selecting this format, click Options. In the dialog that opens, choose the codec for the movie. If the dialog doesn’t open, check that you have the latest version of QuickTime installed (visit www.quicktime.com). QuickTime 4 upwards supports the following single picture formats: BMP, Photoshop PSD, SGI, JPEG, PICT, PNG, TIFF and QuickTime Image. It also supports any new codecs you have added to it. You can create QuickTime VR panorama and object movies under both Windows and Macintosh. Options This button is ghosted unless Format is set to AVI Movie (Windows) or QuickTime Movie (Windows and Macintosh). If you click this button, a dialog opens that gives you access to various codecs and their settings. If the dialog doesn’t open, check that you have the latest version of QuickTime installed (visit www.quicktime.com). Depth Defines the bit depth per color channel. Choose either 8 bits per channel (for 24-bit color) or 16 bits per channel (for 48-bit color). File formats that support 16 bits per channel are TIFF, PSD, RPF, RLA and B3D. Name Many editing programs accept picture sequences. However, they tend to use different naming conventions. Some programs expect the filename to end with a number, others an extension. Some programs can cope only with three-digit numbers. Use this menu to set the sequential numbering and/or lettering style required by your editor. In the example names below, ‘0000’ represents any sequential number, ‘TIF’ represents any three-letter extension. Example name Example result Name0000.TIF Test1234.JPG Name0000 Test1234 Name.0000 Test.1234 Name000.TIF Test123.TGA Name000 Test123 Name.000 Test.123 RENDERING • RENDER SETTINGS • 639 DPI Use this setting to choose the DPI (dots per inch) for the following picture formats: BMP, TIF, PICT. The DPI affects a picture’s print size and, in certain applications, its display size. The DPI setting does not affect a picture’s Resolution (Output tab); the picture’s pixel dimensions remain the same, only the calculation regarding how many of those pixels (dots) should be printed or displayed per inch is changed.  You render a picture that is 720 x 900 pixels. If you save the picture with 72 DPI, the print size will be 10 in x 12.5 in (25.4 cm x 31.75 cm). If you save the picture with 300 DPI, the print size will be 2.4 in x 3 in (6.1 cm x 7.62 cm). To calculate the print size in inches, divide the pixel dimensions (Resolution on the Output page) by the DPI setting to get the print size in inches; multiply the inches by 2.54 to get the print size in centimeters. Alpha Channel  The entire alpha channel is masked if you use a Sky, Floor, Foreground or Background object in your scene. Do not use any of these objects if you need the alpha channel. If you enable this option, a pre-multiplied alpha channel will be calculated during rendering. The alpha channel is a grayscale image of the same resolution as your color picture. Pixels in the alpha channel are either black or white. A white pixel in the alpha channel indicates the presence of an object at that position in the image while a black pixel indicates no object. You can use the alpha channel for compositing in video programs. For example, suppose you have scanned a photograph of an airfield and you want to render an aircraft and place it on the runway. Render the aircraft with an alpha channel in CINEMA 4D, then use that alpha channel in your compositing program to cut out the non-aircraft parts of the render so that the airfield shows though. The edges of the alpha channel picture are antialiased to ensure a soft transition in the composited picture. Pre-multiplied alphas have one particular shortcoming, illustrated below. From left to right: the rendered image, the alpha channel, the result. 640 • CHAPTER 13 In the illustration, the alpha channel causes a dark seam. This is because both the picture and the alpha channel were rendered with antialiasing. By definition, the color picture and the alpha channel must be multiplied and so the black is calculated twice. You can avoid this dark seam by using the Straight Alpha option instead. Note that straight alphas are suitable for compositing only; they are unusable as conventional pictures. Alpha channels are integrated automatically for TARGA, TIFF, PICT, PSD and QuickTime Movie formats. If you have enabled Separate Alpha or if you have chosen a different picture format, the alpha channel is saved separately to the color picture. These files are indicated by an ‘A_’ before the filename, e.g. ‘A_room.tif’. Separate alphas are saved in the TIFF format. The alpha channel can be integrated into a movie only if alpha channels are supported by the chosen codec. Straight Alpha  The entire alpha channel is masked if you use a Sky, Floor, Foreground or Background object in your scene. Do not use any of these objects if you need the alpha channel. You can use this option if straight alphas are supported by your compositing program to avoid the dark seam associated with pre-multiplied alphas. Note that straight alphas are suitable for compositing only; they are unusable as conventional pictures. From left to right: the rendered image, the alpha channel, the result. Alpha channels are integrated automatically for TARGA, TIFF, PICT, PSD and QuickTime Movie formats. If you have enabled Separate Alpha or if you have chosen a different picture format, the alpha channel is saved separately to the color picture. These files are indicated by an ‘A_’ before the filename, e.g. ‘A_room.tif’. Separate alphas are saved in the TIF format. The alpha channel can be integrated into a movie only if alpha channels are supported by the chosen codec. RENDERING • RENDER SETTINGS • 641 Separate Alpha Alpha channels are usually integrated into TARGA, TIFF or PICT pictures — that is, they are saved as part of the image file. However, if you want to save the alpha channel as a separate file, enable this option. In addition to your color picture (e.g. ‘room.tif’), you will also have a file containing the alpha channel (e.g. ‘A_room.tif’). Alpha channels are always saved in the TIFF format. 24 Bit Dithering Dithering is a process that adds a random pattern to colors to prevent color banding. Although dithering enhances the image quality, it also increases file size. For web graphics in particular, you may want to disable dithering to reduce image file size. Compositing Project File, Relative, Save A compositing project file is made up of multiple layers. Each layer can be edited separately. CINEMA 4D supports the following video compositing programs: - Adobe After Effects (5.0 or higher) - Discreet Combustion (3.0 or higher) - Apple Final Cut Pro (4.0 or higher; CINEMA 4D Mac version only) CINEMA 4D can render various multi-passes and save them as separate files (bitmaps or videos). The passes can then be loaded into one of the compositing packages listed above. In the compositing package, you can then edit the passes separately and apply a wealth of effects to them. Installing the plugin No plugin is required for Combustion or Final Cut Pro. For After Effects, you’ll find several versions of the plugin in your CINEMA 4D Exchange Plugins folder. Copy over the plugin that relates to your version of After Effects into your After Effects Plugin folder. 642 • CHAPTER 13 3D lights & cameras (After Effects and Combustion only) You can also export CINEMA 4D’s camera and lights, including animation, and edit them in After Effects (5.5 or higher) or Combustion. The following camera data is supported: - Camera position. Camera orientation. Focal length. Camera to target distance (provided the CINEMA 4D scene used a target camera). The following types of light are supported: - Point. - Parallel. - Spot. Exporting the multi-passes To export the multi-passes from CINEMA 4D: 1. In the render settings, on the Multi-Pass page, use the Channels drop-down list to choose which passes should be rendered. Disable the Multi-Layer File option (each pass must be saved as a separate file). Set Format to the desired file format, such as QuickTime Movie. Set Path to the path where the passes should be saved. 2. In the render settings, on the Save page, ensure that Compositing Project File is enabled and, from the drop-down list next to this option, choose which compositing package will be used to import the passes. Render the picture or animation to the Picture Viewer. The passes will be saved in the folder defined by the save path. Usually, the compositing project file will be created and saved automatically in the folder defined by the save path. However, if you are network rendering the passes using NET, you must create the compositing project file manually by clicking the Save button. If Relative is enabled (Save page), the start and end time of the CINEMA 4D animation will also be transferred (with After Effects, version 6.5 or higher is required for this functionality). Otherwise, the animations will always begin at frame 0 in the compositing program. Importing the multi-passes To import the multi-passes into your compositing package: - In After Effects, import the ‘.aec’ file (File > Import > File). - In Combustion, open the ’.cws’ file (File > Open Workspace). - In Final Cut Pro, import the ‘.xml’ file (File > Import > XML) and ignore the alert that appears.  Movies will be imported faster than picture sequences. RENDERING • RENDER SETTINGS • 643 The project in CINEMA 4D. The project in After Effects. The project in Combustion. The project in Final Cut Pro.  The compositing programs will import the composition correctly provided that the compositing program is on the same computer as CINEMA 4D. When importing into After Effects, the compositing project file must be in the same folder as the passes; otherwise, the picture sequences or videos must be replaced manually. Limitations - NET cannot write the compositing project file. For network rendering, generate the project file manually by clicking the Save button on the Save page of the render settings. You can save the project file at any time — even before you have rendered the passes. Missing passes are represented by stand-in frames in After Effects, which you can replace at any stage. - QTVR cannot be used with compositing project files (QTVR does not support multi-passes). - B3D image sequences are not supported. 644 • CHAPTER 13 Antialiasing Antialiasing removes jagged edges from your images. It works by breaking down each pixel into sub-pixels; rather than calculate just one color for a pixel, several color values are calculated and averaged to produce the final color for the pixel. Using the settings on the Antialiasing page, you can remove jagged edges. The top right inset box shows jagged edges without antialiasing, the bottom right inset box shows the smoothed result of applying antialiasing. RENDERING • RENDER SETTINGS • 645 Antialiasing None. Geometry. Best. None Switches off antialiasing. Rendering is exceptionally fast, but edges are jagged. Geometry The default antialiasing mode. Object edges are smooth when rendered. Best Switches on color antialiasing. Antialiasing softens color contrasts, such as shadow edges. Object edges are smoothed also. Filter The antialiasing will be blurred or sharpened according to your choice. Unless you have special requirements met by another filter, choose Animation or Still Image. Still Image. Animation. Blend. Sinc. Area 10%, Area 100%. Cone 10%, Cone 100%. 646 • CHAPTER 13 Catmull. PAL/NTSC. Still Image The default filter. It ensures sharp edges and is best suited to still images.  For crisp, sharp stills, keep in mind that you may need to change the Sampling setting of materials. Although the default Sampling setting, MIP, is a good choice for materials on objects that extend towards the horizon — such as a floor — for things like bottle labels you’ll get a much sharper picture by changing Sampling to Square, Alias 1, Alias 2 or Alias 3. However, avoid using these Sampling types when animating, since they are too sharp for animation (the slight blurring of MIP or SAT sampling is essential to prevent flicker). Animation Blurs the antialiasing to produce smooth results and prevent flicker for film/video. Blend Enables you to customize the softness of the antialiasing. Enter a value from 0% to 100% into the Softness box (see also ‘Softness’, below). Sinc Produces better antialiasing than Still Image but takes longer to render. Area Calculates an area (defined by Softness) around the current pixel that is used for the antialiasing. Cone Set the size of this cone filter using Softness. Still Image, Animation, Blend and Sinc all produce better antialiasing than Cone. Catmull Produces lower-quality antialiasing than Still Image, Animation, Blend and Sinc. PAL/NTSC  For S-VHS, use the Animation filter. This very soft filter is suitable for VHS. RENDERING • RENDER SETTINGS • 647 Softness Defines the softness of antialiasing for the Blend, Area and Cone filters. Threshold Neighboring pixels that differ in color by the Threshold value or more are antialiased. The default Threshold value is 10%. Depending on the scene, you may need to lower Threshold to about 3%. Min Level, Max Level  If artefacts appear (e.g. small shadows become absorbed), either reduce the Threshold or increase the Min Level. If areas of high contrast are jagged — such as at shadow edges, edges behind transparent objects or within textures — increase the Max Level setting. CINEMA 4D uses adaptive antialiasing — pixels that need slight antialiasing use the Min Level setting; pixels that need strong antialiasing, such as hard shadow edges, use the Max Level setting. The default values for Min and Max Level are 1x1 and 4x4. Note that the Min / Max Level settings apply to raytraced pixels only (see ‘Antialiasing and adaptive raytracing’, below). If jaggies appear behind transparent objects, increase the Max Level setting. Edges of hard shadows can also be smoothed by increasing the Max Level setting. Use Object Properties If this option is enabled, you can specify the Min/Max Level and the Threshold separately for each object using Compositing tags. MIP Scale Scales the MIP/SAT strength globally. For example, a MIP Scale of 200% doubles the MIP/SAT strength for each material. Antialiasing and adaptive raytracing CINEMA 4D’s adaptive raytracer only uses raytracing for the pixels that really need it. All pixels that show reflections, transparencies or refractions are raytraced. All other pixels are rendered using much faster scanline rendering. 16x16 antialiasing (i.e. a grid of 16 sub-pixels by 16 sub-pixels) is always used for scanline rendering. For raytracing, the Min/Max Level settings are used. 648 • CHAPTER 13 Radiosity, Caustics  These settings will be available only if the Advanced Render module is installed. For more details about Advanced Render, please contact your local MAXON representative or visit maxon.net. Advanced Render is an optional module that includes global illumination (radiosity), caustics, enhanced depth of field, enhanced glow and a highlights filter. Natural lighting is made easy using the radiosity features of the Advanced Render module. Radiosity leads to new levels of realism by simulating the natural behavior of light. The caustics feature improves the realism of scenes that use curved reflective or transparent objects. Place marbles or a glass on a table and patterns of light will appear on the tablecloth. For added realism, with Advanced Render you can recreate these effects with ease. RENDERING • RENDER SETTINGS • 649 Effects Use this page to control which post effects are rendered. To choose a post effect, click the Post Effect button in the top right corner of the dialog and choose the desired effect from the menu that appears. The effect will be added to the list below the Enable Post Effects option. To remove post effects from the list, select their names in this list (using Shift-click) and press the Backspace key. You can also delete effects using Remove Selected and Remove All (Post Effect button). To switch off a post effect, click its check mark. Click the check box to switch the effect back on.  The order of the post effects is important. For example, if you sharpen before you soften, the result is different to softening first. To move a filter up or down the list, select the filter’s name in the list and click the up or down triangle near the top right corner of the dialog. Click the up or down triangle to move the selected filter up or down the list.  Some of the post effects are applied in a certain order regardless of their position in the post effects list. First applied is Glow, followed by Object Motion Blur / Vector Motion Blur, Soft Filter / Sharpen Filter / Median Filter. The Remote and Scene Motion Blur effects are always applied last. Color Correction and Cel Renderer are applied during rendering.  Post effects are generated after the image has been rendered. Therefore you won’t see the effect until the image is fully rendered. Animating post effects Almost all parameters in the post effects can be animated. Recording parameters here works in the same way as recording parameters in the Attribute manager. For details, see Chapter 19, ‘Attribute Manager’. 650 • CHAPTER 13 Object Glow  Glow effects are post processed effects: They are applied only after the picture is fully rendered; thus you cannot see glow effects in reflections or through transparent objects. Glow effects will be rendered if they are used in your scene. Lens Effects Lens effects will be rendered if they are used in your scene. Remote Use Remote if you want the picture or animation to be passed to another application automatically. For example, you can redirect animation frames to a video editing program for post-editing. If you are using Windows, you can use a batch file with command parameters. If you are using a Macintosh, use AppleScript. Click the three dots button to open a system dialog. Use this dialog to select the program to which the picture or animation should be passed. Median Filter Removes peaks in color values from the image. Use Strength to increase or decrease the effect. Sharpen Filter This filter emphasizes transitions in the image. This reinforces the edges. Use Strength to increase or decrease the effect. Try using the filter with 30% strength for stills. Soft Filter Each pixel is balanced with its neighbor to produce a softer transition. Use Strength to increase or decrease the effect. RENDERING • RENDER SETTINGS • 651 Object Motion Blur  Use scene motion blur if you want to blur shadows, reflections and so on. Object motion blur does not blur these features. With a real-life camera, motion blur arises when an object flies past the camera at great speed (‘object’ motion blur) or when the camera pans rapidly (‘scene’ motion blur). The advantages of object motion blur (OMB) are that the effect is rendered quickly and there are no stroboscope effects. For an object to have motion blur in the render, this setting must be enabled and the object must have a Motion Blur tag. Use the Strength value to define the intensity of blurring for all objects. You can set values higher than 100%! A few limitations are associated with object motion blur. For example, only position, scale and rotation animation can be blurred (so a beating wing animated using bones cannot have motion blur applied to it). Also, anomalies may appear at the frame’s border and the animation may flicker. Object motion blur is limited to a maximum frame size of 2,000 x 2,000 pixels and is automatically disabled at resolutions higher than this. Also, particles cannot be blurred. Furthermore, avoid using OMB with post-processing effects (e.g. lens flares), since this may lead to unexpected results. These limitations notwithstanding, motion blur can create a very natural effect with its analytical blurring. Object motion blur can create superb results with stills as well as with animation. 652 • CHAPTER 13 Scene Motion Blur  Scene motion blur will also blur shadows, reflections and so on. Object motion blur, on the other hand, does not blur these. With a real-life camera, motion blur arises when an object flies past the camera at great speed (‘object’ motion blur) or when the camera pans rapidly (‘scene’ motion blur). This motion blur helps to create the illusion of real motion rather than a sequence of still pictures and so it is of great use to animation software. Animation software does not use real shutters and real film, so the motion blur must be faked, see Figure 1, below. Figure 1. Figure 2. Figure 3. You can activate Scene Motion Blur (SMB) to simulate a camera panning swiftly.  Think carefully before using field rendering and scene motion blur together, since the field effect is often nullified. Not only that, but the quality of the automatic SMB antialiasing is better without fields and you’ll save render time. Samples With SMB, intermediate images are calculated and overlapped in the corresponding frame with varying brightness. Choose the number of intermediate images for each frame using this dropdown list. The higher you set this value, the longer it takes to render. RENDERING • RENDER SETTINGS • 653 If the motion is rapid, you may need to use a high setting to avoid a stroboscope effect (Figure 2). If you use scene motion blur in your scene, you may be able to reduce the amount of antialiasing. Stationary elements in the frame are antialiased perfectly, whereas moving elements are not antialiased. Usually, objects in motion do not require antialiasing — consider a 16-times motion blur where there are 16 intermediate frames; in this case, the missing antialiasing makes no visible difference. You can, of course, add antialiasing, although with a motion blur of 9-times or higher it is not necessary and does little other than increase the rendering time. Strength Defines the strength of the motion blur effect. The pictures in Figure 3 were rendered with 25-times SMB with Strength set to (from left to right) 20%, 40%, 60%, 80% and 100%. Dithering You can use this option to dither the scene motion blur. This helps to avoid stroboscope effects and in addition you can often use a lower SMB setting. However, the dithering may create slight noise. You can reduce the memory requirements for rendering by disabling dithering (set the value to 0%). Antialiasing Restriction If this option is enabled, CINEMA 4D automatically switches Antialiasing (Antialiasing page) from Best to Geometry if Samples is set to 9 Times or higher. This is because Geometry antialiasing is quicker to render and Best is rarely required with a high Samples value. Camera Offset CINEMA 4D creates an antialiasing effect by offsetting the camera slightly for each intermediate image. This causes slight blurring. If you want to switch off this effect — for example, if you’re creating a picture for print — disable this option. 654 • CHAPTER 13 Cel Renderer Using this post effect, you can render pictures and animations in a cartoon style. Color disabled (left) and enabled (right). Illumination enabled (left) and disabled (right). Outline enabled (left) and disabled (right). Edges disabled (left) and enabled (right). Edge Color black (left) and white (right). Background Color white (left) and black (right). RENDERING • RENDER SETTINGS • 655 Color  The render time increases linearly with the number of polygons. If this option is disabled, objects will usually be rendered with black outlines on a white background. When Color is enabled, all objects will be rendered using a reduced color palette (depending on the Quantize and Steps settings) and black outlines on a black background. This gives the rendered subjects a cartoon-like feel. Outline  The outline is drawn around the silhouette of individual objects only. For example, if you have connected an object group to form an individual object, only the overall silhouette will be outlined. You can change the color of the outline using Edge Color. When enabled, an outline will be drawn around the silhouette of objects. If both the Color option and the Outline option are disabled, all you will see is the background color. With Color enabled, the outline will bring out the individual objects and give them a cartoon-like feel. Illumination  This option is available when Color is enabled. If this option is enabled, the shading of objects will be affected by the illumination. Shadows will also be rendered cartoon-style. If Illumination is disabled, the average color value of the top texture layer (the right-most texture in the Object manager) will be used to render the objects. As a result, each object has a monotone color. Also, shadows will not be rendered with the option disabled. Edges If this option is enabled, all polygon edges will be outlined in black, creating a shaded wireframe feel. You can change the color of the edges using Edge Color. 656 • CHAPTER 13 Edge Color Use this to change the color used by Outline and Edges — even if the Color option is disabled. Background Color This setting changes the background color provided that Color is disabled. When Color is enabled, the option has no effect. Quantize, Steps From left to right: Quantize enabled and Steps set to 3, 7 and 20. To render the cartoon effect with ‘color steps’, enable the Quantize option and set steps to the number of color steps. Color Correction Use this post effect to change the gamma, contrast and brightness of the image. RENDERING • RENDER SETTINGS • 657 Options Active Objects Only If this option is enabled, only the selected objects will be included when you render the scene. Auto Light When enabled, if there are no lights in your scene, CINEMA 4D uses its auto light (a standard light source) during rendering so that you can see the objects. Log File If this option is enabled, a render log will be recorded in ‘Renderlog.txt’ in the CINEMA 4D folder. The render log contains a complete history of the render process including system resource information. Check this log if you need to identify problems that occurred while rendering. The information in the log file is not overwritten by subsequent renders. Rather, new log information is appended. As a result, this file can grow to a fair size over time. You may wish to delete the file manually every now and then — a new file will be created the next time the log is recorded. Textures Using this option, you can enable or disable textures when rendering. For example, you can disable the textures for a test render or when using the cel renderer. If this option is enabled, textures will be rendered. If Textures is disabled, the average color value of the top texture layer (the right-most texture in the Object manager) will be rendered for each object. Cancel If Texture Error If CINEMA 4D cannot find a texture when rendering the scene, an alert dialog will appear. If this option is disabled and you confirm the alert, the rendering continues without the missing texture. If you enable this option, rendering will be cancelled after the alert. If you are rendering several scenes (batch rendering), the next render task will then be started. 658 • CHAPTER 13 Blurry Effects Use this option to enable/disable the blur effect for the Reflection and Transparency material channels. Volumetric Lighting Enable this option if you want shadows to be cast in visible light. Since the effect is processorintensive, you may want to speed up test-renders by disabling the option. Use Display Tag LOD If this option is enabled, the renderer will use the level of detail specified in Display tags. Render HUD Enable this option to include the HUD in the rendered picture or animation. This can be useful for including information in the rendering such as the frame time. To learn how to use the HUD, look up ‘HUD’ in the index. Cache Shadow Maps CINEMA 4D must calculate a shadow map for each light in the scene that casts a soft shadow. A shadow map determines where shadows will be rendered. The shadow map calculations can add to the render time considerably depending on the complexity of the scene. In many cases, you can speed up rendering by enabling the Cache Shadow Maps option. If the Cache Shadow Maps option is enabled, the shadow maps will be saved the first time when you render. The shadow maps will be saved in an ‘Illum’ folder under the name ‘**.c4d.smap’. You’ll find the ‘Illum’ folder in the scene’s folder. The ‘Illum’ folder will be created automatically if there isn’t one already. If the option is still enabled and you then render the scene from another angle or render a camera animation, CINEMA 4D will reuse the saved shadow maps. This saves rendering time. If the option is disabled, CINEMA 4D will recalculate the shadow maps each time you render. RENDERING • RENDER SETTINGS • 659 The Cache Shadow Maps option works intelligently. For example, suppose there are three lights in your scene that are casting soft shadows. You then change the parameters for one of these lights. CINEMA 4D will recalculate the shadow map for that light to ensure a correct result and will reuse the cached shadow maps for the two other lights to save rendering time.  The Cache Shadow Maps option should only be used when the light and all the objects that are illuminated by it are not moving. The option is primarily intended for use with camera animations. The Cache Shadow Maps option is mostly useful when the shadow maps take a long time to calculate. You can tell how long the shadow maps take to calculate by looking at the status bar while CINEMA 4D renders the scene — the text ‘Rendering Shadow Maps’ will appear in the status bar while CINEMA 4D is calculating the shadow maps. To delete cached shadow maps from the hard drive, choose Render > Flush Illumination Caches. However, note that this command will also delete any saved radiosity or caustics solutions (Advanced Render module). Limitations - The algorithm cannot detect all changes that require the shadow maps to be recalculated. Changes to gels, for example, are not detected and may lead to incorrect shadows. In such cases, disable the Cache Shadow Maps option to force the shadows to be recalculated when you render. - If you are using CINEMA 4D NET, each client will cache its own shadow maps. Ray Depth The Ray Depth determines how many transparent objects (or areas made invisible using the alpha channel) can be penetrated by the renderer. The lower you set the Ray Depth, the fewer the number of objects that can be seen through. Those areas that cannot be penetrated are rendered black. 660 • CHAPTER 13 A Ray Depth of 1 means that calculations are finished for a pixel once its ray hits something in the scene. Transparencies and alphas therefore will not be visible. A value of 2 means that after a ray has hit a surface a second ray is calculated for the transparency. The higher the Ray Depth, the further rays are followed into the scene and the results rendered. The results shown above contain transparencies and alphas and have been rendered with ray depths of 2, 4 and 8. You can enter values up to 500. Reflection Depth When a ray is sent into the scene, it can be reflected by reflective surfaces. With certain arrangements, e.g. two mirrors opposite each other, it is possible that a ray will be reflected forever, trapped between the mirrors, and the raytracer would never finish rendering the picture. In order to prevent this, you can set the maximum number of reflected rays. You can also use Reflection Depth to limit the render time for the picture. Often, only the first generation of reflections is important. Further rays tend to add little to the image quality, but increase the render time considerably. A Reflection Depth of 1 means that calculations for a pixel are finished once a ray hits something in the scene. Reflections therefore will not be visible. A value of 2 means that after a ray has hit a surface a second ray is calculated for the reflection. The higher the Reflection Depth, the further rays are followed into the scene and the results rendered. The results shown above contain reflective objects and have been rendered with reflection depths of 2, 4 and 8. RENDERING • RENDER SETTINGS • 661 Shadow Depth Calculations are made to see if a surface point lies in the shadow of another object; additional shadow rays are sent from the surface in the direction of the light source. The value you enter for this setting determines for which generation of rays shadows are calculated. For example, if you reduce the value to 2, shadows will not be rendered for reflected, transparent or refracted rays. The results shown above contain reflective and transparent objects and have been rendered with shadow depths of 2, 4 and 8 Threshold This value helps to optimize render time. With complex scenes, particularly those containing many reflective and transparent surfaces, 90% of the processed rays contribute less than 10% to the general picture brightness and color. With a threshold value of, for instance, 15%, the rays stop their movement from the camera into the scene as soon as their brightness falls below this value. What does this mean? When a ray hits a surface, the transparency and reflection values are calculated. For example, if Threshold is set to 15% and the surface material has 10% reflection (Brightness slider), the material will not reflect. In order to render the reflection in this case, Threshold must be set to 9% or less, or the reflection of the material must be set to 16% or higher. Sometimes it is useful to increase the Threshold value to prevent minor details being reflected. Although minor details are calculated correctly, too much detail in reflections can distract the viewer. However, if you want all rays to be calculated, set Threshold to 0%. Level of Detail  If you render into a viewport, the viewport’s level of detail value (Display menu) is used in preference. The Level of Detail value here in the render settings is only used for rendering to the Picture Viewer. This value influences all objects in the active scene that support a reduction in detail, such as metaballs, primitives and NURBS. However, objects that have their own Level of Detail setting defined in a Display tag will continue to use their setting. If the value is set to 100%, the objects will be rendered in full detail. If the value is set to 50%, the objects will be rendered with only half their usual detail. 662 • CHAPTER 13 Multi-Pass  Multi-pass is ideal for trying out various lighting setups for your rendering The setups will be rendered more quickly as a single multi-pass file than as separate projects. Multi-pass rendering makes it easy for you to post-edit your renders in compositing software such as Adobe After Effects, Photoshop and Combustion. With multi-pass you can split the CINEMA 4D rendering into separate layers such as shadows, reflections, highlights and each separate light source. You can save the layers in RLA, RPF, Photoshop (PSD) and BodyPaint 3D (B3D) format. Suppose you’ve rendered a complex movie and the reflections look too strong. With multi-pass, there’s no need to re-render the CINEMA 4D scene. Instead, simply reduce the opacity of the reflections layer in your compositing package. Or why not include alternative lighting setups in the same rendering? You’ll then be able to select the best setup during post-editing. Enable Multi-Pass Rendering Use this option to enable or disable multi-pass rendering. Channels The Channels drop-down list displays the layers that may be included in the multi-layer rendering. It also contains various relevant commands. Use the Channels drop-down list to add layers to or remove layers from the selection list. The items in the Channels drop-down list are: Add Image Layers Adds to the selection list all image layers that form the composite image. These layers are: Ambient, Diffuse, Specular, Shadow, Reflection, Refraction, Atmosphere and Atmosphere (Multiply). All the other image layers (see ‘The layers’, below) may be used for visual effects but are not actually part of the composite image. If you have the Advanced Render module installed, Radiosity and Caustics layers are also added to the selection list by this command. RENDERING • RENDER SETTINGS • 663 Add Material Layers, Add All These commands are useful to plugin developers only. Remove Selected  To select a layer, click its name in the selection list. To add a layer to those already selected, Shift-click or Ctrl-click the layer’s name. Removes the selected layers from the list. Remove All Empties the selection list. Blend Channel Creates a blended layer. For example, you can blend Shadow, Radiosity and Caustics as a single layer. After choosing this command, a dialog opens. Enable the channels you want to blend and click OK. Object Buffer This creates a mask layer for objects that use a specified ID number in their Compositing tags. After choosing this command, the Object Buffer dialog open. Enter the desired ID number and click OK.  To assign an ID to an object, use a Compositing tag. The sphere appears in both object buffers since its Compositing tag has two IDs (ID=1 and ID=2). 664 • CHAPTER 13 The layers RGBA Image. Shadow. Depth. Reflection. Refraction. Specular. The lower part of the Channels drop-down list shows the layers that you can add to the multi-pass rendering, a selection of which is illustrated above. These are RGBA Image, Ambient, Diffuse, Specular, Shadow, Reflection, Refraction, Radiosity, Caustics, Atmosphere, Atmosphere Multiply, Illumination and Depth (the remaining layers in the list — i.e. those whose names begin with ‘Material’, are of use to plugin developers only). The Radiosity and Caustics layers contain the effects created by radiosity and caustics and are of use only if the optional Advanced Render module is installed. The RGBA layer is the complete image — the same image as with normal rendering. An alpha channel will be included if Alpha Channel is enabled on the Save page of the render settings. The Ambient layer shows the illumination generated by an Environment object if used. Atmosphere adds a layer for environment fog and volumetric effects such as volumetric light. Atmosphere (Multiply) can be used optionally with Atmosphere to help conceal objects that are behind the volumetric effects (a multiplied atmosphere layer is used). Illumination adds a layer for the color and brightness of surfaces illuminated by light sources. Depth adds a depth map — object surfaces are shaded in grayscale according to their distance from the camera. The closer a surface is to the camera, the darker its shading in the depth map. RENDERING • RENDER SETTINGS • 665 Depth multi-pass channel with Front Blur and Rear Blur enabled. The Depth channel defines the distribution of depth in the scene. This information can be used in compositing applications to create visual effects. Black parts represent the focus (Target Distance on the Camera’s Depth of Field page in the Attribute manager).  The contrast of the grayscale Depth channel is controlled by the camera’s blur settings. For full contrast, set the Start value for Front Blur to immediately before the object closest to the camera. Set the End value for Rear Blur to immediately after the object farthest from the camera. The easiest way to set these values is to drag the camera’s handles in the viewport. From top left to bottom left: Highlights (AR), Glow (AR), Specular, and Diffusion, each as a separate Post Effects pass. The Post Effects channel makes it possible to render a variety of post effects (PyroCluster, lense effects, vector motion blur, highlights, glow effects, glow) as separate passes. Save Multi-Pass Image  You can view specific layers using the Picture viewer’s Channels menu. Enable this option if you want the multi-pass image to be saved when you render to the Picture viewer. 666 • CHAPTER 13 Multi-Layer File  The image may look different when viewed in another application depending on which blend modes are supported. For example, if the application has no true Add mode, highlights may appear washed out and need correcting. Differences are also possible when using a combination of colored lights, especially when using Brightness settings above 100%. If this option is enabled, all layers are saved in a multi-layer file. In addition, you must set Format on the Output page to Photoshop (PSD), RLA, RPF or BodyPaint 3D (B3D). If the option is disabled, CINEMA 4D creates a separate file for each pass using the Format setting on the Save page. A suffix is added to each of the filenames to differentiate them. Shadow Correction Enable Shadow Correction to prevent artefacts from appearing at the edges of objects. When rendering multi-passes with shadows switched on, slight artefacts such as bright lines may appear at object edges due to antialiasing. To prevent these artefacts from appearing, enable this option. Separate Lights Use Separate Lights to choose which light sources have their own separate layers. None No separate layers. All Each light has separate layers. Selected Separate layers for all lights whose Separate Pass option is enabled (Details page). RENDERING • RENDER SETTINGS • 667 Mode Use Mode to control how the diffuse, specular and shadow information is layered for each light source that has its own layers. 1 Channel: Diffuse+Specular+Shadow Adds one blended layer for Diffuse, Specular and Shadow. 2 Channels: Diffuse+Specular, Shadow Adds one blended layer for Diffuse and Specular, and one layer for Shadow. 3 Channels: Diffuse, Specular, Shadow Adds one Diffuse layer, one Specular layer and one Shadow layer. Path  Multi-layer files require much more space than single-layer files. Prior to rendering, check that you have sufficient storage space, especially when rendering multi-pass animations. This is where you set the save path for the file. Format  To output the passes in Photoshop 7 format, set Format to Photoshop (PSD), click the Options button and enable the Photoshop 7 option in the dialog that appears. This will ensure the Linear Dodge blend mode is used where appropriate. Here, choose the file format. For a multi-layer file, choose Photoshop (PSD), RLA, RPF or BodyPaint 3D (B3D). Options This button is greyed out unless the format chosen has extra options. Click Options to access these. Depth Sets the channel depth to 8 bits or 16 bits. Layer Name As Suffix If your chosen format does not support multi-layers, each layer will be saved as a separate file. If this option is enabled, the name of the layer, such as ‘_diffuse’ or ‘_refraction’, is added after the filenames. 668 • CHAPTER 13 QuickTime VR   Lens effects cannot be used with QuickTime VR movies. If the optional NET Render module is installed, note that QuickTime VR object and panorama movies cannot be rendered over a network. They must be rendered on a single computer. You can use the options on this page to create QuickTime VR panoramas and QuickTime VR object movies. QuickTime VR technology combines the frames of a 360° horizontal pan in a seamless fashion that enables you to move freely around the virtual scene. You can also zoom. For these settings to become available, you must set Format on the Save page to QuickTime VR Panorama or QuickTime VR Object. Terminology A ‘panorama’ is a 360° all-round view of the environment as seen from the camera. The QuickTime VR movie lets the viewer spin around his or her own axis to explore the panorama freely. The camera can also be tilted up or down. When a QTVR panorama is selected on the Save page, only Start Angle and End Angle are available in the Horizontal and Vertical Settings. A QuickTime VR ‘object movie’ enables you to rotate an object interactively using the mouse. For a smooth object movie, try 36 horizontal steps from 0° to 360° and 19 vertical steps from 90° to -90°. This provides good coverage of the object and allows free rotation. Horizontal Settings When the output format is QTVR Object, here you can specify the number of horizontal steps the camera takes as it moves around the object. For either panorama or object modes, it is also possible to specify Start Angle and End Angle. RENDERING • RENDER SETTINGS • 669 Vertical Settings  There are two built-in resolutions for QuickTime VR on the Resolution drop-down list (Output page): 1248 x 384 QTVR and 2048 x 768 QTVR. Also on the Output page, set Film Format to Automatic. You can type in your own resolution using the input boxes to the right of the Resolution drop-down list. Ensure that the values you enter are divisible by 4. These settings apply only to QTVR object movies. Here, Steps specifies the number of rings. A value of 1 is sufficient for a simple object rotation. However, if the viewer should be able to tilt the view, use more rings. Usually, an odd value is best, since it generates as many rings above the horizon ring as below it. To specify the tilting range, enter values in the Start Angle and End Angle boxes. The maximum range is -90° to +90°. Generate File VR CINEMA 4D creates a ready-to-view QuickTime VR panorama or object movie that you can view in QuickTime as soon as it has been rendered and saved. Intermediate CINEMA 4D creates a panoramic picture or individual object film pictures that you can, say, edit further using Apple’s QuickTime VR tools. Both CINEMA 4D creates a ready-to-view QuickTime VR film as well as a panoramic picture or individual object film pictures that you can process further using Apple’s QuickTime VR tools. X Default Resolution, Y Default Resolution These settings define the output resolution of the QuickTime VR movie. The default value is 320 x 240 pixels. The resolution of the original material from which the QuickTime VR movie is finally rendered is defined by the Resolution setting on the Output page. The Y resolution of the original material should be at least 1.6 times greater than the Y Default Resolution setting. 670 • CHAPTER 13 Apple recommends: These are Apple’s recommended settings (from ‘The QuickTime FAQ’): - Use focal lengths of 15 mm, 28 mm or 35 mm. - Do not use fish-eye lenses. - For interior shots, use a 15 mm lens. This gives you a vertical visibility range of 97°. - Use a 15 mm lens. This lets you reduce the number of shots in one pan to 12. - If you are using 35 mm lenses, create additional rings for the view upward and downward. - For determining the number of frames in a horizontal ring, two adjacent frames should overlap by 30% to 50%.  For a QuickTime Object Movie, place the object at 0,0,0 (world coordinates) and ensure the object is selected in the Object manager.  If Generate is set to VR or Both, you will create a QuickTime Movie of all frames in the sequence.  When you render QTVR panoramas and QTVR movies, the following limitations apply with regard to antialiasing: The Max Level parameter determines the maximum antialiasing for colors and edges. The Max Level cannot be exceeded, even if higher settings are specified in Compositing tags. Compositing tags work within the Min Level to Max Level range only. The render time depends largely on the Max Level setting. For this reason, avoid using a setting higher than 4x4. RENDERING • RENDER SETTINGS • 671 Movie Formats Common movie formats are listed below. Computer playback: Resolution Description Film Format Pixel (X to Y) Frame Rate 160 x 120 draft 320 x 240 348 x 288 Fields NTSC MPEG1 4:3 1 29.97 even lower PAL MPEG1 4:3 1 25 odd upper Film Format Pixel (X to 1) Frame Rate TV playback (video): Resolution Description Fields 640 x 480 NTSC 4:3 1 29.97 even 720 x 486 D1 NTSC 4:3 0.9 29.97 odd 768 x 576 PAL 4:3 1 25 odd 720 x 576 D1 PAL 4:3 1.067 25 odd 1920 x 1080 HDVS 1080I 16:9 1 24 25 30 none odd even Film Format Pixel (X to 1) Frame Rate Fields 16:9 1 24 none Film playback: Resolution Description 1920 x 1080 HDVS 24P 1800 x 972 WIDESCREEN 1.85:1 1 24 none 2048 x 872 SCOPE 2.35:1 1 24 none 2048 x 1536 SCOPE ANAMORPH 8:3 2 24 none Sources: Filmwerk, ARD — Technical Guidelines, Sony HDVS, Kodak Cinesite and Gürtler — Film Transfer Department. 14 Window Menu WINDOW MENU • 675 14 Window Menu Most of the following menu entries activate a window or manager. If the window or manager is already open, the call brings it to the front. Otherwise, the window or manager appears in a new, freestanding window. To dock this into the interface, drag the window’s pin icon and drop it where you want the window to be docked. A black line appears while you drag to indicate the docking position. Layout In this menu, you’ll find commands that enable you to customize the workspace. New Icon Palette Opens a new, empty toolbar in its own window. You can then populate this toolbar with icons from the Command manager. New Group Window Opens a new group window. A group window is a window, such as the F-Curve manager, that contains two or more managers with a shared border that you can drag to re-size. To place a manager inside the group window, drag the manager’s pin icon and drop it within the group window. A black line appears while you drag to indicate where the manager will be placed. Load Toolbar If you’ve saved a toolbar (aka command palette), you can load it using this command. Optional modules such as MOCCA and Dynamics include their own toolbars that you can integrate into the interface. Edit Palettes Enables the Edit Palettes mode and opens the Command manager. The icons are shown with blue edges to indicate that you can edit them. For example, you can drag icons from the Command manager and drop them onto any palette. To exit the Edit Palettes mode, close the Command manager or disable this option. Load Layout Use this command to load a previously saved layout. 676 • CHAPTER 14 Reset Layout This command resets your CINEMA 4D layout to the original, preset layout. This is particularly useful if you need to call our support team since you and they then have a common interface from which to work. Your own customized layouts can increase your workflow enormously, but when searching for an elusive problem a common, standardized layout is essential. Save As Startup Layout Saves the current working environment as the startup layout. When you next start CINEMA 4D, this is the layout that will be used. The startup file is saved in CINEMA 4D’s Prefs folder under the name ‘template.l4d’. Save Layout As This command lets you save the current layout. You can create as many layouts as you wish, such as one for modeling and one for texturing. Layout files take the file extension ‘.l4d’. Command Manager Opens the Command manager. In this manager you’ll find a list of all CINEMA 4D commands, including their icons and keyboard shortcuts. You can rearrange existing palettes, create your own palettes and change the short-cuts and hotkeys. WINDOW MENU • 677 Menu Manager You can use this manager to rearrange CINEMA 4D’s menus. You can revert to the original structure at any time by clicking the Revert To Original button. Default Layouts Here you’ll find a list of all layouts in CINEMA 4D’s ‘Library/Layout’ location. To load one of these layouts, choose its name from the list. Default Main Menus At the bottom of the Layouts submenu, you’ll find a list of default main menus. To choose a menu, select its name from the list. You can specify a different main menu for each layout. You can also define custom main menus (User Menu X) using the Menu manager. New View Panel You can open as many view panels as you wish. 678 • CHAPTER 14 Object Manager Opens the Object manager, if it is not already open, and brings it to the front if it is hidden behind any other windows. Using this manager, you can select objects (even those that are not visible in the viewport), change the object hierarchy, add tags and expressions and much more. See Chapter 17, ‘Object Manager’. Material Manager Opens the Material manager, if it is not already open, and brings it to the front if it is hidden behind any other windows. This holds all of the scene’s materials and textures. You can assign a material to an object using drag-and-drop — drag the material onto the object’s name in the Object manager or directly onto the object in the viewport. See Chapter 18, ‘Material Manager’. Timeline Opens the Timeline, if it is not already open, and brings it to the front if it is hidden behind any other windows. See Chapter 19, ‘Timeline’. WINDOW MENU • 679 F-Curve Manager Using this manager, you can edit F-Curves quickly and easily. F-Curves control the interpolation between keys. See Chapter 20, ‘F-Curves’. Attribute Manager You’ll use this manager frequently. Here you can edit all object properties or even animate without opening the Timeline. You can create your own GUI elements, such as sliders, and you can link parameters (set driven keys) and much more. See Chapter 21, ‘Attribute Manager’. 680 • CHAPTER 14 Picture Viewer Opens the Picture viewer. Most of the time, you won’t need to use this command because the Picture viewer opens automatically when you choose Render > Render To Picture Viewer. See Chapter 24, ‘Picture Viewer’. Coordinate Manager Opens the Coordinate manager, if it is not already open, and brings it to the front if it is hidden behind any other windows. This compact manager is useful for editing the position, scale and rotation of objects. See Chapter 16, ‘Coordinate Manager’. WINDOW MENU • 681 Structure Manager Opens the Structure manager, if it is not already open, and brings it to the front if it is hidden behind any other windows. Here you can view and edit the numerical data of points, polygons, UVW coordinates and vertex maps. See Chapter 23, ‘Structure Manager’. Browser Opens the Browser, if it is not already open, and brings it to the front if it is hidden behind any other windows. Use this to manage your projects and control your digital assets. Create catalog files of scenes, audio clips, textures and more, then quickly add them to your project via drag-and-drop. For example, to add a mug model to the current scene, drag and drop the mug’s thumbnail into the Object manager. Console The Console window is used for the output and control of C.O.F.F.E.E. programs. C.O.F.F.E.E. print commands are displayed here, as are errors. In the case of errors, the error number and the position of the error within the script are shown. The following restrictions apply to the Console window: - Does not work with “Message” and filter plugins. - Affects existing plugins only (new plugins cannot be loaded). - Registration values are not updated, such as Name, ID and Icon. 682 • CHAPTER 14 Global Status Bar This opens the Global Status Bar, which displays information — such as the render time — in a separate window. By default, this bar is docked at the bottom of the main window. Selection Info  Only selected polygon objects or splines have information shown in this window. If you have selected a parametric object, modifier or other such object, the window remains empty. Opens an information window containing information about the selected object. Here, the number of points, polygons and spline segments are shown. Structure Info  Only selected polygon objects or splines have information shown in this window. If you have selected a parametric object, modifier or other such object, the window remains empty. Opens a window that gives you information about the structure of the selected object. In addition, you can use the ‘+’ and ‘-’ buttons to select or deselect the different parts of the structure, such as all quadrangles. Other Scene Windows CINEMA 4D allows you to have multiple scenes loaded. At the foot of the Window menu, you’ll find a list of currently opened scenes. To activate one of these scenes, choose the scene’s name from the list. Only one scene may be active and editable at a time (indicated by a check mark next to its name in the list). The order of the list is determined by the order in which you opened the scenes. 15 Help Menu HELP MENU • 685 15 Help Menu MAXON Online Get the latest CINEMA 4D updates, news, support issues, tutorials and more using these links to the MAXON website. An Internet browser and Internet connection are required. Help (CINEMA 4D) This opens the online manual copied to your hard drive during the standard installation process. Personalize  Your initial serial number will expire after three months of use, after which you will no longer be able to use the program. Please register at the earliest opportunity. This opens the Registration dialog so you can enter the final serial number of CINEMA 4D and/or one or more of the CINEMA 4D modules. You’ll receive your final serial number(s) once you have registered your purchase with MAXON Computer or your local MAXON distributor. You can register by completing the registration card that was included with your MAXON software, or you can register online at register.maxon.net.  Under Windows NT (SP4), Windows 2000 or Windows XP Professional, you must have Administrator privileges in order to properly install software, otherwise you will be prompted to enter the serial number each time you start CINEMA 4D or one of its modules. You may need to ask your system administrator for assistance. Info This opens the same info screen that appears while the program loads. Use this screen to check the version number of CINEMA 4D — please quote this when contacting our Technical Support department. To close the window, click on it. 16 Coordinate Manager COORDINATE MANAGER • 689 16 Coordinate Manager  You can also set the position, scale and rotation of objects using the Attribute manager. In addition, the Attribute manager’s context menu enables you to animate these and other object properties directly, without having to open the Timeline. See Chapter 21, ‘Attribute manager’. The Coordinate manager allows you to manipulate objects numerically. It displays information relating to the tool you are using. For example, if you are using the move tool, the position, size and rotation values of the selected element are shown. Once you have made changes to the values, apply the changes by clicking on Apply. You can use the drop-down list in the bottom left corner to determine how the values are interpreted. If the menu is set to Object, all the values relate to the object’s (immediate) parent system. If the menu is set to World, the position and rotation values are converted to world coordinates. The rotation values always use the HPB System. The drop-down list below the middle coordinates column specifies which object size is shown. Size shows the size of the object not including child objects. Size+, on the other hand, shows the size of the active object including all child objects. Scale shows the axis length for each axis of the object coordinate system — the default values are 1/1/1. The size or scale is also specified in world coordinates, although along the local axes. For example, if a cube with a side length of 100 lies askew in 3D space, it still has a size of 100 units in world coordinates. When an object is added as a child of a parent, the scale of the child’s axes are adjusted so that the child appears normal with respect to the world axes. For example, if the parent’s X:Y:Z axis scale is 4:1:1, then when an object is made a child of the parent, the scale of the child’s axes will be 0.25:1:1. You can also enter relative values. CINEMA 4D has a parser which enables you to include mathematical operators. For example, you can append ‘+100’ to an existing position value. The active element will then move 100 units relative to its initial position. CINEMA 4D supports many other functions — see the Appendices for a complete list of valid operators, functions and constants. As previously mentioned, the type of information displayed in the Coordinate manager depends on which tool is active. For example, if the Camera tool is active, you can enter the focal length for the lens instead of its scale. Some values must be entered as relative, such as for the rotation of points. This is because points do not have their own independent coordinate system, so CINEMA 4D cannot keep track of previous rotations. 690 • CHAPTER 16 Note that you may be changing the axes of child objects unintentionally when you change the axes of the parent. Try to avoid using world coordinates for animated rotation. CINEMA 4D converts all world coordinates into local coordinates, which can lead to unexpected behavior if you do not use local coordinates in the first place. 17 Object Manager OBJECT MANAGER • 693 17 Object Manager The Object manager is the center of object administration in CINEMA 4D. Here you can select objects, change object hierarchies and manipulate tags. On the left part of the manager you’ll find a list of all objects in the scene. Hierarchies are shown as a tree structure. You can collapse and open hierarchies, just as you can on your computer desktop. You can use drag-and-drop to re-group or, by holding down Ctrl while you drag, copy objects. You can identify an object’s type (e.g. HyperNURBS) by its icon. Objects are discussed in the Objects Menu chapter. To select multiple objects, Shift-click each object that you want to add to the selection. The narrow column running down the center of the Object manager contains two ‘visibility dots’ per object. These control the viewport and renderer visibility of the object and are described later in this chapter. For generator and deformer objects, such as HyperNURBS and Bend, this narrow column also contains an enable switch, which you can use to switch the generation or deformation on or off. The visibility dots and the enable switch are described in more detail later in this chapter. To the right of the dots are the object tags (e.g. Texture tag, Phong tag). You can use drag-anddrop to move or copy these tags to other objects. Again, the tags are described later in this chapter. 694 • CHAPTER 17 Many commands can be reached in the Object manager, using the context menu. To access the context menu, right-click (Windows) or Command-click (Mac OS) an element such as a type icon, a tag or a visibility dot. The commands shown will depend on the type of element from which you selected the menu. When you select a command in the Object manager, it is applied to the selected object or objects. Drag-and-drop Drag-and-drop is the technique of clicking on an object, holding down the mouse button and dragging the object to another position; when the target location is reached, you release the mouse button and the object will be dropped there. Depending on the target location, this may have different results. Rearranging objects There are many ways to re-arrange objects in the Object manager and these are described below. The icon on the left shows how the mouse pointer changes while doing the action described on the right. Drag an object between two others or to the end of the list. If you want drag to create a copy, use Ctrl-drag. To change the object hierarchy, drag the object on top of an existing one in the list. This makes the dragged object a child of the other. If you want to create a copy and make it a child of another object, use Ctrl-drag and move the mouse pointer over an object. You can also drag-and-drop tags. To transfer a tag from one object to another, drag the tag icon on to the line of the other object. If you want to create a copy, use Ctrl-drag. If an operation is not available, this icon appears. You can select multiple tags and move them all at the same time. However, note that for some tag types, only one tag may be used per object. For example, an object may have one Phong tag only. These tags are known as ‘lone’ tags. A lone tag will not be moved or copied if a tag of the same type exists for the destination object. Each object in CINEMA 4D, such as Polygon object or Spline object, has a set of properties. To access an object’s settings, select the object and its parameters will be shown in the Attribute manager. These settings are described in Chapter 7, ‘Objects Menu’. OBJECT MANAGER • 695 Mouse techniques Function Action Select object Click on the object. Rename object Double-click on the object name (you can also rename the selected objects on the Basic Properties page of the Attribute manager). Edit object Click on the object and edit its parameters in the Attribute manager. Select tag Click on the tag. Edit tag Click on the tag and edit its parameters in the Attribute manager. Move selected object or tag Drag-and-drop. Copy selected object or tag Ctrl-drag-and-drop. Open/close object hierarchy Click on the icon to the left of the object name. Select previous / next object Up / down cursor keys. Context menu Right-click (Windows) or Command-click (Mac OS) on the name, the type icon, the visibility dot, the enable switch or the tag. Select multiple objects or tags Drag a frame around the objects or tags, or Shift-click each object or tag that you want to add to the selection. Deselect object or tag Ctrl-click the object or tag to remove it from the selection. Deselect all Click on an empty space within the Object manager. 696 • CHAPTER 17 File Menu CINEMA 4D tags  In the Attribute manager, you can animate any parameter that doesn’t have a cross to the left of its name. See Chapter 21, ‘Attribute manager’. You can add a variety of properties to objects using tags. For example, you can add smoothing (Phong tag) or prevent an object from being edited accidentally (Protection tag). To add a tag to an object, select the object or objects that should receive the tag and choose the tag from this menu. To access the tag’s settings, select the tag. Its parameters will be shown on the Basic Properties and Tag Properties in the Attribute manager. For some tags, the Basic Properties page is identical and has just one setting, Name, which you can edit to change the tag’s name. Expression tags Some of the tags belong to a group of tags known as ‘expressions’. Expressions are small programs that give specific types of behavior to objects. Expressions are particularly useful for automating behavior. For example, the Target tag makes an object point at another object. There are three types of expression tags in CINEMA 4D; the built-in expressions, C.O.F.F.E.E. expressions and expressions created using the XPresso Editor. Expressions are evaluated in the viewport in realtime. Expression tags have additional properties on the Basic Properties tab: Priority You can assign a priority to each expression. This is especially useful when working with C.O.F.F.E.E. or XPresso expressions that you have created yourself. Sometimes the priority is crucial for determining exactly when the expression is evaluated. The same expression can produce different results depending on whether it is executed before or after other expressions in the scene. Possible priority values range from -500 to 500 and apply to the chosen category on the left: Initial, Animation, Expressions, Dynamics or Generators. For example, say there are four expressions in your scene with the following priorities: OBJECT MANAGER • 697 Expression A: Animation, 10 Expression B: Animation, 0 Expression C: Animation, -1 Expression D: Expression, 5 This results in the following order of execution: Expression C (-1 being the lowest priority value of the four expressions). All animated objects in the scene (all animated objects in CINEMA 4D have a priority of Animation, 0). Expression B (although this has the same priority as all animated objects, animated objects are still preferred over expressions with the same priority). Expression D. Expression A (10 being the highest priority value of the four expressions). Camera Dependent This option determines whether the expression is calculated while the camera is being rotated. By enabling this option, you can speed up the redraw rate in the viewport dramatically for some expressions such as the Target expression. Enable This option switches the expression on or off. 698 • CHAPTER 17 Align To Path Suppose you’re animating an aeroplane. You’ve created the path it should follow using a Position track, but the plane always points in the same direction (Figure 1). To get the plane pointing in the right direction, use an Align To Path tag (Figure 2). Then, the object will always follow the animation path with its Z-axis parallel to the tangent of the path. The object’s X-axis always stays parallel to the XZ world coordinates. Thus, the camera follows the natural motion path. With the Look Ahead value, you can choose how many frames should be considered for calculating the orientation of the object. Figure 1: Without an Align To Path tag. Figure 2: With an Align To Path tag. OBJECT MANAGER • 699 Align To Spline  If a spline has its intermediate points set to Uniform, this is also taken into account for the spline animation. The object will then follow the spline at a uniform speed. If you want to define an animation path for an object, we recommend that first of all you create the path as a Spline object. This has an advantage over the keyframe method in that you can create B-Spline paths and use tools such as the magnet. You can also use closed splines for creating cyclic motion — a difficult task using keyframes. Spline Path  By animating the Spline Path parameter you can change which spline the object is aligned to during the animation. Select the relevant Align To Spline tag and then drag the Spline object from the Object manager and drop it into the Spline Path box on the Attribute manager’s Tag page. 700 • CHAPTER 17 Rail Path You can optionally use a rail path. Drag the spline that you want to act as the rail from the Object manager into the Rail Path box on the Attribute manager’s Tag page. This has a similar effect to the Align To Path tag in the sense that the object’s Z-axis remains parallel to the spline’s tangent at all times. Tangential If you enable Tangential, the effect is similar to that of the Align To Path tag, i.e. the object’s X, Y or Z-axis is aligned to the rail path. Position If you animate the expression’s Position parameter, the object follows the path using the axis defined by Axis. If the object should follow, say, only the first half of the spline, animate Position from 0% to 50%. For more details on how to animate this Position parameter, see the Timeline chapter and/or the Attribute Manager chapter. Segment Splines may consist of multiple segments. Use this parameter to choose which segment the spline follows. Axis This setting is available when Tangential is enabled. It defines with which axis the object follows the spline. Anchor When you use inverse kinematics (IK), you may not want all the objects in the hierarchy to be affected. The anchor tag prevents an object from being moved under IK. The objects above it in the hierarchy will also remain stationary (i.e. anchored). CINEMA 4D’s simple Figure object (Objects > Primitive > Figure), which is designed chiefly as a tool for experimenting with IK, has an anchor tag applied to the upper body (make the figure editable, otherwise you won’t see the separate body parts and tags). If you move one of the hands using the Inverse Kinematics tool, the upper body itself remains stationary. OBJECT MANAGER • 701 C.O.F.F.E.E. You have two ways to create your own expressions. You can either program code using CINEMA 4D’S native C.O.F.F.E.E. programming language or you can use the XPresso Editor to create expressions easily without having to type a single line of code. XPresso is ideal if you’re the kind of 3D artist who has no interest in programming, but would like almost infinite control over the behavior of your 3D models. To learn about XPresso, see Chapter 22, ‘XPresso Editor’. To learn about the C.O.F.F.E.E. programming language, visit www.plugincafe.com. Compositing This tag contains several options that affect rendering. Cast Shadows, Receive Shadows Sometimes it is useful to prevent objects from casting or receiving shadows, especially for technical illustrations. In such cases, disable these options. Compositing Background This option will cause the object to be self-illuminated yet still receive shadows.   The object in question (in our example below, the floor) must have its own material. Suppose you are creating a car for a website. The website uses a white background and you need to render the car so that it appears to cast a shadow onto the web page. 702 • CHAPTER 17 You create a floor with a white material (with the RGB values matching the white color of the web page), but when you render the picture, the floor is not the correct brightness. To remedy, add a Compositing tag to the Floor and enable Background Compositing. The floor will now illuminate itself evenly at full brightness while still receiving the car’s shadow. Force Antialiasing, Min, Max, Threshold  The Threshold value you enter here is used only if it is lower (i.e. more accurate) than the Threshold value in the render settings. Otherwise the value in the render settings is used. This ensures the object always uses the most accurate Threshold. Likewise, the best Min and Max values are used.  The settings will only have an effect if Use Object Properties is enabled in the render settings (Antialiasing page). Antialiasing is defined globally in the render settings (Antialiasing page). To override the global settings for the tag’s object, enable Force Antialiasing and set Min, Max and Threshold to the desired values. Enable, GI Accuracy Radiosity accuracy is controlled globally by Accuracy in the render settings (Radiosity page). To override the global value for the tag’s object, enable the GI Accuracy option and enter the desired value into the text box. This setting has no effect unless the Advanced Render module is installed. Seen By Camera, Seen By Rays Normal object. Seen By Rays disabled. Seen By Camera disabled. Using these options, you can hide specific objects from reflections or have invisible objects cast shadows. There are many possible uses here. For example, you can have a hidden object block out light to cast shadows where you want them. Or perhaps you’re rendering an advert for a high performance sports car and you don’t want the 3D text to be reflected by the car or shiny floor. Disable Seen By Camera to hide the object; disable Seen By Rays to hide its reflection. You can combine the two options. For example, you can create an invisible object that nonetheless casts a shadow and can be seen in reflections and behind glass! OBJECT MANAGER • 703 Seen By GI  To enable or disable GI globally, use the Radiosity option in the render settings (Radiosity page). Enable this option if you want the object to generate radiosity. If you disable the option, the object will not generate radiosity. This setting has no effect unless the Advanced Render module is installed. Add to Object Buffer Use this page to specify up to six object buffer IDs for the object. Display Shading Mode, Style, Backface Culling, Use Textures Usually, objects use the display settings defined on the Display menu of the viewport. However, you can override these settings for specific objects by assigning them Display tags. These objects will then use the settings in their Display tags instead of those on the Display menu. Display tags enable you to mix display modes within a viewport. For example, some objects may use Gouraud Shading, others Wireframe. The main reason for using Display tags is to prevent the viewport from slowing down — you can use a detailed mode, such as Gouraud shading, for the objects you’re currently interested in and have the other objects shaded with a less detailed mode, such as wireframe. Display tags are used only if Use Display Tags is enabled on the viewport’s Display menu. The option is enabled by default. 704 • CHAPTER 17 Level Of Detail  If the tag’s Level Of Detail option is enabled, it is always used in a viewport, even if Display Tags is disabled on the viewport’s Display menu. This has the same effect as the command of the same name in the project settings. You can use it to control the level of detail for generators and deformers. The tag’s value overrides the value in the project settings. For example, you can set the Level of Detail in the project settings to 50% and assign a Display tag with Level of Detail set to 100% to the object that you are currently working on. This will ensure the object is shaded in full detail while the other, currently less important objects use a reduced level of detail. This makes for faster redraw in the viewport. Visibility This parameter controls the visibility of the object when rendered. For example, if you set Visibility to 0%, the object will be invisible when rendered. With a setting of 50%, the object will be partially visible (50% opaque). At 100%, the object will be fully visible when rendered. Note that when you set Visibility to 0%, the object becomes invisible in the viewport. Fix This tag fixes an object’s position to the coordinates defined by Fixing Point. You can rotate and scale a fixed object, but you cannot change its position. FlashEx This tag is used by the FlashEx plugin for SWF export. As soon as you assign a FlashEx tag to an object, a dialog opens that is a duplicate of the Lines tab in the FlashEx plugin settings. This enables you to choose a different line color and width for each object you are exporting. HyperNURBS Weight This tag stores weighting information. It is created automatically when you weight a HyperNURBS. OBJECT MANAGER • 705 IK You can use this tag to set an IK target that the IK chain will try to reach. In the following example we created four nulls — one for each hand and each foot. We then placed the foot nulls on the floor and the hand nulls on the bar and assigned these nulls to IK tags. When we moved the figure’s body, the hands and feet remained in position. When the IK tag is selected, you’ll find a Target Object box on the Attribute manager’s Tag page. To choose which object the IK expression should try to reach (called the ‘target’), drag the name of the target from the Object manager and drop it onto the Target Object box. Kinematic You can use this tag to specify angle restraints for the object when using inverse kinematics (IK). For example, a real knee can bend through about 160° only. Angle restrictions can also be useful for preventing objects from intersecting each other. Specify the restraint by entering Minimum and Maximum values for Heading (H), Pitch (P) and Bank (B). You can also specify a damping factor. The higher you set Damping, the stiffer the joint becomes. Parts of the IK chain with a lower damping factor will move more readily. 706 • CHAPTER 17  The HPB angles refer back to the object’s parent system, i.e. if the object is in a hierarchy, the parent system takes the place of the world system. One easy way to set the values is to select the object and read its coordinates in the Coordinate manager. You can then add and subtract to calculate the minimum and maximum values for the Kinematic tag. Example - Change into View 2 (XZ plane) and create a Bone object (Objects > Deformation > Bone). Move the view so that the bone object is near the bottom of the view (to move the view, hold down the ‘1’ key and drag within the viewport). - Click the X-axis icon on the top toolbar to lock the X-axis. Ctrl-drag from the bone’s orange handle (at the top of the bone) to drag out a new bone. Release the mouse button once the new bone is about the same size as the original bone. - Ctrl-drag a new bone out of the second bone until it is about the same size as the other two. The advantage of dragging out bones in this way is that the hierarchy is created automatically in the Object manager. - Create two nulls (Objects > Null Object). Move one of the nulls along the Z-axis (drag its blue handle) to the end of the bones chain and rename it Handle. Make Handle a child of the last bone in the Object manager. (Open the bone hierarchy by clicking the small plus icons as required.) - Rename the other null Anchor, then make the entire bones chain a child of Anchor. - Your chain should look like the picture below. - In the top toolbar, click the X-axis icon to unlock the X-axis. Choose Tools > Inverse Kinematics to activate IK mode. - In the Object manager, select Handle. Now move the bones around (click and drag somewhere in the viewport, but not directly on the Handle or you may catch the object axes). The IK mode ensures that all objects maintain the same distance from each other. However, the movement is unrestricted and it is possible to make the bones intersect each other. OBJECT MANAGER • 707 - In the Object manager, select the first bone. Now Shift-click the remaining bones so that all bones are selected with a bright red color instead of a dull red color (bright red indicates selection while dull red means that a parent is selected. All bones must be bright red). In the Object manager, select CINEMA 4D Tags > Kinematic from the File menu. - Ensure that all three bones are still selected, since we want to change all their parameters at the same time. On the Attribute manager’s Tag page, enable the Heading, Pitch and Bank angles. Leave the Minimum and Maximum parameters at their default values. - In the Object manager, select Handle. Now move the bones around in the viewport once more. Try to make the bones intersect each other. This time, angle restraints make it impossible for the bones to intersect. Otherwise, the bones are still able to move freely. - Now try entering different damping values for the Kinematic tags. Start with 80% for the first bone, 60% for the second bone and 40% for the third bone. You’ll notice that the third bone moves the most readily, while the first bone is the most stubborn. Recall that increasing the damping increases the stiffness. - Use the Figure object for further experimentation. Choose Functions > Make Editable so that you can access the body parts and tags. Look At Camera This tag is used to make objects point at the camera. If Change Pitch Rotation is enabled, the object’s Z-axis always points at the camera. If the option is disabled, the pitch angle is not changed. Suppose you’re using a 2D tree in the scene (a plane with an alpha map). This tree must constantly face the camera, but also, its Pitch value must not change (i.e. it must remain perpendicular to the ground). In such cases, disable Change Pitch Rotation and enable Camera Dependent (Basic Properties tab). 708 • CHAPTER 17 Metaball You can assign this tag to the children of a Metaball object for further control of the metaball mesh. Negative Influence The object will repel the hull rather than attract it. Strength Defines the size of the meta-hull. A value of 100% means that the meta-hull is as large as the original object; at 50%, it is half the size of the original object; at 200%, the meta-hull is double the size of the original object. Radius Traditionally, metaballs are based on spheres. However, CINEMA 4D enables you to use polygon objects and splines to create the hull. A meta-sphere will be created for each object point. For example, if you use a cube with eight points, eight meta-spheres will be created, one for each corner of the cube. Radius defines the radius for these spheres. Motion Blur You can use this tag to apply motion blur to an object. Add the tag to the desired object or objects. Open the render settings and on the Effects page, click the Post Effect drop-down list (you’ll find this in the top right corner of the dialog). From this list, choose Object Motion Blur. Note that the object must be animated and moving at a reasonable speed for object motion blur to be seen; you must also render to the Picture Viewer — motion blur won’t be shown when you render to the viewport. Strength Strength is the degree of blurring. A value of 100% will blur the object for the entire distance between one frame and the next. To reverse the direction of the motion, enter a negative value. For extra blurring, enter a value greater than 100%. OBJECT MANAGER • 709 Phong This tag gives objects a smooth appearance. The picture below left shows a sphere before and after a Phong tag is applied. Look closely at the right sphere and you’ll notice straight lines around its silhouette. Phong shading does not increase the number of polygons. Rather, think of it as an illusion that loses its effect around the silhouette. If you need to smooth the silhouette region, you must use more subdivisions (perhaps try placing the object in a HyperNURBS object). To specify the maximum smoothing angle, enable Angle Limit and enter the desired angle into the text box. No Phong tag (left), Phong tag applied (right). The following cylinders demonstrate the effect of the smoothing angle. The cylinder on the left has smoothing with no angle limit specified (i.e. all angles are smoothed), the middle cylinder has an angle limit of 89.5° and the cylinder to the right has no smoothing at all. No angle limit (left), 89.5 angle limit (center), no smoothing (right). When CINEMA 4D calculates the Phong shading, it assumes that the surface normals are aligned. If this is not the case, shading anomalies may appear. All primitive objects are aligned by default. 710 • CHAPTER 17 Smoothing is a good way to reduce render time and save on memory. Without the Phong tag, an object would require a far greater number of polygons in order to appear smooth. Note that smoothing can only take place across connected surfaces (surfaces that share points). How Phong shading works Each surface has a normal (often called a ‘surface normal’) that is perpendicular to its surface. The color and brightness of a point is determined by the angles which the normal forms with the rays of the camera and the light sources. Without smoothing, two connected surfaces will have a hard transition, because each surface has its own normal. This will cause brightness bands.  To see the normals, select their polygons. For example, create a sphere and choose Functions > Make Editable (this will convert the sphere to polygons). Select the Polygon tool from the left toolbar and select some polygons using one of the selection tools (or choose Edit > Select All). The normals appear as thin, yellow lines perpendicular to the surface. To align normals, choose Functions > Align Normals. If a Phong tag is activated, the normals will be interpolated. There will be a soft transition between one normal and the next (provided that the surfaces are connected). If a Phong tag is not applied, there will be no interpolation. Figure 1. Figure 1a: light course. Figure 2. Figure 2a: light course. Figure 1 shows three connected surfaces. The middle surface is not aligned to the other surfaces (you can tell by the direction of the normals). Figure 1a illustrates how the normals are interpolated for smoothing. The light bar shows the hard transition caused by the non-alignment. Figure 2 shows the same three surfaces, but this time they are aligned. Notice how the interpolation (Figure 2a) is much smoother this time. The light bar is smoother as a result. These pictures illustrate why it is important for surfaces to be aligned. The convention is that the normals should point outwards from the object. For example, if you have an apple, the normals should point outwards into the world, not inwards towards the core. The normal direction plays an important part in decal mapping, such as when you put labels onto bottles. All primitive objects are created with aligned normals (you do not need to edit their normals — they will be correct). OBJECT MANAGER • 711 Use Edge Breaks The broken edges in red and the rendered result. When in edge mode, CINEMA 4D allows you to break the Phong shading along edges using the Break Phong Shading command (Structure menu). When breaking individual edges, the effect will only occur if the end points of the edge are surrounded by connected polygons. In the following illustration, the effect of breaking will be visible for edge A, but not for edge B.  Broken Phong edges only work when the Phong tag’s Angle Limit option is enabled. If you don’t want to use an angle, set Angle Limit to 180 (this corresponds to no angle limit). You can enable or disable the effect via the Use Edge Breaks option. Use Edge Breaks disabled Use Edge Breaks enabled The following types of NURBS object make use of these new Phong features: Extrude, Lathe and Sweep. To see the difference, select the NURBS object’s Phong tag and in the Attribute manager, disable the Use Edge Breaks option. Provided the option is enabled, the edges will be sharp. 712 • CHAPTER 17 Protection Use this tag to prevent accidental changes to an object. You’ll be unable to move, scale or rotate any object that has this tag. You’ll need to remove the tag before you can make any such changes.  The Protection tag does not prevent scaling with the Object tool. It does, however, prevent scaling with the Model tool. Restriction You can use this tag to restrict a deformer’s effect to a selection of points. You can enter up to six selections for the tag and define the strength of the deformation in each case. Shockwave 3D Double Sided For information on this tag, look up ‘Shockwave 3D, export’ in the index. OBJECT MANAGER • 713 Stick Texture This tag pins down all textures onto the object’s surface so that when parts of the object are deformed in some way — such as lips smiling and then frowning — the texture is locked to the surface and deforms along with it. The usual way to pin textures down is to use UVW mapping. However, UVW mapping is problematic when used with HyperNURBS, especially when the cage moves from an area of few points to an area of many points. This is illustrated in Figures 1 to 4, below. Figure 1 shows the polygon object before it is placed in the HyperNURBS. Figure 2 shows the object in a HyperNURBS and a texture applied with Flat projection. Compare Figure 2 with Figure 3 and you’ll notice that the UVW map in Figure 3 is warped for no apparent reason. Put simply, UVW mapping doesn’t work very well with HyperNURBS objects. In these cases, use a Stick Texture tag instead of UVW mapping to pin down the texture (Figure 4). Figure 1. Figure 2. Figure 3. Figure 4. How does this work exactly? When a Stick Texture tag is created, CINEMA 4D creates a reference of the object’s point and stores them in the Stick Texture tag. If you then distort the object, CINEMA 4D compares the new state to the stored state and adjusts the projected texture accordingly to ensure it stays pinned down and moves with the mesh.  As soon as you add points to a Polygon object, the stored reference becomes invalid. However, this is usually not an issue when using deformation objects since a new reference is created automatically before every deformation. 714 • CHAPTER 17  If you assign a Stick Texture tag to a texture that uses Flat mapping with Side set to Front, the “Front” information will be lost and the texture will be mapped to both sides of the object.  The Stick Texture tag has an interesting side-effect: if you make a Polygon object a child of a Symmetry object and texture one half, the texture will be mirrored to the other side automatically. This enables you to, say, paint half a face, project it using flat mapping and let CINEMA 4D take care of the other half. If you want to be able to texture each sides independently, put the Texture tag onto the Symmetry object. Active Here you can temporarily disable the Stick Texture tag without losing the stored reference. Record This button enables you to record the current point positions and defines them as a new reference. Reset  Only polygonal objects can be reset and recorded. The reference is created directly. All other objects (NURBS, primitives etc.) cannot be reset or recorded because they have no points or polygons. Only if they are deformed are they internally converted to Polygon objects which can then be deformed. The reference for the Stick Texture tag is created from this internal Polygon object. This button resets the object to its original state which is stored in the Stick Texture Tag. Stop This tag prevents the object and its children from being affected by generators (Stop Generators enabled) and deformers (Stop Deformer enabled) that are higher up in the hierarchy. For example, suppose you have a group of objects, one nested inside the other. You place this group inside a HyperNURBS object. Without a Stop tag, the HyperNURBS object will affect all objects in the group. If you add a Stop tag to one of the objects in this hierarchy, the effect of the HyperNURBS will stop at that object and will not affect objects lower down the hierarchy. The Stop tag affects NURBS objects, but does not affect deformers. When using the Stop tag with deformers, apply Stop tags to child objects lower down in the hierarchy if they have their own deformers that you want to stop. OBJECT MANAGER • 715 Sun You can use this expression to simulate the sun’s position. The expression is applied automatically when you create a Sun Light object. Target If you apply this tag to an object, the object will point at another object’s origin automatically. Drag the target object into the Target Object box in the Attribute manager. The object that you’ve assigned the tag to will then point at the target object with its Z-axis, and will keep pointing at it even if you move the target object. The Target Camera and Target Light objects (Objects > Scene) use Target tags automatically. 716 • CHAPTER 17 Texture  If a child object has no Texture tags applied to it, it uses the Texture tag(s) of its parent. However, there is an exception: If a light has no Texture tag and is a child of another light, it will not inherit its parent’s Texture tags. This is to prevent child lights receiving gels automatically. This command creates a new texture geometry. Initially, no material is assigned. To assign a material, drag the material’s preview from the Material manager and drop it into the tag’s Material box on the Tag page of the Attribute manager. You can also select multiple Texture tags and assign a material to all of them at the same time. You can assign as many Texture tags as you like to an object. This allows you to apply multiple texture layers to the same object. The texture priority increases to the right in the Object manager. In other words, the right-most texture is the top layer, the left-most texture is the bottom layer and the other textures are between these. The top layer will cover the object completely unless it is limited in size or has an alpha channel enabled. When a Texture tag is selected, the editor will display only that texture for the object; other textures on the object will be ignored. Vibrate This tag can be used to make objects vary in size, position and rotation in regular patterns (Regular Pulse enabled) or to generate random size, position and rotation changes, making the object vibrate. For example, suppose you’re animating a car ride over rough ground, see from the driver’s view. By adding a Vibrate tag to the camera, you can greatly add to the realism by literally putting the viewer behind the wheel. OBJECT MANAGER • 717 You can apply the Vibrate tag not only to cameras, but to any type of object. Regular Pulse If this option is enabled, the object pulsates using a regular pattern shaped like a sine wave. Seed This parameter is available only when Regular Pulse is disabled. It controls the starting position of random vibration. Two objects that are set to the same Seed value will pulsate synchronously. If you want to prevent this, ensure that the objects use different Seed values. Enable Position, Enable Scale, Enable Rotation Use these options to switch vibration on or off for position, scale or rotation. The Amplitude input boxes control the maximum positive and negative movement, scale or rotation along the X, Y and Z axes. The Frequency value controls the speed of vibration. The Uniform Scale option determines whether all axes are scaled uniformly. WWW You can assign a URL to an object. This is useful if you are creating VRML files for the Internet. These VRML files (.wrl) contain complete 3D scenes and can be viewed in web browsers provided that you have an appropriate VRML plugin. The viewer can click on a 3D object that has a WWW tag in order to link to an Internet address. URL contains the link address. Enter the complete address, including the prefix such as ‘http://’, ‘ftp: //’, or ‘shttp://’. Use Info to define the text that will appear when the mouse pointer is positioned over the object in the web browser. 718 • CHAPTER 17 XPresso By assigning this tag to any object in your scene, you can create your own expression using CINEMA 4D’s powerful expression builder, XPresso. The XPresso Editor will then open automatically. Using XPresso, you can create almost any type of behavior for objects and link behaviors to one another, allowing endless automated interactions between the objects in your scene. To learn about the XPresso Editor, see Chapter 22, ‘XPresso Editor’. C.O.F.F.E.E. Error tag You won’t find this tag listed on the Object manager’s File > CINEMA 4D Tags menu. Rather, it appears automatically when you load a scene that uses plugin tags and you don’t have the plugin installed, or when a C.O.F.F.E.E. error occurs (if you see C.O.F.F.E.E. errors, please contact the plugin’s author). Restore Selection If you’ve created selections for point, edge or polygon selection using the Set Selection command, you’ll find these selections listed here. You can restore a selection by choosing its name from this list. You can also select this command, as well as others, on the Attribute manager’s Tag page provided that the Selection tag is selected. Load Object You can use this command to load a file containing object information such as DXF, CINEMA 4D, Illustrator path and so on. The objects and materials in the file will be loaded into the active scene. OBJECT MANAGER • 719 Save Objects As This command saves the selected object. The system dialog for saving files will open, which you can then use to save the object to hard disk. Display Tags You can use this option to show or hide tags in the Object manager. Close This command closes the Object manager. 720 • CHAPTER 17 Edit Menu Undo Undoes the last change, restoring the scene to its previous state. For example, if you accidentally move an object, choose Undo to restore the object to its correct position. Choose Undo repeatedly to undo the changes one by one. Redo Redo redoes a change. Select Redo repeatedly to continue restoring the changes. You can traverse the recent development stages of your scene by using Undo to move backwards and Redo to move forwards. Cut Deletes the selected objects or elements from the current scene and copies them (including materials) to the clipboard. The objects can be copied back from the clipboard with the Paste function. Copy  You can copy and paste objects using drag-and-drop in the Object manager. Ctrl-drag one of the selected object’s names to a new position within the Object manager. Copies the selected objects or elements (including materials) to the clipboard. The objects can be copied from the clipboard to the active scene with the Paste command. You can paste repeatedly to create additional copies. Paste Inserts the contents of the clipboard (i.e. the last objects that were cut or copied there) into the active scene. Delete Deletes the selected objects or elements from the current scene without copying them to the clipboard. Select All, Deselect All These commands select or deselect all objects. Select Children Adds the children of the selected object(s) to the selection. This is especially useful when you want to record keyframes for the selected objects and their children. Regardless of whether you record using the Animation toolbar, Timeline or Attribute manager, keys are only recorded for child objects if they are also selected. This command gives you a quick way to select them. OBJECT MANAGER • 721 Show Objects Makes the selected objects visible in the viewport by setting their top visibilty dot to green. Hide Objects Makes the selected objects hidden in the viewport by setting their top visibility dot to the red. Invert Object Selection Inverts the object selection: objects that were selected before the command call will become deselected, while the objects that were deselected will become selected. 722 • CHAPTER 17 Objects Menu Object Display  You can also set the following properties on the Basic Properties page of the Attribute manager. The items in this menu control the viewport and render visibility for the selected object. Alternatively, you can change the visibility using the visibility dots in the middle column of the Object manager: Both dots are grey by default. The upper dot controls viewport visibility, the lower dot render visibility. Each dot has three states: grey, green and red.  To apply a status to all child objects, Ctrl-click the parent object’s dot. The status will be transferred to all its child objects.  To set the top and bottom visibility dot at the same time, Ctrl-click either dot. Editor Unchanged (upper dot gray) The object adopts the viewport visibility of its immediate parent. If the object is on the top hierarchy level (i.e. has no parent), it will be displayed as normal. Editor Unchanged is the default setting for new objects. Editor On (upper dot green) The object will be visible in the viewport, even if the hierarchy parent is invisible (red). Editor Off (upper dot red) The object is hidden in the viewport, even if the hierarchy parent is visible (green). Renderer Unchanged (lower dot gray) The object adopts the render visibility of its parent. If the object is on the top hierarchy level (i.e. has no parent), it will be rendered as normal. This is the default setting for a new object. Renderer On (lower dot green) The object will be visible in the render, even if the hierarchy parent is invisible (red). Renderer Off (lower dot red) The object is not displayed in the render, even if the hierarchy parent is visible (green). OBJECT MANAGER • 723 Object Activation Generators and deformers are two of the most important object types in CINEMA 4D. Generators use other objects or data to create new surfaces. Generators include most NURBS types. Deformers modify an existing object. Deformers include not only those listed in the Objects > Deformation menu, but also HyperNURBS, metaballs and the Symmetry object.  If you have an object in the scene that uses deformers, you can increase the redraw rate by switching off deformation via the enable switch. All generators and deformers have the two standard visibility dots (see Object Display above) in the Object manager. In addition, they have a third switch for Object Activation. This switch has two states: enabled and disabled. The enabled state switches on the generator (i.e. surfaces are generated) and is represented as a green check mark. The disabled state is indicated as a red cross and tells you that the generator is switched off (i.e. not generating surfaces). To toggle between the enabled and disabled state, click the enable switch. Example - You have placed several splines into a Loft NURBS. - If you want to edit the splines extensively, you can see them more clearly if you turn off the skin of the Loft NURBS (click the enable switch for the Loft NURBS to change its icon from a check mark to a cross). Note that this doesn’t hide the Loft NURBS — rather, it switches off its effect. A further example - Create a cube and make it a child of a HyperNURBS object. The cube will be deformed into a sphere. If you click the enable switch, only the cube (the original object) will be shown. 724 • CHAPTER 17 Search The Search tool gives you a powerful way to search for objects and tags in the Object manager. When you select the command, the following dialog will appear: Objects that match the search criteria will become selected in the Object manager. You can search by name, by object type, by tag type and so on. To open a search menu, click the triangle button next to the Search text box. You’ll find the following options on the search menu: Exact Match Selects all objects or tags that match the text in the Search text box. Starts With Selects all objects or tags whose names start with the text in the Search text box. Contains Selects all objects or tags whose names contain the text in the Search text box. Ends With Selects all objects or tags whose names end with the text in the Search text box. Case Sensitive This option determines whether the search is case-sensitive. Objects, Tags Opens a list of all object types or tag types present in the scene. To search for a specific type of object or tag, choose its name from the list. The element type will then appear in the Search text box along with a bracket pair. You can refine the search by entering search syntax into the text box between the brackets. OBJECT MANAGER • 725 The search syntax * a character sequence of any length ? any single character # any single digit (xx,yy,zz) ‘xx’ or ‘yy’ or ‘zz’ [x] the expression before the ‘[x]’ must be present x times {} these brackets appear when you are searching for a particular type of object or tag (see ‘Objects, Tags‘. You can enter search syntax between the brackets to refine the search. / use this to select tags that are assigned to specific objects , allows you to do a combined search Syntax examples For these examples, we’ll assume that the search mode is set to Exact Match. Tree Selects all objects named ‘Tree’. Tree* Selects all objects whose names begin with ‘Tree’. For example, this would select any objects named ‘Tree frog’, ‘Tree ring’ and so on. Light{*} Selects all light sources. HyperNURBS(*),Light(*) Selects all HyperNURBS objects and light sources. Camera{cam#} Selects all camera objects whose names begin with ‘cam’ followed by a single digit. For example, this would select any camera objects named ‘cam1’, ‘cam2’, ‘cam3’ and so on. Note that ‘cam12’ would not be found because it has more than one digit. To find ‘cam12’ and other camera objects named ‘cam’ followed by two digits, you could add a second hash character, i.e.: Camera{cam##}. Phong{xx,yy,zz} Selects all Phong tags named ‘xx’, ‘yy’ or ‘zz’. UVW{?} Selects all UVW tags whose names are a single character, such as ‘a’. 726 • CHAPTER 17 Cube{base}/Texture{*} Selects all Texture tags assigned to a cube named ‘base’. Bone{a[3]} Selects all bones named ‘aaa’. Search First Active Object When working with a complex scene that has hundreds of objects, it can take a while to find the object you want in the Object manager. In these cases, you may find it quicker to click the object in the viewport and choose Search First Active Object. The selected object will then be shown in the Object manager. The manager will scroll and the hierarchy tree will be opened if necessary. Edit Object This command is only of use if the Attribute manager is closed. It opens the Attribute manager, where you can then edit the parameters of the selected object. You can also open the Attribute manager by double-clicking a type icon. Don’t use this command if the Attribute manager is already open and you want to edit an object. Instead, in the Object manager, select the objects that you want to edit. Their parameters will then appear in the Attribute manager, where you can edit them. Rename Object You can use this command to change an object’s name. You can also call this command by doubleclicking on the object’s name. Group Objects You can use this command to group objects in the Object manager. To group objects, select the objects that you want to group and choose Group Objects. A Null object is created and the selected objects (including their children) are placed inside the null. Existing hierarchies are preserved within the new group. Expand Object Group Objects one level below the parent are moved to the same level as the parent. Existing hierarchies within the group are preserved. Make Editable Look up ‘Make Editable command’ in the index. Current State To Object Look up ‘Current State To Object command’ in the index. OBJECT MANAGER • 727 Connect Look up ‘Connect command’ in the index. Select Children Adds the children of the selected objects to the selection. Show Tracks Shows all animation tracks of the selected objects in the Timeline. Show F-Curves Shows all F-Curves of the selected objects in the F-Curve manager. Object Information This command displays the following information about the selected object (including its children): size in KB, number of points, number of polygons and number of objects. If you see figures in brackets, these are the number of points and polygons that will be created if you make the object and its children editable. Scene Information This command displays the following information about the scene: size in KB, number of points, number of polygons and number of objects. You are not required to select an object before using this command. If you see figures in brackets, these are the number of points and polygons that will be created if you make all objects in the scene editable. 728 • CHAPTER 17 Fold All This command collapses all hierarchies. In this state, objects take up the least amount of space in the Object manager. Unfold All  Proceed with caution if your scene is very large. In these cases you may want to unfold the hierarchies by hand. Large projects often have more than 1000 objects. The display speed will be just as slow as if 1000 files were to be displayed hierarchically in your operating system’s window. You can find out the number of objects in your scene by choosing Objects > Scene Information. This command is the reverse of Fold All (see above) — it expands all hierarchies. In this state, objects take up the most space in the Object manager. The advantage is that all objects will be visible (although you may need to use the scroll bar). Fix Bones  You can access this command and further bones commands on the Fixation page of the Attribute manager (a Bone object must be selected to load the Fixation page into the Attribute manager). Once you have finished positioning bones, you must ‘fix’ them before you can use them. This command fixes the starting position of the bones. The enable switch will be turned on automatically for the bone and its child bones. Reset Bones This command resets the bones to their fixing (start) position. The object will return to its state at the time of the fixing. The enable switch will be turned off automatically for the bone and its child bones. Bake Particles Baking particles means freezing the particle stream, including all its modifiers. This can be useful for several reasons: - In extreme cases, very fast particles may behave unexpectedly due to processor inaccuracies — for example, they may pass through deflectors. Baked particle streams avoid this problem since they are calculated much more accurately. - You may want to mix several particle streams but prevent modifiers affecting particles in the other streams. To do this, create one particle stream and its modifiers and bake the stream. Delete the modifiers before you start the next stream and continue in the same manner. - If you are using NET Render to render across a network, jumps may occur in particle streams due to differences between the CPUs. To remedy this problem, bake the particles. OBJECT MANAGER • 729 To bake the particles, select the emitter in the Object manager, choose the Bake Particles command, set the parameters in the Bake Particles dialog as desired (see below) and click OK. A Baked Particles icon will appear in the Object manager, to the right of the emitter. From, To Use the From and To values to mark the period over which the particles will be baked (the default values cover the entire project length). Samples Per Frame This parameter defines how many animation samples the baking will take per frame. For example, if you set the value to 2, the baking will sample the animation every half frame. In general, higher values lead to more physically correct results, especially with fast-moving particles. Keep in mind that the scene’s filesize will increase if you increase the Samples Per Frame value. Bake Every x Frames Here you can choose how frequently (in frames) the particles will be baked. For the most accurate results, set the value to 1, which will result in the position being baked for every single frame. With higher values, the positions will have to be interpolated between the baked (saved) values. Keep in mind that the scene’s filesize will increase if you lower the Bake Every x Frames value.  You cannot edit the settings that were used to bake the particles. If you need to re-bake the particles — for example, because you’ve increased the project length — first delete the Baked Particles icon in the Object manager, then bake the particles again. 730 • CHAPTER 17 Tags Menu Edit Tag This command is only of use if the Attribute manager is closed. It opens the Attribute manager, where you can then edit the parameters of the selected tag. You can also open the Attribute manager by double-clicking a tag. Don’t use this command if the Attribute manager is already open and you want to edit a tag. Instead, in the Object manager, select the tag or tags that you want to edit. Their parameters will then appear in the Attribute manager, where you can edit them. Copy Tag To Children If you select this command, the selected tag will be copied to all child objects of the active object. If a child object already has a tag of the same type, its tag will be overwritten with that of the parent. There is one exception: the Texture tag. This tag is still copied, but the child will keep its own tag as well (an object can have more than one Texture tag). Select Identical Child Tags Using this command, you can select like child tags. For example, suppose you want to change the material used by a parent object and all its children. To do this the most efficient way, you first need to select all of these tags, and this command gives you a quick way to do this. Select the Texture tag of the parent and choose the command to select the Texture tags of the relevant children as well. You can now proceed to assign the new material to all the tags — drag the desired material from the Object manager and drop it into the Material box on the Attribute manager’s Tag page. OBJECT MANAGER • 731 Texture Menu Generate UVW Coordinates You can use this command to generate UVW coordinates. This is especially useful for imported objects that do not have UVW coordinates. UVW coordinates prevent a texture from ‘slipping’ when you deform the object. You generate UVW coordinates starting from a normal projection mode such as Flat. To generate UVW coordinates - Create a texture, allocate it to the object and set the desired projection type such as Flat. - Generate UVW coordinates. - Deform the object. The effect of UVW coordinates is demonstrated in the picture above. The object to the left uses Cubic mapping. The texture slips when the object is deformed. The texture for the object to the right does not slip since its original cubic mapping has been fixed in place with UVW coordinates. You may use multiple Texture tags on an object, with each Texture tag assigned to a different UVW tag. To do this, add a new Texture tag to the object and set the desired projection type, such as flat mapping for a label. Next, choose Generate UVW coordinates. A new UVW geometry will be created and the selected Texture tag will switch over to UVW mapping so that the texture is fixed to the object’s surface. Each time Generate UVW Coordinates is used, a new UVW tag will appear in the object manager. A Texture tag will use the first UVW tag that appears anywhere to the right of it in the tag list. If no UVW tag exists to the right of the Texture tag, then the Texture tag will use the first UVW tag on the tag list. In this way, different UVW tags can be assigned to different texture tags. 732 • CHAPTER 17 Assign UVW Coordinates  Selective UVW mapping is intended for you to optimize projection for a single texture. If you want to use more than one texture, use the Texture tag’s Selection parameter.  If the object has no UVW coordinates (i.e. no UVW tag), new coordinates are created automatically. This command enables you to texture an object with several different projection types using a single UVW geometry and a single Texture tag. To assign UVW coordinates - Create a sphere and convert it into a polygon object with Make Editable. - Create a new material with a texture, e.g. the Checkerboard shader, and allocate it to the sphere. - Change the projection type from UVW Mapping to e.g. Flat. - Select the Polygons tool from the left toolbar and select several polygons. - In the Object manager, choose Texture > Assign UVW Coordinates. - The selected polygons use Flat projection while the unselected polygons continue to use the normal UVW mapping. If you deform the object, the texture remains fixed in the selected region as well. UVW Tag option: Lock UVW You may find that this option is enabled automatically when you import a scene from another program. The enabled option locks the UVW coordinates to prevent them being changed by BodyPaint 3D’s UV editing tools. This is useful for preventing accidental UVW changes. OBJECT MANAGER • 733 Fit To Object, Fit To Image, Fit To Region Fit to Object. Fit to Image. Fit to Region. Fit To Object If you select this command, the texture will be made to cover the object completely — the texture will have a length of 100% in both the X and Y directions. Fit To Image You must apply your texture with Flat projection if you want to use this command. Type the name of an image into the dialog. CINEMA 4D calculates the image’s X and Y resolution and scales the texture in the V direction to constrain its proportions. You can use this command to ensure that your texture uses the correct proportions, thereby avoiding distortion. Fit To Region You must apply your texture with Flat projection if you want to use this command. Use the mouse to drag a box. CINEMA 4D fits the projection to this box. Adapt To Object Axis, Adapt To World Axis, Adapt To View Adapt to Object Axis. Adapt to World Axis. Adapt to View. Adapt To Object Axis and Adapt To World Axis rotate the texture axes in such a way that they are parallel to the object axes or world axes. Adapt to View rotates the texture axes so that the texture is perpendicular to the viewing perspective. For a 3D viewport, this is the camera plane; for all other viewports, it is the work surface. 734 • CHAPTER 17 Mirror Horizontally, Mirror Vertically Mirror Horizontally. Mirror Vertically. Mirror Horizontally flips the texture horizontally. This effect is the same as if you were to view the texture’s reflection in a real mirror. Mirror Vertically flips the texture vertically, effectively turning the texture upside-down. 18 Material Manager MATERIAL MANAGER • 737 18 Material Manager Good materials are every bit as important to photorealism as good modeling. Using the Material manager, you can accurately recreate any type of material. A thumbnail is displayed for each material, which, by default, shows how the material looks when placed on a sphere in front of a striped background. You can change the size of the thumbnails using the following commands on the Material manager’s Edit menu: Mini Icons, Small Icons, Medium Icons and Large Icons. When you select an object in the Object manager, the thumbnails of materials it uses appear depressed in the Material manager. If you select an individual Texture tag, only the thumbnail of the material that is used by this tag appears depressed. To apply a material to an object, drag the material’s thumbnail from the Material manager and drop it onto the desired object in the Object manager or viewport. If you drop a material onto a Texture tag, this material replaces the previous one. If instead you drop a material onto an object name or onto an object in the viewport, a new Texture tag is created. An object may have multiple Texture tags, in which case the textures are layered one on top of the other. The right-most Texture tag in the Object manager is the top layer. In addition to any materials that are active, you can also select materials. The names of selected materials are displayed in red. The Material manager’s commands operate on the selected materials only. To select a material, click its thumbnail. To add a material to the selection, Shift-click its thumbnail. You can also use the cursor keys to change which material is selected. To edit a material, double-click its thumbnail. This opens the Material Editor window, which has its own preview picture. You can also edit the selected materials in the Attribute manager. You can access many of the commands for materials via the context menu. To access this menu, right-click (Windows) or Command-click (Mac OS) a thumbnail. To delete a material, click its thumbnail and press Backspace or Delete . Texture tags that used this material will then show the following icon. Even after deleting a material, the mapping data for the Texture tag is preserved. 738 • CHAPTER 18 File Menu New Material This command creates a new material with default values (white with specularity). The new material is placed at the start of the material list. Shader This menu lists CINEMA 4D’s volume shaders, including the volume shaders formerly known as SLA (such as Cheen and Banji). These shaders are described later in this chapter. Load Materials This command loads materials, adding them to any materials already in the scene. You can also import materials from another scene by loading the scene file. A word of caution regarding textures: When CINEMA 4D renders the scene, it must locate all the textures. CINEMA 4D will look for the textures in the same folder as the scene, as well as in a subfolder called ‘Tex’. In addition, you can specify up to ten alternative texture paths in the preferences (Texture Paths tab). When the scene is to be used on another computer (perhaps by a colleague) we recommend that you save the scene using the Save Project command. This will save all of the textures used by the scene in a ‘Tex’ sub-folder. Save Project is comparable to the ‘Collect For Output’ command that you may be familiar with from using other software tools. Save Materials As Saves the selected materials. The standard system dialog for saving files will open. Once you have saved the materials, you can reload them at any time using the Load Materials command. Save All Materials As Saves all the materials in the active scene. Use the Load Materials command when you want to load the materials. Close Closes the Material manager. MATERIAL MANAGER • 739 Edit Menu Undo, Redo Undo undoes the last change, restoring the last change you made to a material. Choose Undo repeatedly to undo the changes one by one. Redo redoes a change. Select Redo repeatedly to continue restoring the changes. Cut Cut deletes the selected materials from the Material manager and copies them to the clipboard. You can use the Paste function to retrieve the material from the clipboard, even if you have changed the active scene (i.e. you can paste between scenes). Copy  You can quick-copy materials by using drag and drop with the Ctrl key held down. Drag the copy and drop it at the desired position in the material list. The first copy will be called ‘name.1’, the second copy will be called ‘name.2’ and so on. Deletes the selected materials and copies them to the clipboard. The materials can be copied back from the clipboard with the Paste function. Paste Inserts the materials that are stored in the clipboard (i.e. the last materials that were cut or copied there) into the active scene. Delete Deletes the selected materials without copying them to the clipboard. Alternatively, press the Backspace or Delete key. Select All, Deselect All These commands select or deselect all materials. 740 • CHAPTER 18 Material List You can choose to display the material icons as a vertical list. To revert to the original display mode, in the Material manager, choose Edit > Material. Mini Icons, Small Icons, Medium Icons, Large Icons Choose one of these settings to determine the size of the material previews (the default is Small). MATERIAL MANAGER • 741 Function Menu Select Materials Of Active Objects Use this command to select the materials used by the selected objects or Texture tags. The Material manager will scroll if necessary in order to display these materials. Find First Active Material Shows the first selected material in the Material manager. Render Materials, Render All Materials  To abort the rendering of the thumbnails, press the Esc key. These commands redraw the thumbnails of the selected materials or all materials. Most of the time you won’t need to use this command because new materials are rendered automatically. However, when you save a scene, the thumbnails are compressed to reduce the scene’s file size. When you load a scene, you may notice artefacts in some of the thumbnails. In such cases, use this command to redraw the thumbnails. You’ll also need to use this command when importing foreign data formats such as DXF and 3D Studio R4. If you render the materials and only the base color is shown, it probably means that CINEMA 4D was unable to find the textures. The best way to avoid missing textures when moving scenes from one computer to another is to use the Save Project command. This saves all of the textures used by the scene in a ‘Tex’ folder within the scene’s folder. New Material Group, Remove Material Group By default, the Material manager displays all materials that are present in the scene. This is suitable for small projects where there are only a few materials, but when you are working on a complex scene that contain hundreds of materials, it can soon become a chore to find the materials you want to use or edit. The solution is to sort the materials into material groups. You can then choose which material groups are displayed in the Material manager. First, create at least one material group using the New Material Group command (see below). You’ll see a tab for each group appear at the top of the Material manager. Click a tab to display its materials only. Shift-click a tab to display its materials in addition to the ones already displayed. You can assign a material to one group only. Exception: each material is automatically assigned to the All group as well. To move a material from one group to another, drag the material onto the desired tab and wait for the tab’s materials to appear. Now drop the material in the desired position. 742 • CHAPTER 18  When you delete a material from a group, the material is deleted completely. In other words, it is also deleted from the All group. A red tab name indicates that at least one of the tab’s materials is selected. New Material Group Creates a new material group. Use the dialog that opens to name the group. You’ll see a tab for the new material group appear at the top of the Material manager. If this is the first group you’ve created, two other tabs will also be created at the same time: All and Others. The All group contains all the materials in the scene. The Others group contains materials not yet assigned to one of the groups you’ve created. To rename a material group, double-click the tab’s name and enter the new name into the dialog that appears. You cannot rename the All and Others groups. Remove Material Group  You cannot remove the All and Others groups. They will be deleted automatically if you remove all other groups. Deletes the selected material groups and moves their materials to the Others group (the materials themselves are not deleted). Sort Materials Arranges the material list in alphabetical order. You can also sort materials manually using drag and drop. Drag the material that you want to reposition and drop it in the new position. The insertion is right-justified. In other words, the material will be placed to the right of the material onto which you drop it. If the target position of the material is outside the visible range of the Material manager, you can scroll by moving the mouse pointer to the upper or lower edge of the window. Edit This command opens the Material Editor if it is not already open and makes the Material Editor the active window. You can use the Material Editor to change the properties of the selected material. You can also open the Material Editor by double-clicking on a material thumbnail. The Material Editor is described later in this chapter. You can also edit materials in the Attribute manager. MATERIAL MANAGER • 743 Apply Creates a Texture tag for each selected object. Each of these tags is assigned the selected material. You can also apply materials using drag and drop. If you drop the material on to an existing Texture tag ... ... the tag’s previous material is replaced by the new one. However, if you drop the material onto the object’s name, a new Texture tag is created for the material. Rename Use this command to change the name of the selected material. You can also rename a material by double-clicking its name, which is just below the material’s thumbnail, or by selecting the material and entering the new name on the Basic Properties tab in the Attribute manager. Remove Unused Materials Deletes all unused materials. Remove Duplicate Materials Deletes all identical materials (i.e. materials that have the exact same settings) except the one that is closest to the top left corner on the materials list in the Material manager. This command is also available from the context menu. Select Texture Tags Selects all Texture tags that use the selected materials. MATERIAL EDITOR • 745 The Material Editor The Material Editor enables you to edit the properties of the materials used in your scene. To open the Material Editor, double-click a thumbnail in the Material manager. The Material Editor is ‘non-modal’. In other words, there is no need to close it before you can edit another material. Simply click once on another material in the Material manager and its settings will appear in the Material Editor. Materials can also be edited in the Attribute manager.  For details on how to use the interface — such as how to navigate, create keys and so on — see Chapter 21, ‘Attribute Manager’. Property What it controls Color Surface color Diffusion Irregularities in surface color (works by brightening and darkening the color channel) Luminance Luminescent color (light-independent color) Transparency Transparency (including refraction index) Reflection Ability to reflect other objects Environment Environment reflection (simulates reflection) Fog Fog effect Bump Virtual bumps on a surface Alpha Localized texture invisibility Specular Highlight Specular Color Highlight color Glow Halo around an object Displacement Authentic bumps on a surface Illumination Radiosity, caustics, illumination model Assignment List of all objects that use the material The Material Editor is divided into panes. A preview of the material is displayed in the top left corner. There are also 15 pages of parameters, the settings of which are combined to form the material. You’ll find a list of these parameter pages — known as channels — in the left part of the dialog. Most of the time you won’t need to use all the channels. Use the option boxes next to the channel names to choose which channels (i.e. properties) are used by the material. To access a parameter page, click the desired channel’s name. Each page operates in a similar way and the control elements are in the same place. 746 • CHAPTER 18 Material Preview To toggle the material preview on or off, click the triangle next to the preview. To rotate the preview, right-drag (Windows) or Command-drag (Mac OS) or Shift-drag the preview. Material preview context menu To change the display settings for the preview, right-click (Windows) or Command-click (Mac OS) on the preview and choose the new settings from the context menu that appears. Animate Enable this option to switch on animation for the preview. Open Window This command opens a window containing a material preview that you can scale as desired. The window also has a context menu that lets you choose which scene is used to create the preview (e.g. sphere, torus) and whether the preview is animated. With the Auto option, you can ensure changes made to the material are updated automatically. If the option is disabled, you must manually click on Update. Materials and shaders can also be placed here via drag and drop. Default, Small, Medium, Large, Huge Here you can choose the size of the material preview. The Default setting corresponds to the Default Size specified in the preferences on the Material Preview tab. MATERIAL EDITOR • 747 Default, Flat (2D), Sphere, Cube, ...  Use a simple object as the preview to ensure rapid preview updates. Here you can choose a different shape for the preview. You can choose from predefined shapes (the Default setting corresponds to the material preview shape selected in the preferences), and you can create your own shapes and add them to the list. To add your own shape to the list, save the shape (i.e. object) as a c4d file and place the c4d file into CINEMA 4D’s ‘library/materialpreview’ location (create the ‘materialpreview’ folder if there isn’t one already). When creating c4d files for the material preview, keep in mind that only the top-most object in the Object manager will be used for the preview. Also, if this object has a UVW map, the material preview will use UVW mapping. Reset Rotation You can rotate the preview shape, as mentioned earlier, by right-dragging (Windows) or Commanddragging (Mac OS) or Shift-dragging the preview. The Reset Rotation button restores the preview shape to its original angle. Scene Settings Most of these parameters change the size of the object that is used by the preview. So how is this useful? Suppose you’ve created a material that uses a displacement map with Height on the Displacement tab set to 100 m or higher. Suppose also that the object used by the preview is a cube that has sides that are 100 m long. This cube would be too small to adequately display the Displacement map. In such cases, simply change the object’s size using the Preview Size or Relative Scale parameters. The Original Size box displays the object’s original size. If the material is animated, specify the start frame for the animation using Animation Start. Environment Color, Environment Strength These two parameters allow you to define environment lighting (i.e. ambient light) for the preview. You can choose the color and brightness of the environment light. 748 • CHAPTER 18 Materials and XPresso You can access materials and shaders from within XPresso expressions. To add a material or shader to an XPresso expression, drag and drop the material preview or shader preview from the Material Editor into the XPresso Editor. Color chooser You can specify a color on most of the material channel pages using a color chooser. For details on how to use the color chooser, look up ’color chooser’ in the index. Texture settings Most material channels enable you to load a texture. You can select a two-dimensional picture or shader. Your selection will be used as a texture. CINEMA 4D recognizes these formats: JPEG, IFF (ILBM), TIFF, TGA, BMP, PICT, Photoshop PSD, MOV, AVI. If QuickTime is installed on your system, other formats will also be available via QuickTime. You can load a texture using the triangle button, Texture box or three dots button. Click the button or box and use the menu or file selection dialog that appears to load the texture. Once you have loaded a texture, its preview will appear below the Texture box with three numbers shown immediately below the preview. These numbers specify the width, height and color depth of the texture. If you click on the preview picture or the name of the texture or shader, the picture/ shader will be loaded into the Material editor. You can then edit the picture externally or edit the shader’s settings. Triangle button Click on the triangle button next to the Texture box to open a menu that allows you to load bitmaps and load channel shaders. The menu also contains the following commands: Clear Removes the texture/image from the material channel. MATERIAL EDITOR • 749 Load Image Opens a file selection dialog that allows you to load an image into the material channel. You can also load images by clicking on the three dots button on the far right of ‘Texture’. Edit Loads the shader’s parameters or image’s parameters (see above) into the Material editor. Edit Image Opens the image in the default image editing application specified for your computer. For example, choosing Edit Image for a JPEG will open the image in Photoshop if Photoshop is installed and is the default image editor for JPEGs. Reload Image Suppose that, after loading an image into the Texture pane, you then edit the image in an image editor. In such cases, use Reload Image to update the texture in the Texture pane. Note to BodyPaint 3D users: you cannot reload images that are being used by BodyPaint 3D (such as if you are rendering to the Picture Viewer). Copy Channel, Paste Channel These commands allow you to copy and paste shader settings from one material channel to another. For example, you can copy a shader from the Color channel and paste it into the Bump channel with the same settings. This saves you from having to set the parameters multiple times. Bitmaps Here you’ll find a list of all the bitmap that are currently loaded in RAM. Select a bitmap’s name from this list to load the bitmap into the Texture box. Shaders You’ll find a list of shaders in the lower part of the menu; the most frequently used of these are listed directly on the main menu, while the remaining shaders are listed on the Effects and Surfaces submenus. Further submenus may appear here depending on which modules and plugins are installed. The CINEMA 4D shaders are described later in this chapter. Three dots button, Texture box To load a bitmap into the material channel, click the Texture box or three dots button and use the file selection dialog that opens to load the bitmap. In general, the bitmap should be located in either your scene’s folder, your scene’s ‘Tex’ sub-folder or a texture path that you have specified in the preferences. A dialog will warn if the image file is not in a search path and will ask if you want to copy the image to the document’s folder or, if your scene doesn’t have its own folder yet, to the CINEMA 4D root folder. 750 • CHAPTER 18 If you click ‘No’, CINEMA 4D will save an absolute path to the image and you’ll see the path appear in the input box. When copying the CINEMA 4D scene to a different computer, be sure to copy over these textures as well — a useful command here Save Project from the main File menu (look up ‘Save Project command’ in the index for more details on this command, which equates to the ‘Collect For Output’ command you may be familiar with from working with other software tools). Once you have loaded a texture, its path name will appear in the Texture box and a preview of the texture will appear below the box.  CINEMA 4D searches for textures in the ‘CINEMA 4D/Tex’ folder, the scene’s folder, the scene’s ‘Tex’ sub-folder and the texture paths specified in the preferences (including sub-folders). CINEMA 4D also checks any absolute paths that were used when the textures were originally loaded. If CINEMA 4D cannot find a texture when rendering, a message will appear to tell you which textures are missing and which materials use these textures. You can still render the scene without the missing textures by clicking OK. You can access further settings for the texture by clicking the texture preview or Texture box. Basic Properties On this tab, Name allows you to specify a name for the bitmap; this is the name that will be used for the bitmap in the XPresso editor or Timeline. The Blur Offset and Blur Scale parameters are described later in this chapter. MATERIAL EDITOR • 751 Shader Properties The Sampling value is described later in this chapter. The File box displays the name of the texture and, if used, the absolute path to the texture as well. To choose a new bitmap, click on the three dots buttons and use the file selection dialog that opens to load the new bitmap. The Reload Image and Edit Image buttons are described earlier in this chapter. Animation CINEMA 4D also allows you to use movies as textures. You can load a QuickTime movie, AVI movie or a picture sequence in the same way as you would a bitmap image (by clicking the three dots button etc. to load the file). The Animation settings control how the movie will be played back. Mode sets the general playback mode: Simple will play the movie once from start to finish; Loop will play the movie from start to finish repeatedly; Ping-Pong will play the movie from start to finish to start repeatedly. With Loop, the texture remains on the last frame of the movie once it has finished playing. Use Timing to set the timing of the movie. Exact Frame will use one frame of the movie per frame of your animation. No frames will be dropped. If the movie and your animation use a different FPS (Frames Per Second) setting, the movie will play back at a faster or slower speed than the original speed. Exact Second matches each second of the movie against each second of your animation, thus ensuring that the movie will be played back at the original speed. If you choose Range, CINEMA 4D will play the movie once over a specified frame range (Range Start and Range End) of your animation. Use this option if you do not want the texture to start playing immediately. You can use Loops to repeat the movie a finite number of times. If you set Loops to 1, the movie will be repeated once.  You want to play a movie (QuickTime, AVI or frame sequence). Load the movie into the material channel. Click the movie’s name (Texture box) or preview picture. Click the Animation tab. Click Calculate. Result: the movie is played back once and is second-synchronized.  You want to play a movie from frame 25 to frame 350 of your animation, forwards and backwards (ping-pong) twice. Load the movie into the material channel. Click the movie’s name (Texture box) or preview picture. Click the Animation tab. Click Calculate. Set Mode to Ping-Pong. Set Timing to Range. Set Range Start to 25 and Range End to 350. Set Loops to 1 so that the movie will be played twice. Result: the movie is played forwards and backwards, then backwards and forwards using frame 25 to frame 350 of your animation. 752 • CHAPTER 18 Sampling Use Sampling to control how the texture’s pixels are interpolated. MIP and SAT are the best choices for animation or for objects in still pictures that extend towards the horizon, such as floors. Square, Alias 1, Alias 2 and Alias 3 should, in general, be used for still pictures only — they generate crisp, sharp textures, but are too sharp for animation and if animated will be likely to flicker. MIP and SAT, on the other hand, blur the texture slightly to allow flicker-free animation. Example texture. None. Circle. Square. Alias 1. Alias 2. Alias 3. MIP. SAT. None When Sampling is set to None, the original texture values are used without interpolation. This method is fast, but often produces poor results and in general is best avoided. Textures tend to look jagged with None interpolation. You can try to reduce the ‘jaggies’ by using a high antialiasing setting. MATERIAL EDITOR • 753 Circle Circle sampling uses a circle of texture pixels (the ones surrounding the intermediate value). Textures that are enlarged at render time tend to look more natural with this type than with the None type. However, as the examples demonstrate, straight lines are problematic and tend to look frayed. In addition, the texture is very jagged near the horizon. Circle sampling is, however, a good choice for very small textures (e.g. 3 x 3 pixels), because it helps the pixels to blend softly. Square Square uses a square of texture pixels (the ones surrounding the intermediate value). This leads to a softer transition between texture pixels than with None. The picture quality is good. Alias 1, Alias 2, Alias 3 Alias 1, Alias 2 and Alias 3 blend the texture more strongly than Circle and Square. Alias 3 blends the most, Alias 1 the least. In the example above, the texture is difficult to recognize with Alias 3 because it is so small (16 x 16). Alias 3 can give smoother results than Alias 1, but it also takes longer to calculate. However, even Alias 3 cannot prevent jaggies near the horizon! MIP, SAT  Enable MIP Falloff to enhance the MIP/SAT mapping effect for bump maps. This will reduce the strength of the bump map with increasing distance from the camera. MIP stands for ‘multum in parvo’, which is Latin for ‘many things in a small place’. When many texture pixels effectively lie within a single screen pixel, an approximation is made based on the (known) texture pixel values. This results in very smooth blending. MIP is the default sampling type. SAT is short for ‘summed area tables’ and it does an even better approximation than MIP mapping. As with MIP mapping, the approximation is based on the texture pixels that lie within a single screen pixel. SAT is the highest-quality sampling type.  SAT mapping works with textures up to 4,000 x 4,000 pixels. CINEMA 4D switches to MIP mapping automatically if you try to use SAT mapping with textures over this limit. MIP and SAT mapping are especially important for high-quality animation and for objects in stills that extend towards the horizon, such as a sea. MIP mapping is the default sampling type. The following two pictures demonstrate MIP/SAT mapping. Figure 1 was rendered with the antialiasing set to Always with 2x2 oversampling. The tiled texture used Circle sampling. Although the quality is generally good, the quality rapidly deteriorates towards the horizon. This unwanted effect is the result of perspective distortion. Each screen pixel representing the floor near the horizon contains perhaps hundreds or even thousands of texture pixels. MIP and SAT mapping approximate a value using these pixels. Only an approximation is made, since calculating the exact value would increase the render time greatly. Figure 2 shows Edge antialiasing with 2 x 2 oversampling. The material used SAT sampling. The image quality is much improved, including the reflection on the sphere. 754 • CHAPTER 18 Figure 1: Rendered with MIP sampling. Figure 2: Rendered with SAT sampling. The downside to MIP and SAT mapping is that they require extra memory. MIP mapping needs an extra byte of memory per texture pixel, SAT mapping requires an extra 12 bytes per texture pixel. Although SAT mapping produces better render quality than MIP mapping, MIP mapping uses much less RAM and hence is the default interpolation type. As a rule of thumb, use MIP mapping initially and switch over to SAT mapping if required. CINEMA 4D’s shaders use SAT mapping automatically without consuming additional memory. MIP and SAT mapping affect the render time. On the one hand, MIP and SAT mapping take slightly longer to render. On the other hand, you may be able to reduce the antialiasing setting. Blur Offset, Blur Scale  With floors, try a positive blur strength of about +20%. Floors tend to suffer most from perspective distortion, so they require special treatment. The Blur Offset can be used to soften a texture. The Blur Scale fine-tunes the strength of the MIP/SAT mapping. MATERIAL EDITOR • 755 MIP and SAT mapping only approximate the optimum computation, since a precise computation would increase the render time greatly. SAT mapping is more accurate than MIP mapping. But sometimes these approximations can make a texture too blurred or too sharp. So the Blur Offset and Blur Scale options enable you to blur or sharpen the mapping. Blur Offset softens a texture. Blur Scale fine-tunes the strength of the MIP/SAT mapping. A positive value increases the blur; a negative value weakens it. A strong value blurs detail but helps prevent flickering during animation. A weaker value brings out more detail but, increases the risk of flickering. Mix Mode, Mix Strength Use these parameters to mix the color and texture panes using one of four modes. The default mode for all channels is Normal, except for the Environment page, which uses Multiply as the default mode. Not all channels have Mix settings. If you load a texture or a 2D shader, it is placed on a layer above the color (i.e. the texture is placed on top of the color). Mix Strength defines the mixing proportion between the texture and color panes. Normal In normal mode, the Mix Strength sets the opacity of the texture. If the value is set to 100%, you’ll see the texture only (remember, the texture is the top layer, so if it is opaque you won’t see the color underneath). If the value is set to 70%, the result is 70% of the texture and 30% of the color. For example, if a texture pixel of RGB 255/0/0 (red) is used with a color value of RGB 255/255/0 (yellow) with the Mix Strength set to 50%, the resultant color is 255/128/0 (orange). Add The texture’s RGB value is added to the color’s RGB value. Color channel values cannot exceed the maximum of RGB 255. So if a texture pixel of RGB 0/255/255 (cyan) is added to a color value of 255/ 255/0 (yellow), the result is 255/255/255 (white). Subtract The color’s RGB value is subtracted from the texture’s RGB value. Thus if a texture pixel is RGB 255/ 255/255 (white) and the color value is 255/0/0 (red), subtracting with Mix Strength set to 100% gives the result 0/255/255 (cyan). Multiply The RGB value of the texture is multiplied by the RGB value of the color. For example RGB 255/128/0 (orange) multiplied by RGB 0/255/0 (green) results in RGB 0/128/0 (dark green). 756 • CHAPTER 18 Color The settings on this page define the basic color of the material, such as RGB 255/0/0 for red. If you want to create a more complicated material, such as a checkered pattern that uses several colors, you can load a texture. The texture is layered above the color. If you want to see the color only and not the texture, set the Mix Strength value to 0%. Texture, Mix Mode, Mix Strength   For details on these settings, look up ‘texture settings’ in the index. If you set the Mix Strength value to 0%, the texture is not loaded into memory since no calculation is required. MATERIAL EDITOR • 757 Diffusion The Diffusion page lets you darken and lighten the material in specific areas using a diffusion map. Diffusion maps are especially useful for making material look dirty and more realistic. You can use either a normal texture or a shader as the diffusion map. (If the texture is colored, it will still be treated as a grayscale map.) The darker a pixel in the diffusion map, the darker the corresponding region of the material. Affect Luminance, Affect Specular, Affect Reflection Enable the Affect Luminance option if you want the diffusion map to affect the luminance property. The darker a pixel in the diffusion map, the darker the corresponding region of the luminance. This helps you add irregularities to the luminance to achieve a more natural look. If the Affect Specular option is enabled, the diffusion map is applied to the specular property as well. This will reduce the material’s specular values where the diffusion map is dark. This option is enabled by default since it adds to the realism considerably. Enable Affect Reflection if you want to apply the diffusion map to the reflection and environment properties for an even more natural look. The darker a pixel in the diffusion map, the darker the corresponding region of the reflection. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. 758 • CHAPTER 18 Luminance A luminescent object can be seen even when there are no lights in the scene. It is self-illuminated. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. You can use the three dots button to load an image that is to act as a luminance map. The brighter a pixel in the luminance map, the more luminescent the corresponding region of the material. If you have chosen a Luminance Color and loaded a texture (luminance map) as well, the color will be added at 100% strength to the texture. If you want to see the result without the chosen color, set Mix Strength to 0%. Luminescent materials are used to help simulate objects that seem to be self-illuminated in the real world, such as the windows of an office block at night, neon writing or a TV screen. MATERIAL EDITOR • 759 Transparency Here you can define the transparency. If the material has a color, the color is automatically reduced with increasing transparency. The equation is: color percentage + transparency percentage = 100% . So a white material with 0% transparency is white (100%). A white material with 50% transparency is 50% white (gray). A white material with 100% transparency has no color. Refraction You can simulate the refractive index by setting the Refraction value. Objects that are not closed, such as a hemisphere without a cap, can give unexpected results with refraction. See Figures 1 to 3. In the figures, the Refraction value is represented by the character ‘n’. 760 • CHAPTER 18 Figure 1. Figure 2. Figure 3. When a ray hits a closed surface (Figure 1) with transparency and refraction, the ray is bent to simulate refraction. The bent ray is considered to be inside the object. When the ray reaches another surface of the object (the exit side), it is bent back as in real life. However, if the object is open, the ray may not hit a second surface of the object (Figure 2). Thus the ray may not be bent back and the refraction effect may be inaccurate. For this reason, ensure that all transparent surfaces in the scene are closed (Figure 3). Useful refraction values Acrylic glass 1.491 Agate 1.544 - 1.553 Air 1.000 Amber 1.550 Amethyst 1.544 - 1.553 Benzene 1.501 Common salt 1.544 Crown glass 1.510 Diamond Emerald Flint glass Glass Ice (H2O) Jade Jasper Obsidian 2.417 - 2.419 1.576 - 1.582 1.613 1.440 - 1.900 1.310 1.660 - 1.680 1.540 1.480 - 1.510 Onyx Quartz Ruby Sapphire Sugar Topaz Vacuum Water 1.486 - 1.658 1.550 1.760 - 1.770 1.760 1.560 1.620 - 1.627 1.000 1.333 Fresnel, Fresnel Reflectivity If you enable the Fresnel option (pronounced ‘frennel’), the viewing angle — the angle between the camera and the surface — will be taken into account. If you observe a real pane of glass with your eyes parallel to the pane (i.e. with a 90 degree viewing angle), you’ll notice that the pane barely reflects, almost all light passes through. However, look at the pane from a narrow viewing angle and you’ll see that it reflects much more of its surroundings. The transparency and reflection values are dependent on the viewing angle. MATERIAL EDITOR • 761 Figure 4: Fresnel Reflectivity set to a high value (left) and low value (right). The Fresnel option simulates this phenomenon for you. The Fresnel Reflectivity controls the strength of the Fresnel reflections (see Figure 4). For example, provided Fresnel Reflectivity is set to 100%, if you set transparency with RGB values of 80%, 80%, 80%, the material is 80% transparent and 0% reflective when the viewing angle is 90 degrees. With a very low viewing angle, the material is approximately 0% transparent and 80% reflective. If you have entered a reflection value in addition to transparency, the reflection value is added to the angle-dependent reflection. If Fresnel is disabled, the transparency and reflection values are used as they are irrespective of the viewing angle. Additive Figure 5: Additive enabled (left) and disabled (right). Usually, if the material has a color, the color is automatically reduced with increasing transparency. This can help to ensure a realistic effect. However, if you don’t want this automatic behavior to take place, you can enable the Additive option. If Additive is enabled, the color strength is not reduced automatically and the material may look unnatural (see Figure 5) unless care is taken. In general, avoid enabling this option. 762 • CHAPTER 18 Texture, Mix Mode, Mix Strength  For more details on these settings, look up ‘texture settings’ in the index. Figure 6: Transparency may be controlled by a transparency map or by the Transparency Color. You can load a texture as a transparency map using the three dots button. The brighter a pixel in the transparency map, the more transparent the corresponding region of the material. A transparency texture is similar to a photographic slide: Red parts of the slide allow only red light to pass through; white parts allow all light through. With black, no light can pass through the slide. You can use a transparent material with a light source to create a light map or ‘gel’ (look up ‘gels’ in the index). If a transparent texture is assigned to a light source, the light will be filtered according to the texture’s coloration, just like a real gel. Dispersion Dispersion set to a low value (left) and high value (right). You can blur the transparency using the Dispersion, Min Samples, Max Samples and Accuracy settings. The Dispersion value defines the strength of blur for the transparency. 0% means no blur. Increase the value to increase the strength of blur. Accuracy   This parameter will only be available if Dispersion is set to a value higher than 0%. Increasing the Accuracy value gives a more accurate blur, but a longer render time also. Affects the accuracy of the blur effect by controlling the number of samples per shading point. With a value of 100%, the number of samples defined under Max Samples will be used. Lower the value to reduce the number of samples used. MATERIAL EDITOR • 763 Min Samples / Max Samples   These parameters will only be available if Dispersion is set to a value higher than 0%. Increasing Min Samples and/or Max Samples gives a higher quality blur, but a longer render time also. CINEMA 4D uses samples to create the blur effect. Rather than take samples at even distances, the samples are concentrated where they are most needed. Max Samples defines the number of samples used for the most important areas. Min Samples defines the number of samples used for the least important areas.  If you see black areas when rendering overlapping transparency objects, increase the Ray Depth value on the Options page of the render settings. If you can’t see weak reflections in the render, ensure that Threshold is set to 0%. You’ll also find this parameter on the Options page of the render settings. 764 • CHAPTER 18 Reflection  If there are many reflective objects in the scene, you may notice that shadows do not appear in the reflections on some of these objects. To make the shadows appear, increase the Shadow Depth value in the Render Settings (Options tab). Use the Reflection page to set a material’s ability to reflect. The color that you set determines the color of the reflection. You can also use a colored texture — this is known as a reflectivity map. The color of a pixel will affect the color that is reflected from the corresponding area of the material. Figure 1, below, illustrates some reflectivity effects including a reflectivity map. The flask has a simple reflective material. Note how the reflection of the rod is distorted as you would expect in real life. Look closely and you will see that the flask itself is reflected on the tiles. Look even more closely and you should see that the flask is reflected on the tiles, but not on the joints, even though the tiles and joints are part of the same tiled material. MATERIAL EDITOR • 765 Figure 1: Some reflectivity effects using a reflectivity map. Figure 2: Blur Dispersion values of 85% (left), 0% (back) and 65% (right). The effect in Figure 1 was created by using a grayscale reflectivity map. The reflectivity map was based on the original tile and joint texture. In the areas covered by a tile, the reflectivity map is white. In the joint areas, the reflectivity map is black. The resultant map means that only the tiled areas, not the joints, are reflective. This is just one example of how you can combine several properties to create more realistic materials. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. You can blur the transparency using the Dispersion, Min Samples, Max Samples and Accuracy settings. The Dispersion value defines the strength of blur for the transparency. 0% means no blur. Increase the value to increase the strength of blur. Dispersion You can blur the reflections (see Figure 2) using the Dispersion, Min Samples, Max Samples and Accuracy settings. The Dispersion value defines the strength of blur for the reflections. 0% means no blur. Increase the value to increase the strength of blur. Accuracy   This parameter will only be available if Dispersion is set to a value higher than 0%. Increasing the Accuracy value gives a more accurate blur, but a longer render time also. This affects the accuracy of the blur — it works by controlling the number of samples used per shading point. If you enter a value of 100%, the number of samples defined under Max Samples will be used. Lower the value to reduce the number of samples used. 766 • CHAPTER 18 Min Samples / Max Samples   These parameters will only be available if Dispersion is set to a value higher than 0%. Increasing Min Samples and/or Max Samples gives a higher quality blur, but a longer render time also. CINEMA 4D uses samples to create the blur effect and, rather than take samples at even distances, it concentrates the samples where they are most needed. Max Samples defines the number of samples used for the most important areas. Min Samples defines the number of samples used for the least important areas. MATERIAL EDITOR • 767 Environment  Environment reflections are rendered very quickly, since the raytracing mode is not required. The Environment page uses a texture to simulate reflection. Here, in contrast to the other pages, the Color and Texture are multiplied by the Mix mode instead of being added. So why would you want to use the environment property instead of reflection? One reason is that your scene may not have enough objects to produce good results when reflected. Another reason is that the environment property renders more quickly than the reflection property. A typical environment map. Reflections using the environment property only. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. 768 • CHAPTER 18 Tiles X, Tiles Y The environment property is independent of the projection type of the material. The environment is always placed spherically around the object. Use Tiles X and Tiles Y to set the number of tiles in the X and Y directions. These tile settings are used instead of the Texture tag’s tile options in the Attribute manager. Exclusive Exclusive disabled. Exclusive enabled. If this option is enabled, the environment reflections will only appear in places where there are no ‘real’ reflections produced by the Reflection channel. MATERIAL EDITOR • 769 Fog  Fog uses the refractive index defined on the Transparency page and disables the transparency. Fog and transparency are thus never rendered together. You can render either fog or transparency, but not both for the same material. These parameters enable you to simulate fog or gas clouds. Objects with such materials are translucent, but weaken the light that shines through them according to their density. Light rays weaken as the pass through the fog. You can control this weakening with Distance. The larger this value, the thinner the fog. Distance defines how far a light ray can pass through the fog. You can color the fog and this also affects its visibility. The further you look into the fog, the less the objects are visible and the more the fog color becomes visible. The fog color therefore also depends on the Distance value. If you choose, say, a Distance of 500 units, a light ray of originally 100% intensity will have an intensity of 50% after a distance of 250 units and is extinguished completely after a further 250 units. The shorter the distance, the thicker the fog appears. In addition to this effect, after 250 units, half the fog color is added to the light and after 500 units, the full fog color is added. A fog material applied to a cube. Use fog materials with closed objects only. Fog is a volume effect applied to the inside of an object. For non-closed objects, CINEMA 4D cannot determine the inside and the outside of the object, so if you use a fog material on such an object, you may get unexpected results. 770 • CHAPTER 18 Bump  You can enter values much higher than 100%. High values are especially useful when using MIP or SAT mapping, because these interpolation types tend to flatten the surface slightly. The settings on this page enable you to simulate bumps. You must use a texture with this channel. It is only from the grayscales in this image that the bump map (a height or relief map) is calculated. Strength The strength of the bumps. The higher the value, the rougher the surface. If you move the slider to the left, you can choose negative values to reverse the effect of the bump map — bright pixels then cause the material surface to indent while darker pixels elevate the height of the surface. MIP Falloff Figure 1: MIP Falloff disabled (left) and enabled (right). You can strengthen the MIP/SAT mapping effect when using bump mapping by enabling MIP Falloff. The bump mapping is then reduced the further the surface is from the camera. MATERIAL EDITOR • 771 Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. Figure 2 shows an even surface viewed from the side. The surface has a uniform brightness. However, if you use a bump map for the same surface, CINEMA 4D interprets the brightness values of the picture as height values for the surface (Figure 3). Figure 2. Figure 3. These height values are converted into a profile, whose height affects the inclination of the normal vectors. Although the surface is actually smooth, through the change in the normal vectors an apparently three-dimensional surface with a bump-like structure is created at render time. 772 • CHAPTER 18 Alpha  Many of CINEMA 4D’s shaders have built-in alpha channels. An alpha channel enables you to use an image to mask out areas of the material, allowing any background to show through. This is useful for faking detail in 3D. The idea is to define areas of the material that effectively become non-existent so that any underlying materials or objects show through. A classic example would be a 3D tree. Rather than modelling the individual tree, a picture of a tree can be added to an object and an alpha used to cut out the shape of the tree. Color, Delta  Clipping is often attempted with texture images that are antialiased; this produces a bright border around an object caused by the antialiasing of colors between the main texture and the alpha color; you can remove this border by adjusting the deviation sliders. You can use clip mapping (also sometimes called ‘genlocking’) to mask particular areas with a Color value. Using this method, you pick the color from the selected image that you wish to become transparent. The downside is that often the areas you wish to become transparent contain several colors and the resulting alpha can leave a seam around the object. However, by setting the Delta color, you can define by how much the color may deviate; this can help to reduce the seam.  Use alpha channels built in to the texture to mask areas softly and more accurately (see ‘Image Alpha’, below). Invert This option simply inverts the alpha, so transparent and solid areas are reversed. This works for both clipped images and images with built-in alpha channels. MATERIAL EDITOR • 773 Soft This enables you to fade textures and materials from one to another, which gives you even more ways of creating realistic-looking objects. With Soft enabled (the default setting), the Color and Delta settings lose their meaning. The texture map is now used to decide which ranges should be faded. A white texture pixel in the image means that here the material is to be 100% opaque. If the texture pixel is black, the underlying material shines through 100%. Image Alpha  If you notice black areas when rendering objects that have multiple alpha materials, increase the Ray Depth value on the Options page of the render settings.  If you apply a material with a CINEMA 4D Alpha channel to an object and the object has no underlying material, the object will be non-existent at the points where the alpha allows the underlying material to show through. With Image Alpha enabled, you can use any existing alpha channel of the loaded image. Alpha channels of the TIF, TGA, PICT, Photoshop PSD and QuickTime MOV image formats are supported (as well as all QuickTime supported formats). If no alpha channel is present in the image, the Image Alpha option will be ignored. Use the Invert function to invert the alpha channel without having to rework the texture in your image editor. Premultiplied Enable this option if you are using a texture with a premultiplied alpha channel. Certain graphics applications only produce this type of alpha channel. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. Example Suppose you want to place a scanned picture of a tree into a scene. First, you should create a material, enable the Color channel, choose a picture of a tree as the color texture and then assign this material to, perhaps, a rectangular polygon. If you render this scene, you should see the tree on the rectangle polygon. However, the area around the tree is probably not transparent, but blue if the scanned picture has a blue sky background (Figure 1). Now edit the tree material, enable the Alpha channel, switch to the Alpha page and load the tree texture there. Use clipping to mask out the tree. Use the mouse to choose the color which you want to mask — in our case, the blue sky around the tree (Figure 2). CINEMA 4D sets the color sliders to this color and masks according to the picture. The tree is now shown without the surrounding background (provided that you have Gouraud Shading or Quick Shading on). 774 • CHAPTER 18 Figure 1. Figure 2. Figure 3. You can now select a slightly different color on the Alpha page and see the effect immediately. However, some background may be left around the leaves, branches and the trunk. So the result is not quite right yet. For a more accurate result, create an alpha channel in your image editor and integrate this into the tree image; for details on how to do this, consult you image editor’s documentation. Load this picture into the Alpha channel and enable Soft and Image Alpha. The texture is now masked cleanly (Figure 3). Two materials were used to create the intricate box below: A reflective gold material and a matt wood. To make the wood visible, one of the two colours was cut out from a scanned black-andwhite picture. MATERIAL EDITOR • 775 Specular  You can enter a Height value up to 1000%. High values can be very effective in Metal mode. Here you can adjust the width, height and falloff of highlights on the material. For a matt surface, use broad and low specular values; for shiny surfaces, narrow and high values are appropriate. Mode Three modes are available: Plastic, Metal and Colored. Plastic lighting model. Metal lighting model. Colored lighting model. With Plastic, the color of the highlights is independent of the material color and will be white unless you define a different color on the Specular Color page. Use Plastic mode for materials such as plastics, glass or wood, all of which tend to have white highlights. For matt metal surfaces, such as brass, silver and gold, the Metal mode is the best setting. The color of highlights is then based on the material’s color. With the Colored mode, you influence the specular diffusion (see the description of the Affect Specular option for the Diffusion channel). Width, Height The width and height of the highlights. 776 • CHAPTER 18 Falloff, Inner Width You can adjust the shape of the falloff curve using the Falloff slider. Needle, bell and even rectangular shapes are possible. The Inner Width slider enables you to define an area inside the specular that has no brightness falloff. Inner Width set to 10 (left) and 90 (right). MATERIAL EDITOR • 777 Specular Color Here you can select the color of the highlights. The strengths of the colors on the Color page and the Specular Color page are added together. The total color here is multiplied with the normal color of the highlight. For example, if you have a white plastic highlight, you can define its color here directly. With metallic effects in particular, any highlight color other than white greatly adds to the realistic appearance of the material, as demonstrated by this spaceship. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. The intensity of the specular is affected by any chosen texture image (color or grayscale). The brighter a pixel in the image, the more evident the highlight will be at that point. 778 • CHAPTER 18 Glow  Glows cannot be seen through transparent objects, nor in reflections. The glow you specify here does not act as a light; other parts of the scene will not be lit by the glow, nor will any shadows be cast. This page enables you to create a soft glow. Inner Strength specifies the intensity of the glow over the material surface; Outer Strength is the intensity of the glow at the edges (see Figure 1, below). The Radius determines how far the glow (either the inner or the outer) extends from the surface. This value is rendered relative to the distance of the object from the camera. The further away the object is, the smaller the glow, and vice versa.  Glows are restricted to a maximum image resolution of 4,000 x 4,000 pixels. Figure 1. Figure 2. MATERIAL EDITOR • 779 If a random percentage is defined, the intensity of the glow in each animation frame is increased and decreased in a random pattern, as follows: 0% 100% No change Maximum change Frequency specifies how often the glow radius changes. The amplitude of the change is given by the Random value. 1Hz 25Hz The glow reaches a new random value after 1 second The glow has a new value for each frame (for 25 fps), which causes a flicker If Use Material Color is enabled, the glow is calculated on the basis of the material color rather than the color specified here. If the option is disabled, the object and glow colors are mixed. For example, green objects will appear yellowish under a red glow. Figure 2 illustrates two examples of using glow. The glowing areas of the burning coals were created with Use Material Color enabled. For the neon sign, only an outer glow was used. The brightness slider does not have an effect when the Use Material Color checkbox is enabled.  When using object motion blur, glow applied to lights may cause colors to overlap. 780 • CHAPTER 18 Displacement Displacement is similar to Bump, the difference being that here the object is actually (not just apparently) deformed. This difference is best seen at object edges. In the sphere example below, the left half of the sphere uses bump mapping, while the right half uses displacement mapping. Displacement mapping works much better in the areas near the edges, whereas in these areas, the bump map loses its effect. Strength This slider allows you to adjust the maximum displacement defined by the Height setting (the Strength and Height values will be multiplied together to control the maximum displacement). Height Defines the height of the displacement, which can be modified by Strength value. MATERIAL EDITOR • 781 Type Intensity, Intensity (Centered) Intensity mode. Intensity mode (top) and Intensity (Centered) mode (bottom). In the Intensity mode, the displacement takes place in the positive direction. Black parts in the displacement map produce no displacement, white parts produce maximum displacement. In the Intensity (Centered) mode, the displacement can take place in both positive and negative directions. A gray value of 50% results in no displacement. White produces maximum positive displacement, while black produces maximum negative displacement. Red/Green The displacement can take place in the negative or positive direction according to the red and green values in the texture. Green values raise the displacement, red values lower the displacement. A black color results in no displacement, it is purely the red and green components that control the displacement. A pure green (RGB: 0,255,0) and a pure red (RGB 255,0,0) lead to maximum displacement in the positive and negative directions respectively. RGB (X,Y,Z Local), RGB (X,Y,Z World) Without displacement (left), with Type set to RGB (X,Y,Z Local) (center) and RGB (X,Y,Z World) (right). These two modes control the displacement spatially according to the texture’s RGB components. The components define the following directions: Red=X, Green=Y, Blue=Z. 782 • CHAPTER 18 To use polygon coordinates for the displacement, choose RGB (X,Y,Z Local). To use world coordinates instead, choose RGB (X,Y,Z World). In general, local coordinates produce the best results because they take the directions of the individual polygons into account. Texture, Mix Mode, Mix Strength  For details on these settings, look up ‘texture settings’ in the index. MATERIAL EDITOR • 783 Illumination  The radiosity and caustics parameters will only be available if you have installed the optional Advanced Render module. These parameters are described in the Advanced Render manual. On this page, you’ll find settings that adjust the diffuse falloff, level and roughness of the material, as well as the general illumination mode setting (this greatly affects how highlights react to the light in the scene and can make a big difference when it comes to making a material look more like, say, brick instead of like plastic). Some of these parameters apply to Oren-Nayar mode only and will be ghosted when you use Blinn or Phong mode. Model © Rui Batista. CINEMA 4D provides you with two illumination models in addition to the default Phong shading that enhance the realism of your materials: Blinn and Oren-Nayar. The Blinn model is similar to Phong, except that Blinn’s highlights are much more accurate. This makes Blinn a better choice for metals and other materials where you need more accurate highlights. Oren–Nayar, on the other hand, is the model you should use for rough surfaces, such as cloth, sand, concrete and plaster. Choose the illumination model for the material. For a shiny material, choose either Phong or Blinn. Blinn is for shiny materials that need accurate highlights, whereas Phong is better suited to plastics. For rough materials — like paper, cloth or a car tire — choose Oren-Nayar. 784 • CHAPTER 18 Diffuse Falloff Use this parameter to adjust the falloff of diffuse reflection. The default value of 0% means normal falloff. Diffuse Level (Oren-Nayar only) You can use this parameter to alter the strength of diffuse reflection for Oren–Nayar. The default of 100% means normal diffuse reflection — enter a lower value to reduce the amount of reflection. Roughness (Oren-Nayar only) Adjust this value to match the roughness of your material. The default setting is 50%. Texture Preview Size Here you’ll find entries from 64x64 (16 KB) to 2,048x2,048 (16 MB). The value controls the internal resolution of the texture — the higher you set this value, the more detailed the texture will be in the viewport. The value has no effect on the rendered result.  Proceed with caution when increasing the Texture Preview Size. Higher settings require more RAM and increase the filesize of the CINEMA 4D scene. OpenGL is also affected because the texture previews must be loaded into the graphics card’s memory.  The ‘Default’ value corresponds to 256x256 (256 KB). MATERIAL EDITOR • 785 Assignment In this box, you’ll find a list of all objects in the scene that use the selected material. Using the context menu, you can carry out commands on these objects that relate to the selected material. To open the context menu, right-click (Windows) or Command-click (Mac OS) on an object’s name in the list. Remove Removes the material from the selected object (i.e. deletes the object’s Texture tag). Remove All Removes the material from all objects. Show In Manager Scrolls the Object manager to display the selected object. Delete Tag  This command will only be available if a Texture tag is selected in the list. Deletes the selected Texture tag. You can also delete the tag using the Remove command (see above). Select Object, Select Tag Selects the object or tag and displays its settings in the Attribute manager. THE SHADERS • 787 The Shaders Shaders (also known as procedural textures) are more sophisticated than conventional textures. Shaders are computed using mathematical formulae, whereas conventional textures are pixelbased. One advantage of shaders is that they do not become pixelated when viewed close-up. Shaders allow you to create textures that simply are not possible with texture maps or other methods. Things like anisotropic surfaces, multiple specular highlights, volumetric woods and more are just not achievable any other way. Although they can be complex, with a little practice and study, you should be creating new materials on your own using the shading engines very soon. Shaders are procedural, meaning that the color you see is calculated by a program based on the location in space and other factors in the scene. This allows them to do things not possible with texture maps because the shader knows things like light intensity, direction of the surface, where the camera is and so on, so it can use these things to change the surface. Shaders can also do things to change the way CINEMA 4D would normally render a surface by changing illumination, surface normals and more. CINEMA 4D distinguishes between two-dimensional and three-dimensional shaders. 3D shaders take an object’s volume into account, whereas 2D shaders and standard textures are simply applied to the object’s surface. 3D shaders are independent of the object’s geometry and the texture projection type (an exception is that UVW projection can be applied to volume shaders).  All parameters of 2D and 3D shaders can be animated in the usual way (using XPresso, the timeline, by right-clicking on the parameter, by Ctrl-clicking on the circle next to the parameter’s name and so on). 788 • CHAPTER 18 Channel shaders To open a channel shader, click the triangle button next to the Texture box and choose the shader from the drop-down list that appears. To edit a shader, click the shader’s name or preview picture. The following parameters will appear. Basic Properties You can assign a name to the shader. This name is used to refer to the texture in the XPresso editor and Timeline. THE SHADERS • 789 The Blur Offset and Blur Scale are present on the Basic Properties tab of all shaders and are described elsewhere in this manual (see index). Shader Properties These are the individual properties for each shader. You’ll find descriptions for these properties in the following pages. Working with shaders in the Material editor Multiple selection Shader channels support multiple selections. For example, you can select multiple materials and assign the same shader or texture to all of them in one go. Any changes that you make to the shader or texture will be applied to all the selected materials. If multiple materials are selected that use different settings, each setting that differs is highlighted with a light blue color. If you set a blue highlighted parameter to a new value, this will set all the selected materials to the same value. Similarly, if the selected materials have different settings for an option, the option is highlighted in light blue and in addition is marked with an “x”. Click the “x” to set the selected materials all to the same state. Drag and drop You can drag and drop shaders from one material channel to another. Drag the shader’s preview onto the name of a different material channel, wait for the target channel’s parameters to appear, then drop the shader onto the Texture text box. 790 • CHAPTER 18 Color This is not a shader as such, but simply a means to define a color using the color chooser. Noise Noise is a special type of channel shader that produces 30 types of noise. The shader can calculate the noise in 2D (Space set to UV 2D) or in 3D space. The advantage of 3D noise is that you don’t have to worry about mapping or seams in the texture. Shader Properties Color 1, Color 2 The colors in the noise will be interpolated between the two colors that you specify here. Noise You can choose from 30 types of noise. You’ll find an example for each type of noise later in this chapter. THE SHADERS • 791 Octaves Octaves of detail in the noise. Space What space to calculate the noise in. UV (2D) The noise is projected in 2D. Texture The noise is calculated in object space and remains the same regardless of object position or orientation and takes into account the projection modifications of the Texture Tag. Object The noise is calculated in object space and remains the same regardless of object position or orientation, but does not use the attributes of the Texture tag. World The noise is calculated in world coordinates and is not affected by the object’s orientation or position. This allows the object being shaded to move through the noise. Camera The noise is calculated in the space of the camera and will stay oriented relative to the camera. The object can move through the noise and camera moves will also affect the noise. Screen The noise is calculated in the space of the screen including Z depth. The object can move through the noise and camera moves will also affect the noise. Raster The noise is calculated in the space screen pixels and has no depth information so no matter how far the object moves away, the texture is calculated the same. The object can move through the noise and camera moves will also affect the noise. Global Scale, Relative Scale These parameters enable you to scale the noise in all possible directions. Global Scale does a uniform scale in the UVW directions, while Relative Scale allows you to scale the U, V and W individually. Animation Speed Rate at which the noise animates, in cycles per second. 792 • CHAPTER 18 Detail Attenuation Used for antialiasing. In most cases, it should be left at 100%. However, if you are animating and getting texture flicker, then try setting this higher. Set it lower for crisp stills. Delta Delta is a scaling factor to use in sampling the noise for evaluating the slope that is to be used in the bump channel. This allows you to get very sharp bump with minute detail. Movement Allows the noise to constantly move through 3D space based upon the vector created by X, Y, and Z. These define the translation to be applied to the noise per second. Speed The Speed parameter is multiplied by the movement vector to allow the user to alter the speed of translation with minimal effort. This allows for things such as water and fire effects. Absolute On makes the value of the noise absolute, causing it to fold about its midpoint. Cycles Number of cycles the noise makes, between zero and one. Low Clip, High Clip Low Clip controls the bottom clipping value of the noise; values less than Low Clip will be clipped to zero. High Clip controls the top clipping value; values greater than High Clip will be clipped to 100%. Brightness Brightness controls the overall brightness or value of the noise. Values greater than zero increase brightness and values less than zero decrease brightness. Contrast Contrast controls the overall contrast or range of the noise. Values greater than zero increase the contrast of the noise and values less than zero decrease the contrast. Use As Environment Causes the noise to be calculated as if it were an environment around the object being reflected. Project Environment Causes the 3D Noise environment to be calculated based on a UV environment projection. Compatibility This option ensures that you get nearly the same result when rendering old SLA scenes. THE SHADERS • 793 Types of noise Blistered Turbulence Box Noise Buya Cell Noise Cell Voronoi Cranal Dents Displaced Turb. Displaced Voronoi FBM Hama Luka Mod Noise Naki Noise Nutous Ober Pezo Poxo Random Sema Sparse Convolution Stupl Turbulence VL Noise Voronoi 1 Voronoi 2 Voronoi 3 Wavy Turbulence Zada 794 • CHAPTER 18 Gradient The Gradient shader allows you to create gradients of many different types in 2D or 3D space. Using gradients  To access additional gradient parameters, click the triangle next to the gradient. The knots or handles below the gradient are used to set the color and position of colors in the gradient. To add a knot, click in an empty area below the gradient and a knot of the color at that position will be added. To remove a knot, drag and drop it away from the gradient. To change the color of a knot, double-click it and use the system color chooser that opens to pick the desired color. The diamond shapes on the gradient are bias handles and these pull the interpolation of the color knots from side to side for more control over how the gradient changes. Interpolation Cubic Knots Interpolates the knots with a CatMull - Rom interpolation while using the bias handles to offset the interpolated value (good for several knots). Cubic Bias Uses a Bezier interpolation algorithm to interpolate between the knot previous to the sample point, a weighted bias to the left, a weighted bias to the right, and the knot to the right of the sample position (good for few knots and accurate control). Smooth Knot Uses a SmoothStep function to weight an interpolation between the knot to the left of the sample point and the knot to the right of the sample point. It uses the bias handles to offset the interpolated value. THE SHADERS • 795 Linear Knot Uses a BoxStep function to weight an interpolation between the knot to the left of the sample point and the knot to the right of the sample point. It uses the bias handles to offset the interpolated value. Linear Linear falloff/growth between the knots. No bias handles. None Uses the color of the knot to the left of the sample point. Pos The position of the currently selected knot or bias handle on the gradient. You can type a value into the box or drag the up/down arrows at the right to move the currently selected knot or bias handle. Intensity A measurement for the intensity of the currently selected knot. Context menu for gradients To access the context menu for gradients, right-click (Windows) or Command-click (Mac OS) the gradient. You’ll find three commands on this menu. Invert Knots reverses the direction of the gradient. Double Knots doubles the number of knots. Reset sets the gradient to a uniform white color with no knots. Other properties Type The type of gradient to be created. 2D - U 2D gradient in U from zero to one. 2D - V 2D gradient in V from zero to one. 2D - Diagonal 2D gradient diagonally in UV. 2D - Radial 2D gradient radially around the 0.5, 0.5 in UV. 796 • CHAPTER 18 2D - Circular 2D circular gradient from the center out. 2D - Box 2D gradient linearly from the center to each edge in U and V. 2D - Star 2D gradient linearly from the corners in UV. 2D - Four Corner 2D gradient where the first four gradient knot colors are used as the colors at the UV corners. 3D - Linear 3D gradient linearly from start point to end point. 3D - Cylindrical 3D gradient cylindrically around the vector defined by start and end point of radius. 3D - Spherical 3D gradient spherically around the start point of radius. Cycle When you are editing UVs, sometimes the UVs can become much larger than the original texture. Enable this option to tile the shader. Start For 3D gradients, this defines the start point of the gradient. For 3D Cylindrical, this is the start of the center vector. End For 3D gradients, this defines the end point of the gradient. For 3D Cylindrical, this is the end of the center vector. Radius For 3D Spherical and 3D Cylindrical, this is the radius of the gradient from the center. Turbulence, Octaves, Scale, Frequency Turbulence values greater than 0 switch on the Noise shader. The Octaves, Scale and Frequency parameters will then become available, which are standard noise parameters. A Frequency value greater than 0 animates the noise with undulations. THE SHADERS • 797 Angle Rotates the entire color gradient. Absolute If this option is enabled, the gradient refers to the turbulence only, not to the entire texture. Space For 3D gradients, this defines space that the gradient is calculated in. Texture The gradient is calculated in object space and remains the same regardless of object position or orientation and takes into account the projection modifications of the Texture tag. Object The gradient is calculated in object space and remains the same regardless of object position or orientation, but does not use the attributes of the Texture tag. World The gradient is calculated in world coordinates and is not affected by the objects orientation or position. This allows the object being shaded to move through the gradient. Camera The gradient is calculated in the space of the camera and will stay oriented relative to the camera. The object can move through the gradient, and camera moves will also affect the gradient. Screen The gradient is calculated in the space of the screen including Z depth. The object can move through the gradient, and camera moves will also affect the gradient. Raster The gradient is calculated in screen pixels and has no depth information, so no matter how far the object gets away, the texture is calculated in the same way. The object can move through the gradient, and camera moves will also affect the gradient. 798 • CHAPTER 18 Cycle disabled (left) and enabled (right). Turbulence set to a low value (left) and a high value (right). Scale set to a low value (left) and a high value (right). Absolute disabled (top) and enabled (bottom). Octaves set to a low value (left) and a high value (right). Fresnel This shader calculates the angle (falloff) between surface normals and the viewing angle and uses this information to attenuate the output. If this angle is 90°, such as at the silhouette of a sphere, the gradient’s left color will be applied. If, on the other hand, the surface normal points straight at the camera, the gradient’s right color will be used. Although the Fresnel shader can be used in any material channel, it does not affect the bump or displacement channels unless used as a secondary channel within Fusion or something similar. Use Bump Dictates whether the output of the bump channel will be used in the calculation of the falloff. Render Front Only Calculates the falloff for the front of the object and then sets the back of the object to black if it can be seen. THE SHADERS • 799 Front Trans Calculates the falloff for the front of the object and then sets the back of the object to white if it can be seen (good for use in the transparency channel). Back Only Calculates the falloff for the back of the object and then sets the front of the object to black if it can be seen. Back Trans Calculates the falloff for the back of the object and then sets the front of the object to white if it can be seen. Front and Back Calculates the falloff for all surfaces intercepted. Filter The Filter shader filters another shader or a bitmap. You can use it to adjust a shader or bitmap’s brightness, contrast, hue, saturation and gamma, and you can also clip the color. The Filter shader is especially useful for adjusting HDRI textures (Advanced Render module only). For example, high-contrast HDRIs with bright lights usually cause flickering in the animation. You can quickly resolve this problem by adjusting the Gamma value. Texture This is the texture or shader to be filtered. Hue, Saturation These parameters affect the texture’s hue on the color wheel and the total saturation respectively. 800 • CHAPTER 18 Lightness The lightness of the color, from black (-100%) to white (100%). Colorize If this option is enabled, the texture will be converted to grayscale. You can then color the grayscale texture using the Hue and Saturation settings. Brightness Adds the values of all color components. Contrast Regulates the overall contrast of the texture. A value greater than 0 raises the contrast, a value less than 0 lowers the contrast. A value of -100% produces a completely neutral gray. A value of 100% gives full contrast between complete saturation and no saturation. Gamma Regulates the mid-tones. Lesser values darken the mid-tones, greater values brighten them up. Enable Clipping, Low Clip, High Clip Original Clipping 0,20 Clipping 20,0 These parameters clip or cut colors on two borders. The fastest way to understand how the parameters work is simply to try them. THE SHADERS • 801 Fusion Fusion allows you to combine two textures with a mask using the blending modes standard in photo editing applications, as if they were layers. Using a blend, you can set the opacity of the Blend channel to mix with the Base channel and also modify the mixing with the Mask channel. Although Fusion shaders can be ‘stacked’ to allow you to mix more than two textures (by loading Fusion shaders into the Base and Blend channels), we recommend that you use the Layer shader instead in such cases. The Layer shader provides a clearer overview than Fusion when more than two textures are involved in the blend. Mode The blend mode used to combine the Blend channel with the Base channel. Normal Normal blending, the Blend channel is just mixed with the Base channel. Multiply The value of the Blend channel and Base channel are multiplied together. Screen Lightens the Base channel by multiplying the inverse of the Blend and Base colors and then inverting the result. The result is a color that is the same as, or a lightened version, of the Base color. 802 • CHAPTER 18 Overlay If the Base channels’s color value is less than half of the maximum value, the Multiply blend mode is used. If the color value is greater than or equal to half the maximum value, the Screen blend mode is used. This shows patterns or colors of the Blend channel while preserving the shadows and highlights of the Base channel. Hard Light If the Blend channel’s color value is less than half of the maximum value, the Multiply blend mode is used. If the Blend channel’s color value is greater than or equal to half the maximum value, the Screen blend mode is used. This mode is generally used to add highlights or shadows. Soft Light If the Blend channel’s color value is less than half the maximum value, the Burn blend mode is used. If the Blend channel’s color value is greater than or equal to half the maximum value, the Dodge blend mode is used. This mode is generally used to add soft highlights or shadows. Dodge The lightness values of the colors in the Blend channel lighten the colors of the Base channel, lightening the image. Light colors produce the most lightening effect and black has no effect. Burn The lightness values of the colors of the Blend channel reduce the lightness of the Base channel, darkening the image. Darken Only values of the Blend channel that are darker than the Base channel are mixed. Lighten Only values of the Blend channel that are lighter than the Base channel are mixed. Add The Blend channel is added to the Base channel. Subtract The Blend channel is subtracted from the Base channel. Difference Subtracts the Blend channel’s color from the color of the Base channel or vice versa, depending on which is lighter. THE SHADERS • 803 Exclusion Similar to Difference mode, but the effect is softer. This mode is the equivalent of Screen - Multiply. Hue The hue of the Blend channel is applied to the Base channel. Saturation The saturation of the Blend channel is applied to the Base channel. Color The hue and saturation of the Blend channel is applied to the Base channel. Luminance The luminance of the Blend channel is applied to the Base channel. Levr The value of the Blend channel is used to apply contrast to the Base channel and is affected by the Blend amount. Blend The opacity level of the Blend channel to be applied to the Base channel. Use Mask Enables the Mask channel. Invert Mask If enabled, the Mask channel value is inverted so that black becomes white and vice-versa. Inver Output Enable this option to invert the result of the Blend channel, Mask channel and Base channel. Blend Channel You can bring in and affect any image or 2D shader. This channel is the top layer in the fusing. Mask Channel The texture that is used as a mask when combining the Blend channel with the Base channel. Base Channel The texture that is the bottom layer in the fusing. The Blend channel is combined with the Base channel at the opacity set in Blend and modified by the Mask channel. 804 • CHAPTER 18 Layer The Layer shader is a powerful tool for combining multiple shaders and bitmaps in the same material channel. You can stack shaders and bitmaps into layers and folders. You can define various blend strengths and modes. Alpha channels are supported. You can apply effects to individual layers or all layers. To change the order of the layers, drag and drop them to their new positions. Image Bitmaps can be loaded using a file selection dialog. Shader Here you’ll find a list of all available shaders and bitmaps loaded in RAM. If you’ve already copied a shader, simply paste the element using Shader > Paste Channel. Effect Here you can choose various effects to be applied to the layers. An effect will influence all layers / folders below it in the layer list. The effects are described later in this chapter. Folder Used to create folders. You can place several shaders into a folder that will affect all sub-folders. Remove Deletes the selected layer or folder, including its images and shaders. Using the Layer shader To toggle the layers and folders on or off, click the eye icons. To the right of the eye icons, you’ll see the names of the images, shaders or folders. To the right of each name is a small preview image. Click a preview to display its shader parameters in the Material editor and Attribute manager. Each layer has a drop-down list that defines the blend mode for blending with the layers below it. For details on these modes, look up ‘Fusion shader’ in the index. THE SHADERS • 805 A new addition is the Layer Mask mode. This applies a grayscale alpha channel to the first active overlying shader or folder (this layer must be on the same branch of the hierarchy). To set the layer’s opacity, use the slider or text box next to the blend mode. Context menu To access the context menu, right-click (Windows) or Command-click (Mac OS) on a shader or shader name. You should be familiar with these commands already. When you right-click (Windows) or Command-click (Mac OS) on a folder’s name, these new commands and options will appear. - Invert Image creates a “negative” of the folder. - Use Alpha toggles the alpha channel (if present) on or off. - Invert Alpha creates a “negative” of the alpha channel. - Remove deletes the folder. Effect The Effect button allows you to add various effects to the layers or folders. Most of these effects are based on CINEMA 4D shaders. For example, the Distort effect offers parameters that you’ll also find in the Distorter shader. For descriptions of these inherited parameters, look up the corresponding shader in the index. Brightness / Contrast / Gamma, Hue / Saturation / Lightness Look up ‘Filter shader’ in the index. Posterize, Colorize Look up ‘Posterizer shader’ and ‘Colorizer shader’ in the index. Clamp Color The Low Clamp and High Clamp parameters cut off the color values at the given points. Clip Color Look up ‘Filter shader’ in the index. Transform You have the possibility to rotate shaders or textures and mirror them horizontally or vertically. You can also change the scale and position of the shaders or textures. Distort This effect is a simplified Distorter shader that works exclusively with noise. The Time Scale parameter allows you to animate the noise effect. To animate the noise, set the value higher than 0. The higher the value, the faster the noise will change. For further details on the Distort effect, look up ‘Distorter shader’ in the index. 806 • CHAPTER 18 Colorizer Colorizer takes the value of an input channel and remaps it based on a gradient. This is very useful for colorizing shaders such as noise. Input The aspect of the input texture to remap. You can remap input Luminance, Hue, Saturation, Lightness, Red, Green or Blue channels. Cycle This option determines what happens in areas where there is too much brightness. If the option is enabled, the color gradient will be repeated when the brightness value exceeds ‘1’. If the option is disabled, the color gradient will be cut off. Texture This is the source image or shader to remap with the colorizer gradient. You can bring in and affect any image or 2D shader available to CINEMA 4D. Gradient The gradient allows you to colorize the Texture, defined above. Dark parts of the texture are colorized with the left area of the gradient, while the lighter parts are colorized with the right areas of the gradient. THE SHADERS • 807 Posterizer The Posterizer shader is a filter that is used to adjust another shader or image. It allows you to adjust the number of levels per color channel of the texture for posterization effects. Texture This is the source image or channel shader to affect with the Posterizer filter. You can bring in and affect any image or 2D shader available to CINEMA 4D. Levels Number of levels of color, between zero and maximum intensity. Filter Width Adjusts the softness of the posterization by widening and smoothing the edges between levels. Backlight Backlight allows you to gather illumination from the back face of an object. This gives the ability to create translucency effects with backlighting, such as rice paper or a thin leaf lit from the opposite side complete with shadowing. The most likely place to use Backlight is in the Luminance channel. 808 • CHAPTER 18 Color This is the diffuse color of the backlit surface. Algorithm This is the illumination algorithm to be used. Internal is the CINEMA 4D internal illumination model, Oren-Nayar is an alternative illumination model that is meant to look more like a rough surface. Illumination Maximum illumination intensity. Roughness Only applies to the Oren-Nayar illumination algorithm. The higher the value the rougher the surface appears. Shadow Intensity The opacity of the shadow. At 0 there is no shadow and at 100% the shadow is full opacity with no illumination. Clip The Backlight shader previously clipped light brighter than 100% to 100%. This limitation no longer exists. To ensure compatibility, the option will be enabled automatically when loading old scenes that clipped the light in this way. Contrast Contrast is applied to the illumination to make it break sharper or fall off more smoothly. Dirt For details on how to use this shader, look up ‘Calculate Dirt command’ in the index. THE SHADERS • 809 Distorter Distorter takes the value of an input channel and distorts it using the value from another texture channel. Type This is the distortion algorithm to be used. Directional The value of the distortion channel is added to the sample coordinate of the texture. Bidirectional The value of the distortion channel is added to the sample coordinate of the texture if the value is between 50-100% and is subtracted if the value is between 0-50%. Flow Field The distortion value is determined by evaluating the flow direction of the distortion texture and then the flow direction vector is used to offset the sample coordinate of the texture. Wrap The Wrap function controls what happens to parts of the texture that have been distorted and now lie outside the UV map. These can be ignored (None), repeated (Cycle), cut off (Clamp) or mirrored (Seamless). 810 • CHAPTER 18 Amount Global distortion amount. 100% means distortion values from 0 to 1 in UV and 0 to 10 in 3D. X, Y, Z X is the distortion amount in U for 2D and X for 3D. Y is the distortion amount in V for 2D and Y for 3D. Z is the distortion amount in Z for 3D. Delta Delta is a scaling factor to use in sampling the texture for evaluating slope to be used in the bump channel. This allows you to get very sharp bump with minute detail that is not possible with the standard bump delta. Step Relative step size to be used in evaluating the flow direction in Flow Field distortion type. Texture This is the source image or shader to distort with the Distorter texture. You can bring in and affect any image or channel shader available to CINEMA 4D. Distorter The distorter texture is used to distort the texture defined by Texture (see above). The value of the distorter image or shader is used in the distortion algorithm to offset the sampling of the texture. Falloff Falloff calculates the falloff between a custom vector and the surface normal. When the vector is the same as the surface normal, the value is 1, and when it points completely away, the value is 0. Falloff then remaps the value using a gradient. Direction The vector to falloff from in 3D space. Space The space to calculate the falloff in. THE SHADERS • 811 Object The vector is specified in object coordinates and the falloff is affected by the object’s orientation. In this way, the falloff sticks to the object as it changes rotations. World The vector is specified in world coordinates and is not affected by the object’s orientation. This is the most common setting because it allows the object to move and have the falloff stay oriented in a consistent direction. Camera The vector is specified in coordinates relative to the orientation of the camera. In this way, up is always up (in the camera view, for example) regardless of camera or object orientation. Use Bump If enabled, the bump normal is used to calculate the falloff. If off then the bump normal is ignored. Gradient The gradient used by Falloff to remap the value. Lumas Lumas is an illumination shader that includes three specular highlights and the ability to simulate the anisotropic scratches that tend to produce elongated highlights in particular (see vase above). Lumas is useful in combination with Fusion and other channel shaders or images. Active Here you can enable or disable the following settings. Disabled the option to use basic settings. Color Sets the base diffuse color of the surface. 812 • CHAPTER 18 Algorithm Specifies which illumination model Lumas will use. The drop-down list provides for two choices: Internal, which is the standard Lambertian model, and Oren Nayar, which provides for a roughness variable allowing the user to go from simple surfaces (0 Roughness, identical to Lambertian), to complex rough surface (1+ Roughness, which provides a matt surface, such as linen or dirt). Roughness Dictates how rough the Oren Nayar illumination model will be. Zero is no roughness while 100% or greater is very rough. Experimentation is required to fully understand this parameter. This option is only available if Oren Nayar is selected in the Algorithm drop-down list. Illumination Scales the Color to produce attenuation in the illumination of the surface (this simply means it makes the color darker when the value is close to zero and brighter when the value is closer to 100% or above). If you are using the Oren Nayar illumination algorithm, you may want to bump up the illumination by about 10% to 20% because it renders darker usually. Appropriate values are between 0% to 200%. Contrast Provides contrast for the result of the Color. Zero causes no effect, 0% - 100% causes standard contrast, above 100% causes a wrap contrast (the values that go above 100% wrap around to 0% again, used to create the Candy materials), negative values provide an inverse contrast that simulates materials that seem luminescent, such as silver. Appropriate values are -500% to 500%. Specular pages The three specular highlights controlled by the Specular channels are added to the color of the surface. All three Specular channels share the same parameter set, described below. Active Here you can enable or disable the three specular highlights individually. Color Sets the base specular color for the specular component. THE SHADERS • 813 Intensity Scales the specular Color to produce attenuation in the specular reflection of the surface (this simply means it makes the color darker when the value is close to zero and brighter when the value is closer to 100% or above). The appropriate range is 0% - 1,000%. Size Sets the size of the specular reflection. Appropriate value range for size is 0.001% - 200%. Contrast Provides contrast for the result of the specular sample color. Implements a standard contrast function. Appropriate values are 0% - 100%. Glare Works with specular Intensity by using the edge falloff (multiplied by the Falloff scalar) to change the intensity of the specular reflection. This can be used to add a glare to the surface when a light is reflecting more on an edge or specular effects to reduce the specular reflection when a light causes a reflection closer to the edge. Appropriate values run between 0% - 200%. Falloff Used to vary the falloff of the center of the object to the edge to affect the Glare intensity. Smaller values cause the specular reflection to reflect the Intensity value more while larger values make the surface use the Glare scalar more. Experimentation is required to fully understand this parameter. Anisotrophy page Active Disable this option to switch off anisotropic scratches. The enabled option will create a surface that looks as though it is made up of a huge number of tiny scratches, i.e. a matt surface. 814 • CHAPTER 18 Projection The type of projection utilized to define the anamorphic (disproportional) scaling of the specular highlights. It can also define the scratch direction to be used with the reflection and environment convolution groups. The projections are transformed by the Texture tag used to apply them to an object. Experimentation is absolutely required to understand these parameters. Planar A flat XY planar projection. Auto Planar Automatically projects on a plane parallel to the current normal. Shrink Wrap A spherical projection for scaling direction, but uses a separate algorithm for projecting the scratches. Radial Creates a radial scratch pattern originating from the center of a plane that is parallel to the current normal. Radial Pattern Creates a multi-origin radial scratch pattern that is parallel to the current normal. Projection Scale Scales the scratch algorithms that have an actual pattern (Radial Pattern is the only current algorithm of this type to which scale applies). X Roughness, Y Roughness Scale the highlights in the X and Y directions defined by the Projection algorithm. The appropriate range is 0.1% to 10,000%. If the X & Y roughness values are the same, the standard internal specular algorithm is used. Specular 1, Specular 2, Specular 3 These check boxes specify which specular channels will be affected by the anisotropic algorithm. Amplitude Scales the effect of the scratch of the specular highlights. The higher the value, the more scratched the speculars will appear. The appropriate range is 0% - 100%. Scale Scales the scratch pattern itself. This applies to all scratch algorithms. THE SHADERS • 815 Length Defines the scratch length in the space of the scratch pattern. Smoother milled surfaces would use a higher scratch length and rougher surfaces would use smaller values. The appropriate range is 1% - 1,000%. Attenuation Scales the amount of detail of the scratches based upon the sample’s angle to the camera and the distance from the camera. The larger the values, the greater the attenuation, causing less scratching (better for animation). The smaller the value, the greater the detail (better for still images). The appropriate range is 0% - 10,000%. Specular 1, Specular 2, Specular 3 These check boxes specify which specular channels will be affected by the anisotropic scratches. Normal Direction (previously ‘Buffy’) Mirror This shader colors an object based on the direction of its surface normals. Surfaces whose normals point towards the rendering ray take Color 1, the other surfaces take Color 2. In the example above, the surface normals for the middle ring were reversed so that they point to the rear. The Normal Direction shader was loaded into the alpha channel, with Color 2 defined as black. The middle ring will therefore be masked out of the outer and inner rings. Note that it’s the other way round for the reflection, where only the middle ring is seen! This is because for reflections, rendering rays are sent out from the mirror into the scene. The middle ring’s surface normals point towards these reflection rays, hence the middle ring is reflected, whereas the normals for the inner and outer rings face away from the reflection rays and their surfaces are not reflected. 816 • CHAPTER 18 Projector Projector allows you to alter the projection of a shader or image. This is useful for having different mappings in separate channels of a material, especially when used in conjunction with other shaders such as Nukei or Fusion. Note that 3D shaders do not work with Projector. Texture This is the source image or shader to be projected. You can bring in and project any image or 2D channel shader available to CINEMA 4D. Projection The projection type to use. The following list are the types available to choose and are functionally the same as CINEMA 4D’s normal projections of the same name: Spherical, Cylindrical, Flat, Cubic, Frontal, Spatial, UVW Mapping and Shrink Wrapping. Offset X, Offset Y Offset of the 2D texture in UV. Length X, Length Y Scaling of the 2D texture in UV. Tiles X, Tiles Y Tiling of the 2D texture in UV. THE SHADERS • 817 Tile If enabled, the 2D texture will tile in UV the number of times specified in the Tile X and Tile Y parameters. Seamless If Tile is enabled, then enabling Seamless causes the tiles to be mirrored so that they tile seamlessly. Position X, Position Y, Position Z Offset of the 3D texture space. Size X, Size Y, Size Z Scaling of the 3D texture space. Rotation H, Rotation P, Rotation B Orientation of the 3D texture space. Paste Tag Pressing this button causes the settings of the currently selected Texture tag in the Object manager to be pasted into Projector’s parameters. This makes it easier for you to create a projection and then just paste it in. Proximal Proximal is a shader that is based on distance dependencies. The shader outputs a luminance value based on how far away the surface being shaded is from a specified object (you can choose whether the object origin, points, edges or polygon center should be used). Proximal works best in the Luminance channel. Proximal also works with particles (with CINEMA 4D particles and with Thinking Particles). A luminance effect will be generated each time a particle hits the surface (see the example above). 818 • CHAPTER 18 Objects Drag the names of the object or objects that will be used to calculate Proximal from the Object manager into this box. In the case of particles, drag the Emitter (CINEMA 4D particles) or Particle Geometry object (Thinking Particles) into the Objects box. Exclude Parent If Include Sub-objects is enabled and Exclude Parent is checked then the parent object is disregarded in the Proximal calculations. Include Sub-objects If enabled, the children of the found object will be included in the proximal calculations. Use Vertices Allows the user to specify that the sampling points for the Proximal shader to use are defined by the vertices of the named polygon object. This allows for effects such as one object passing through another object. The object must be a polygon object. Use Edges Use Edges enabled (left) and disabled (right). Enable this option to include edges for luminance effects. Polygon Radius Similar to Use Vertices except it uses the center of each polygon and makes the maximum distance (End Distance at 100%) the radius of the polygon. This helps with the problem of vertices being spread unevenly and gaps happening when an object passes through another. Function Falloff function to be used to calculate the Proximal intensity. THE SHADERS • 819 Linear Intensity is 100% of the Intensity value at Start Distance, 0% at End Distance and falls off linearly in between. Square Intensity is 100% of the Intensity value at Start Distance, 0% at End Distance and falls off by the square of the distance in between. Cubic Intensity is 100% of the Intensity value at Start Distance, 0% at End Distance and falls off distance cubed in between. Step Intensity is 100% of the Intensity value between Start Distance and End Distance and 0% everywhere else. Inverse Intensity is 100% of the Intensity value at Start Distance and falls off as the inverse of distance and is clamped to 0% at End Distance. Inverse Square Intensity is 100% of the Intensity value at Start Distance and falls off as the inverse of distance squared and is clamped to 0% at End Distance. Inverse Cubic Intensity is 100% of the Intensity value at Start Distance and falls off as the inverse of distance cubed and is clamped to 0% at End Distance. Smooth This gives a smoother falloff when using Proximal for bump mapping or displacement. Blend Mode Allows for different possibilities when blending each sampled point together. For instance, the Add type of blend makes very blown out values, necessitating the user to tweak the values to achieve a good result. The modes Lighten, Screen, Difference and Exclusion increase the ease of achieving the desired effect. The Screen blend type is in most cases the best choice, as it yields aesthetically pleasing results. Start Distance The distance at which the object causes 100% luminance. 820 • CHAPTER 18 End Distance The distance at which the object no longer affects the surface luminance. A value of 100% means 100 m. However, when using Polygon Radius, the percentage value is the same as the polygon radius, which of course can be different for each polygon. Intensity Maximum intensity that each object / particle adds. Ripple  To see the results of this shader, you must render to the Picture viewer. The Ripple shader is best used in the bump channel. When a particle hits a specified object, the shader generates a ripple as an animated grayscale. You can use the shader with CINEMA 4D’s standard particle system or with the Thinking particles module. Wave Length The Wave Length defines the distance between the ripple’s crests. Speed, Amplitude The Speed parameter defines the speed of the ripples. The Amplitude defines the ripple crest height. For realistic results, avoid high values. Falloff Reality dictates that ripples become smaller the further away they are from their point of origin. Use the Falloff to simulate this effect. Minimal Strength The amplitude (regulated using Falloff) eventually becomes so small that it reaches a value barely greater than zero. To save rendering time, the Minimal Strength parameter lets you set the moment at which the entire ripple is removed. Avoid high values or the ripples will disappear prematurely. Periods Regulates the number of crests. THE SHADERS • 821 Particle Dependent This option only affects Thinking Particles. When enabled, the size of the ripples will depend on the size of the particles. This takes the PStorm node’s Distance and Distance Variation values into account, allowing variations in the ripples. Object Drag and drop the object that you want the particles to collide with into the Object box. Particles If you are using CINEMA 4D’s native particles, drag and drop the emitter object into the Particles box. Or if you are using the Thinking Particles module, drag and drop the Particle Geometry object into the box. Spectral The Spectral shader is ideal for prismatic or iridescent effects such as shiny pearls or the shiny colors on a CD. The calculation of this effect takes the camera perspective and the angle between the light source and surface into account. In general, the Spectral shader should be used in the Specular Color material channel only. 822 • CHAPTER 18 Variation set to 1 (left) and 2 (right). Width set to a high value (left) and low value (right). From left to right: W Factor set to 1.5, 1 and 0.7. Diffuse Intensity set to 0.3 (left) and 0.8 (right). Diffuse Variation set low (left) and high (right). Intensity, Variation The Intensity controls the overall brightness of the color reflexes. A value of 0 means no effect at all, while bigger values result in brighter color reflexes. Variation defines how many times the gradient is repeated within the defined range. Out of Range Type In combination with the Variation parameter, Out Of Range Type controls if and how the gradient is repeated. Experiment with the Stop, Mirror and Tiling modes to see the effect. With Stop, the gradient is applied once only and the last color is used for the outer areas that are out of range. With Mirror, the gradient is mirrored when it is repeated to avoid seams. With Tiling, the gradient is repeated according to the Variation value. Spectrum The Spectrum gradient defines the colors for the spectral reflexes. THE SHADERS • 823 Use CD Effect If you enable this option, the shader is optimized for cylindrical surfaces and you can render wedgeshaped, prismatic color effects, such as those seen on CD surfaces. Width Width defines how far the gradient spreads out. Peak Normally the entire rainbow colored spectrum is visible only if the angle between the light source and the camera forms a straight line. Increasing the Peak value allows you to generate a larger color spectrum. W Factor W Factor defines the starting point of the prismatic effect, based on the center of the surface. A value of 1 makes the gradient start from the exact center of the surface. Values above 1 offset the gradient away from the center, and values below 1 shift it more towards the center. Diffuse Intensity Diffuse Intensity controls the intensity of the actual spectral effect. Increasing the value results in overblown colors. Diffuse Variation Diffuse Variation scatters the spectral effect by bringing in random colors from the gradient. Front Side Here you can define how the spectral gradient is projected onto the surface, with reference to the object coordinate system. If you can’t see the CD effect immediately, you probably need to adjust this parameter. 824 • CHAPTER 18 Spline This shader textures an object based on a spline that is projected onto the surface. In the example above, the shader has been loaded into the Alpha channel. With the Spline shader, you can texture primitives without having to create an extra bitmap texture. You can also use splines to cut precise shapes out of objects by placing the Spline shader in the alpha channel, for example. Additionally, you can choose your background, fill and line textures. The splines can also be animated via PLA. 1. Background Texture; 2. Line Texture; 3. Fill texture; 4. Line Width; 5. Smooth Width; 6. Caps. Using the Spline shader Projecting the spline onto an object can seem tricky at first. Proceed as follows. THE SHADERS • 825 - Ensure the spline is smaller than the object. Drag and drop the spline into the Spline box in the Attribute manager (if the box is ghosted, disable the Text Spline option). - Set Plane to the plane in which the spline lies or mostly lies (this is XY for spline primitives by default). Enable Fill and choose background texture and line texture colors that will make the spline easy to see on the object. - Fine-tune the position and size using X Offset, Y Offset, X Scale and Y Scale. Spline Drag and drop the spline to be used into this box. This can be a spline primitive or a standard spline. The spline’s coordinate system plays a crucial part in the projection of the spline — see ‘Plane’. Background Texture, Line Texture, Fill Texture These settings specify the texture used for the background, line and fill. Close the spline to prevent unusual fill results. X Offset, Y Offset, X Scale, Y Scale These parameters move and scale the projected spline in the X and Y directions. Use negative Scale values to mirror the spline projection. Plane Defines which plane in the spline’s coordinate system is used for the projection. For spline primitives, choose the XY plane. Single Pixel Enable this option to set the line’s thickness to one pixel (the Line Width and Smooth Width options will then be disabled). If the lines seem jagged, in the Render Settings, on the Antialiasing tab, set Antialiasing to Best. (Textures are not smoothed in the Geometry antialiasing mode.) Line Width, Smooth Width These settings will only be available if Single Pixel is disabled. The Line Width defines the line’s thickness, Smooth Width applies a soft edge to the line unless set to 0%. Caps Caps with Smooth Width disabled. This option does two things. First, it defines whether the ends have a semicircular cap (option enabled) or no cap (option disabled). Second, if enabled, it prevents the artefacts shown above from appearing. 826 • CHAPTER 18 Fill, Use Fill Color To fill areas inside the spline, enable the Fill option. If the Use Fill Color option is enabled, the Fill Color is used to fill the spline, otherwise the Line Color is used. Bump Width From top to bottom: Increasing Bump Width value. Defines the width of the bump effect around the lines. Text Spline Here you can enter text that will be projected onto the texture. Set Plane to XY (the default plane for spline primitives). THE SHADERS • 827 Vertex Map This shader renders a vertex map as a grayscale image. In the example above, the vertex map is displayed on the left arm and on the right arm you can see the rendered result. Areas with maximum weighting are colored white and those with minimal weighting black. The shader was originally designed for use with the Dirt shader, which enables you to calculate dirt as a vertex map. The Vertex Map shader works well with HyperNURBS — ensure that each Vertex Map tag has a unique name. To assign a vertex map, drag and drop its tag into the Vertex Map box. To invert the color of the grayscale image generated from the vertex map, enable the Invert option. Brick  You change the number of bricks using the texture tiling. This shader generates brick patterns. The Brick shader has an alpha channel that you can use on the Material editor’s Alpha page. Color 1 determines the color of the brick. Color 2 determines the color of the joints. Joint is the width of the joint relative to the size of the brick. Ramp defines the width of the sloping edge between the joint and brick, as a percentage of the brick’s width; this gives a fuzzy edge to the brick. 828 • CHAPTER 18 Checkerboard This shader creates checkerboard patterns. Color 1 and Color 2 define the colors of the two tiles. U Frequency and V Frequency define the size of tiling, i.e. the fineness of the structure, in two independent directions. Higher values result in smaller tiles. Enter unequal values, such as U=1 and V=2, for rectangular tiles. Cloud  To create Cirrus-like clouds, use different values for U and U, such as 0.25 and 1 respectively. This shader simulates simple cloud structures. The Cloud shader has an alpha channel that you can use within the Material editor on the Alpha page. The gradient determines the color of the clouds. U Frequency and V Frequency determine the fineness and shape of the structure. Thus U=1 and V=2 results in rather regular cloud structures, U=1 and V=0.25 gives rather rectangular clouds and the higher the value, the finer (less wispy) the clouds appear. The Compatibility Mode option ensures that scenes loaded from older versions of CINEMA 4D using this shader look the same. THE SHADERS • 829 Cyclone This shader simulates a cyclone texture. The Cyclone shader has an alpha channel that you can use within the Material editor on the Alpha page. Use the gradient to define the color of the cyclone. Frequency defines the timing of the cyclone rotation, i.e. the strength of the storm. Rotation determines the effective density of the cyclone, the higher the value the more spirals in the storm. Level affects the number of clouds in the cyclone. Earth This simulates an Earth-like planet texture including mountains. Sea Level determines the color of areas that have a height less than zero. Land Level is the color for middle-height terrain. Mountain Level is the color for high terrain. You can increase the Frequency value to break up the land masses. Level controls the ratio of sea to land. A value of 0% generates mostly sea, 50% results in equal parts of land and sea, while 100% creates mostly land. 830 • CHAPTER 18 Fire  The wall of flame stretches infinitely in the U direction. Good flame materials can be created by using this shader both in the Alpha channel and the Transparency channel. This shader simulates a wall of fire, whose color you can define using the gradient. The Fire shader has an alpha channel that you can use in the Material editor on the Alpha page. U Frequency and V Frequency determine the fineness of the structure. Thus U=1 and V=1 results in regular flames, U=1 and V=0.25 gives rather elongated flames. T Frequency affects the speed of the flicker, i.e. how quickly the flames change — the higher the value, the faster the flicker. Turbulence determines how violently the flames break up in a notional wind. A setting of 2 doubles the wind; a setting of 0 suppresses all wind. Flame This shader simulates a single flame, whose color you can define using the gradient. The Flame shader has an alpha channel that you can use within the Material editor on the Alpha page. T Frequency is a scaling factor that affects the speed of flicker, i.e. how quickly the flame changes. Turbulence determines how violently the flames break up in a notional wind. A setting of 2 doubles the wind; a setting of 0 suppresses all wind. THE SHADERS • 831 Galaxy This shader simulates a galaxy with spiral arms, whose color you can define using the gradient. The Galaxy shader has an alpha channel that you can use within the Material editor on the Alpha page. Angle is the degree of rotation of the spiral arms. Spiral Arms is the number of spiral arms. Marble This shader generates 3D marble structures. Use the gradient to choose the color of the marble. The Frequency values define the marble’s level of detail in the X, Y and Z directions. Turbulence changes the overall complexity of the marble. 832 • CHAPTER 18 Metal This shader simulates metallic surfaces. The gradient specifies the color of the metal. Increase the Frequency for finer details. Planet This shader is effectively four shaders combined in one: Saturn, Saturn’s Ring, Uranus and Neptune. Choose the desired shader from the Type drop-down list. Saturn  Because of its fast rotational speed, Saturn has an elliptical shape. For an accurate representation of the planet, you will need to flatten the sphere to which this shader is applied — its Y-axis should be scaled to about 0.85.  If you mix the Saturn shader with, say, a brown color (50% shader/50% brown color), you can simulate many rock formations that you can then project onto a Landscape object. Simulates the planet Saturn with its typical coloring and cloud structure. The texture is cyclic in the U direction. THE SHADERS • 833 Saturn’s Ring  Saturn is approximately one third as wide as its famous rings. So that stars shine through between the rings, activate the alpha channel of any material to which this is applied. You may want to make the rings quite transparent since in reality these rings are huge numbers of tiny rock and ice particles that allow the light from beyond to shine through. Simulates the rings around Saturn — the D, C, B, A, F and G rings, with the Cassini and Encke gap. The Saturn’s Ring shader has an alpha channel that you can use within the Material editor on the Alpha page. Uranus, Neptune These shaders simulate the planets Uranus and Neptune with their typical coloring and cloud structure. 834 • CHAPTER 18 Rust This shader simulates rust on metal surfaces. You choose the colors for the metal and rust using the gradient. Rust specifies how much of the material is rusty. Increase the Frequency value for smaller rust patches. Simple Noise This shader creates a random pattern that can be used, for example, for sun surfaces and stone reliefs. By overlapping several Noise shaders with different amplitudes and frequencies, you can create a wealth of complex patterns (this is like signal synthesis). The gradient determines the color of the noise effect. U Frequency and V Frequency determine the fineness of the structure. For example, U=1 and V=1 result in a radial-like pattern, U=1 and V=0.25 give a rather elongated shape. The higher the value, the greater the detail in that direction. THE SHADERS • 835 Simple Turbulence This shader creates colored fractal turbulence. The gradient determines the colors of the turbulence. U Frequency and V Frequency determine the fineness of the structure. U=1 and V=1 create a radial-like pattern, while U=1 and V=0.25 give elongated shapes. The higher these values, the greater the detail (or frequency) in the relevant direction. Octaves is the number of iteration steps for generating this fractal turbulence. The more octaves, the more added detail you obtain. With a setting of 1, the Turbulence shader is almost identical to the Noise shader; there is no point in setting this value too high since only a certain amount of detail can be added. Starfield  The stars are always computed with a continually varying size. In addition, the brightness of the stars varies. The result is the effect that some stars appear to be closer than others. This shader has no dialog and simulates a starry night. The number of stars can be controlled by tiling the texture.  If you project the Starfield shader with spherical projection onto a Sky object, the stars will accumulate at the north and south poles of the sky. To avoid this, use Cubic projection. 836 • CHAPTER 18 Stars This shader creates a star-filled wallpaper. Color 1 is the color of the wallpaper. Color 2 is the color of the stars. Streaks is the number of star tips or points. Inner Radius and Outer Radius determine the dimension of each star, given as a percentage of a UV unit. Density is the average number of stars per UV unit. You may find it helpful to think of the preview as an element that is one UV unit in each direction. Sunburst This shader generates sun flares and eruptions. The gradient determines the color of the sunburst. The Sunburst shader has an alpha channel that you can use within the Material editor on the Alpha page. R Frequency determines the radial frequency; a value of 0 yields an attractive aurora. A Frequency gives the angular disturbance; 0 gives individual layers. T Frequency defines the speed of the sunburst; 2 doubles it, 0 prevents all movement. Turbulence changes the appearance of the eruption; the higher the value, the more fragmented this region appears. Radius defines where the eruption begins, as a percentage of the overall size. Height defines the width of the eruption region relative to the radius. THE SHADERS • 837 Tiles Tiles is a channel shader used to generate tiles and patterns. Grout Color Color between the tiles. Tile Color 1, Tile Color 2, Tile Color 3 The colors to be used for tiles. Pattern This is the pattern type. You’ll find pictures of each pattern type later in this chapter. Grout Width Grout width as a percentage of the tile. Bevel Width Width of the tile bevel as a percentage of the tile inside the grout. Bevel If enabled, the bevel has a smooth step applied, if not then the bevel is linear. Randomize Color If activated the tile color becomes a random mix of the three tile colors. Orientation Orientation of the tile pattern in U or V. 838 • CHAPTER 18 Global Scale Scaling of the tile pattern. U Scale Scaling in the U direction. V Scale Scaling in the V direction. Radial Scale Scaling radially for the patterns that are radial-based, such as radial lines. Rotate This setting allows you to rotate the pattern about its center point where this makes sense, such as with radial lines or spirals. Delta Delta is a scaling factor to use in sampling the texture for evaluating the slope to be used in the bump channel. This allows you to get very sharp bump with minute detail that is not possible with the standard bump delta. THE SHADERS • 839 Types of Tile Pattern Brick 1 Brick 2 Circles 1 Circles 2 Circles 3 Hexagons Lines 1 Lines 2 Parquet Planks Radial Lines 1 Radial Lines 2 Random Rings 1 Rings 2 Sawtooth 1 Sawtooth 2 Scales 1 Scales 2 Spiral 1 Spiral 2 Squares Triangles 1 Triangles 2 Triangles 3 Waves 1 Waves 2 Weave 840 • CHAPTER 18 Venus This shader simulates a gaseous planet with cloud structures that are whirled around by the Coriolis stream. The gradient determines the colors of the clouds and the background sky. Increase the Frequency values for finer details in the X, Y and Z directions. Rotation determines the degree of whirl or turbulence caused by the Coriolis stream. Water This shader generates water surfaces and is ideal for use in a material’s bump channel for simulating water surfaces. It can simulate ripples and waves. Using the gradient, you can change the color of the effect. U Frequency and V Frequency determine the fineness of the structure. U=1 and V=1 create radial wave patterns, while U=1 and V=0.25 give elongated wave fronts. The higher the values, the higher the effective wave detail in that direction. T Frequency is the speed of the waves or ripples in the U direction (0 means no movement, 2 doubles the speed of movement). Wind specifies the amplitude of a wind that breaks up the water — the higher this, value the more the wind disturbs the water’s surface. THE SHADERS • 841 Wood This shader simulates wood patterns. The Type drop-down list defines the type wood that is simulated: Custom, Walnut, Mahogany, Jacaranda or Pinewood. The gradient defines the color of the wood. Increase the Frequency values for finer details in the X, Y and Z directions. Turbulence defines the degree of growth irregularity (0% = even concentric annual rings, 100% = a more natural, uneven ring appearance). 842 • CHAPTER 18 Material shaders Most of CINEMA 4D’s shaders are channel shaders, i.e. shaders that you can load into material channels, such as Color and Bump. In addition to the channel shaders, CINEMA 4D offers a number of shaders that are materials in their own right. You cannot load these materials into material channels. To create a material shader, choose the desired shader from the Material manager’s File > Shader submenu. Fog This shader simulates volumetric fog. Color The color of the fog. Samples Samples defines the average number of samples that will be computed per raytracing ray. The higher this number, the greater the quality of the fog, but the longer the calculation time.  Start with low numbers, such as 6 or 8. Increase this value only if you get disturbing artefacts or if the detail is not high enough. After a certain point (depending on the scene), higher sample values will not produce better images. Volumetric Volumetric adds greatly to render time. If the option is disabled, the basic color of the fog is all pervading. Light sources will have no effect. This is normally sufficient to simulate fog in a fractal valley. With Volumetric enabled, all light sources will be taken into account. If the light sources cast soft shadows, and if there are objects in the beam, the objects will cast shadows in the fog. THE SHADERS • 843 Frequency Increase Frequency for finer detail in the X, Y and Z directions. Type Set Type to the desired falloff for the fog: Linear, Exponential or No Decrease. Linear decreases the fog intensity along the Y-axis of the texture axes. Exponential decreases the fog intensity along the Y-axis of the texture axes. No Decrease means constant fog density. Thickness, Decrease The lower the Thickness value, the thinner the fog. Decrease controls the volume (or depth) of the fog that is generated. Turbulence Turbulence specifies the degree of swirl within the fog (0% = no turbulence). Amplitude Amplitude specifies the average size of the rotating turbulence cells (rolling fog). T-Frequency T Frequency controls the speed of the swirling fog (0% = no movement). Terrain This shader generates virtual fractal landscapes featuring mountains and valleys. Using the Type drop-down list, you can choose the terrain type, from Custom, Mountain, Mars, Moon, Desert and Polar. Use the gradient to define the colors of the terrain. The left-most color is the color of the lowest regions, while the right-most color is the color of the peaks. Height scales the terrain in the Y direction of the texture axes. For example, with a value of 50, the fractal would take up half of the object (provided that the texture geometry has been adapted to the object). The Terrain shader is not infinitely large. Its maximum size is determined by the size of the texture geometry. If this is smaller than the object on which the shader is used, the shader does not fill the object. If necessary, fit the texture geometry to the object using the Fit To Object command. 844 • CHAPTER 18 The former SLA volume shaders Long-term users of CINEMA 4D will remember the SLA volume shaders. Over time, these SLA shaders have become increasingly integrated into CINEMA 4D. Although there are minimal differences between SLA shaders and standard shaders, SLA shaders still have unique features. In these pages, the unique parameters of each former SLA volume shader are described first, followed by a general description of the shared material channels. You’ll find these shaders on the Material manager’s File > Shader menu. Banji Banji was created to fill a couple of different needs in texturing. First Banji allows the rendering of translucent lighting from the back side of a surface complete with shadows. The other main use of Banji is the creation of good refractive, transparent materials, such as glass. Banji differs from the other shaders in that it has an additional transparency channel. The other material channels are described later in this chapter. Transparency page Front Opacity The opacity of the front surface. A value of 0% allows for no diffuse color or surface to show through (unless Roughness Intensity is not equal to zero). Values greater than zero allow the surface color to show through (which is the diffuse color). THE SHADERS • 845 Back Opacity The back surface opacity. The back surface works the same as the front surface opacity. Keep in mind that the back surface is affected by shadows also. Edge Opacity This causes the edges of an object that points further away from the camera to be more opaque. 0% creates no effect while values greater than zero add to the edge opacity. Refraction Index The refractive index for the material. Internal Reflection Allows refracted rays to reflect when appropriate. Solid Object Makes the object a completely dense object instead of one surface. Disallows illumination, reflection, and environment to be evaluated for the second surface intercepted of the object. Banzi Banzi was created for the generation of volume rendered woods and allows for endless variation on the types of woods you can simulate. Banji differs from the other shaders in that it has a Wood channel for creating wood patterns. The other material channels are described later in this chapter. 846 • CHAPTER 18 Wood page Color Colorizes the ring and grain function. Experimentation is required to fully understand and use this control. Ring Intensity Reduces or increases the prominence of the annual rings. While the parameter can go negative, its useful values are between 50% and 150%. Ring Scale Scales the rings of the wood before being stirred by the turbulence function. Ring Turbulence, Turbulence Scale Stirs the annual rings so they may have a more natural look. Turbulence Scale simply scales the noise used for the ring turbulence. Ring Variance Varies the width of the rings without changing their respective positions. Core Variance Disturbs the origin of the rings so it looks as if the tree the wood came from did not grow perfectly straight. Variance Scale Scale of the noise used to disturb the origin of the rings. THE SHADERS • 847 Radial Variance Causes the rings to become asymmetrical around their origin. Trees rarely grow perfectly circular rings because they are rarely perfectly round. This parameter allows for the natural deformation of the annual rings. Variance Scale Scales the noise used for the Radial Variance. Grain Intensity Amplifies the grain pattern within the wood. A percent value of zero removes the grain totally, while a value of 100% gives a very amplified grain pattern (this also affects bump). Grain Scale Scales the grain. Attenuation The amount of detail reduction caused by the function becoming smaller (whether being scaled or being further away from the camera) and facing away from the camera. For still imagery, keep this value low (zero is often best), but keep it high for animation (anywhere between 100% to 1,000%+). Cheen Cheen is especially useful for creating a microscopic look. Cheen differs from the other shaders in that it has a Gradients channel and Transparency channel. The other material channels are described later in this chapter. 848 • CHAPTER 18 Gradients page Color gradient Is used to alter the base color of the object based on the angle between the camera and the surface normal (the left side of the gradient is the edge of the object while the right side of the gradient is the center of the object). Opacity Gradient Causes the opacity of the object to change according to the angle between the camera and the surface normal. White is opaque while black knots are transparent. Knots at the left side of gradient affect the edge of the object while knots at the right side of the gradient affect the middle of the object. Transparency page Refraction Index The refractive index of the material. Internal Refraction Allows refracted rays to refract when appropriate. Solid Object Makes the object a completely dense object instead of one surface. Disallows illumination, reflection, and environment to be evaluated for the second surface intercepted of the object. THE SHADERS • 849 Danel Danel was conceived to allow the ability to create surfaces that include metallic, gloss, painted, and anisotropic materials. The material channels for Danel are described later in this chapter. Mabel Mabel was conceived to allow users the ability to create marbled stone textures that generally consist of a body and a vein surface. Mabel differs from the other shaders in that it has a Veining channel for creating marble patterns. The other material channels are described later in this chapter. Also, all parameters can be defined separately for Surface 1 and Surface 2 except for Veigning, Illumination and Assignment. 850 • CHAPTER 18 Veining page The veining channel controls the size and mixing of the two vein surfaces. You also can change the relative color variance and turbulence of the veins as well. There is only one veining group that is shared by both surfaces. This group of parameters contains attributes of the veining function. The function is basically an alternating gradient on the Y-axis that can be perturbed using a noise function. Veigning Turbulence Noise function used to perturb the veins (look up ‘noise types’ in the index). Veigning Stirring Amount of distortion applied to the veins. Veigning Scale The scale of the stirring noise function. Veigning Octaves Octaves of fractal detail used in the stirring function. Veigning Size Size of the veins (Surface1) to the body (Surface 2). Veigning Contrast Contrast applied to the veins to make them blend smoothly or separate distinctly. THE SHADERS • 851 Variance Turbulence Noise function used to vary the veining. Variance Amplitude Amount of variance applied to the veins. Variance Octaves Octaves of fractal detail used in the variance function. Variance Scale The scale of the variance function. Variance Contrast Contrast applied to the variance noise. Nukei Nukei was conceived to allow users the ability to create surfaces that include rusted and weathered materials that generally have two distinct surfaces with different attributes. Nukei differs from the other shaders in that it has a Fusing channel that enables two surfaces to be combined in almost any way via a texture. In addition, Nukei has an Alpha channel. The other material channels are described later in this chapter. Also, all parameters can be defined separately for Surface 1 and Surface 2 except for Fusing, Illumination and Assignment. 852 • CHAPTER 18 Fusing page The fusing channel controls the mixing of the two surfaces and the attributes of the interface between them. There is only one Fusing channel that is shared by and controls Surfaces 1 and 2. Texture Uses a standard texture (a bitmap or channel shader) for the fusing of the two surfaces. Projection The projection type to use. The following are available to choose from and are functionally the same as CINEMA 4D’s normal projections: Spherical, Cylindrical, Flat, Cubic, Frontal, Spatial, UVW and Shrink-Wrap. Offset Y, Offset Y, Length X, Length Y, Tiles X, Tiles Y Offset is the offset of the 2D texture in UV. Length is the scaling of the 2D texture in UV. Tiles is the tiling of the 2D texture in UV. Tile If enabled, the 2D texture will tile in UV the number of times specified in the Tiles X and Y values. THE SHADERS • 853 Seamless If Tiles is enabled, enabling Seamless causes the tiles to be mirrored so that they tile seamlessly. Position, Size, Rotation Position is the offset of the 3D texture space. Size is the scaling of the 3D texture space. Rotation is the orientation of the 3D texture space. Paste Tag Pressing this button causes the settings of the currently selected Texture tag in the Object manager to be pasted into Nukei’s parameters. This makes it easier for you to create a projection using Real Time Texture Mapping and then just copy it in to use in Nukei. Override Time If this option is enabled, the Time in seconds is overridden and can be keyframed in the CINEMA 4D Timeline. Speed If Override Time is enabled, the time entered here will override the CINEMA 4D time and can be keyframed. If Override Time is disabled, you can enter a Speed scaling to scale time used for animating the texture / shader. Falloff The falloff of the edge mix between Surface 1 and Surface 2. Large values cause the surfaces to blend together over a larger range, while smaller values cause a sharper break between the two surfaces. Offset Offsets the boundary between the two surfaces, causing more of one surface or the other to show through. Edge Shadow Intensity A darkening of the surfaces near the edge to give the appearance of shadowing caused by peeling and flaking. Edge Shadow Falloff Controls the width of the edge shadowing. 1 Bump Amplitude, 2 Bump Amplitude The amplitude of the bump caused by the FUSER Texture in Surface 1 and Surface 2. 854 • CHAPTER 18 1 Edge Width, 2 Edge Width The width of the edging around the interface between Surface 1 and Surface 2 that protrudes into Surface 1 and Surface 2. 1 Edge Bump Amplitude, 2 Edge Bump Amplitude The bumping of Surface 1 and Surface 2 around the interface between Surface 1 and Surface 2. Alpha A page Opacity The opacity for the surface. With Alpha, you can layer Nukei over other shaders and textures. THE SHADERS • 855 Other material channels Here you’ll find a list of the material channels that are shared by the former SLA shaders. Diffuse page The Diffuse group applies to the currently selected surface in the surface combo box below the preview. Color Sets the base diffuse color of the surface. Algorithm Specifies which illumination model will be used. The drop-down list provides for two choices, including Internal, which is the standard Lambertian model, and the Oren Nayar model, which provides for a roughness variable, allowing the user to go from simple surfaces (0 Roughness, identical to Lambertian), to complex rough surfaces (100% + Roughness, which provides for a surface, such as linen or dirt). Roughness Dictates how rough the Oren Nayar illumination model will be. Zero is no roughness while 100% or greater is very rough. Experimentation is required to fully understand this parameter. This option is only available if Oren Nayar is selected in the Algorithm drop-down list. Illumination Scales the Diffuse Color to produce attenuation in the illumination of the surface (this simply means it makes the color darker when the value is close to zero and brighter when the value is closer to 100% or above). If you are utilizing the Oren Nayar illumination algorithm you may want to bump up the illumination about 10% to 20% because it renders darker usually. Appropriate values are between 0% and 200%. 856 • CHAPTER 18 Contrast Provides contrast for the result of the diffuse sample color. Zero causes no effect, 0.0% - 100% causes standard contrast, above 100% causes a wrap contrast (the values that go above 100% wrap around to 0% again, used to create the Candy materials), negative values provide an inverse contrast that simulates materials that seem luminescent, such as silver. Appropriate values are -500% to 500%. Volume Color (Banji only) This defines the Volume color for the object. Thus you can set the Diffuse Color and Volume Color separately. Volume Illumination (Banji only) Scales the Surface Color to produce attenuation in the illumination of the surface (this simply means it makes the color darker when the value is close to zero and brighter when the value is closer to 100% or above). If you are using the Oren Nayar illumination algorithm, you may want to bump up the illumination by about 10% to 20% because it renders darker usually. Appropriate values are between 0% and 200%. Shadow Opacity (Banji only) This parameter is used to scale the shadow opacity. Keep in mind that this changes the shadow opacity for every surface intercepted by the ray, meaning that going through the surface twice causes the shadow to be twice as dark. Specular pages The three specular highlights controlled in the Specular channels are added to the surface color. All three Specular channels share the same parameter set, which is described below. Color Sets the base specular color for the specular component. Intensity Scales the Color to produce attenuation in the specular reflection of the surface (this simply means it makes the color darker when the value is close to zero and brighter when the value is closer to 100% or above). The appropriate range is 0% - 1,000%. THE SHADERS • 857 Size Sets the size of the specular reflection. Appropriate value range for Size is 0.001% - 200%. Contrast Provides contrast for the result of the specular sample color. Implements a standard contrast function. Appropriate values are 0% - 100%. Glare Works with Intensity by using the edge falloff (multiplied by the Falloff scalar) to change the intensity of the specular reflection. This can be used to add a glare to the surface when a light is reflecting more on an edge or specular effects to reduce the specular reflection when a light causes a reflection closer to the edge. Appropriate values run between 0% - 200%. Falloff Utilized to vary the falloff of the center of the object to the edge to affect the Glare intensity. Smaller values cause the specular reflection to reflect the Intensity value more, while larger values make the surface use the Glare scalar more. Experimentation is required to fully understand this parameter. Reflection page The reflection you set here is added to the surface color. The following applies to Banji: The brightness of the reflection also affects the opacity of the surface — the brighter the reflection, the more opaque the surface. Intensity Scales the Reflection Color before it is mixed with the Edge Intensity and Reflection Edge Color result to create the final reflection color sample that will be used to attenuate the reflection sample taken by CINEMA 4D internally. Appropriate values are 0% - 200%. Edge Intensity Scales the Reflection Edge Color before it is mixed with the Intensity and Reflection Color result to create the final reflection color sample that will be used to attenuate the reflection sample taken by CINEMA 4D internally. Appropriate values are 0% - 200%. 858 • CHAPTER 18 Falloff Mixes the results of the Reflection Color • Intensity and Reflection Edge Color • Edge Intensity. Smaller values provide for more Reflection Color, while larger values provide more Reflection Edge Color. The appropriate range is 0% - 500%. Reflection Depth Attenuation (Banji only) Causes reflections to fall off based on how many times a ray has been reflected off of other surfaces. Distance Falloff (Danel only) Turns on or off distance falloff for reflections. Doing so does slow the shader down about 20% because the reflections rays are calculated by customized algorithms. Min (Danel only) If the distance of the reflected surface is less than or equal to the Min distance, the reflection will be 100%. The Distance Falloff check box must be checked for this value to be used or available. Max (Danel only) If the distance of the reflected surface is greater than the Min distance and less than the Max distance then the reflection intensity of the sample will be attenuated by a value produced by retrieving the parameterized distance of the intercepted position relating to the Min and Max distances ((intercepted_Point - min_Point) / (max_Point - min_Point)). If the distance of the intercepted surface is greater than the Max parameter then the surface has 0% intensity. Utilize Anisotropic Scratches (Danel only) This check box is only active when the Anisotrophy group is checked. It allows the reflection to take into account the scratch directions when evaluating blurred reflections. Very effective for milled machinery. Anisotropic scratches are only convoluted along one axis so they require far fewer samples than does the radial convolution algorithm. If this check box is inactive, the Blur radius is greater than 0% and Samples is greater than 1, the radial convolution algorithm is used (this is what the majority would consider Blurred Reflections). Blur (Danel only) This defines the radius of the convolution (blur) that will be used during the evaluation of blurred reflections. If Utilize Anisotropic Scratches is checked, it will use the scratch direction defined by the parameters in the Anisotrophy group, otherwise it will use a radial convolution algorithm to sample the reflections. Appropriate value range is 0% - 100%. Samples (Danel only) Sets the number of samples taken when the Blur radius percentage is greater that 0%. When Utilize Anisotropic Scratches is checked, it is good to start with a value equal to the Blur radius. If Utilize Anisotropic Scratches is not checked then you should usually double the Blur radius, sometimes having to go as large as 100 to 200 samples (very slow). THE SHADERS • 859 Jitter (Danel only) Defines the maximum random offset of the reflection convolution associated with the anisotropic scratch convolution algorithm. This parameter is only active when Utilize Anisotropic Scratches is checked because the radial convolution is a completely stochastic function (jitters 100% all the time to the boundary of the radius). Jittering is very similar to dithering in effect. Appropriate value range is 0% - 100%. Reflection Color The controls in this group of parameters define the base color used to attenuate the reflection sample in tandem with the reflection Intensity parameter. Utilizes the Falloff parameter to mix with Reflection Edge Color. Reflection Edge Color The controls in this group of parameters define the edge color used to attenuate the reflection sample in tandem with the reflection Edge Intensity parameter. Utilizes the Falloff parameter to mix with Reflection Color. Environment page Image Utilizes a standard texture (a bitmap or a channel shader) to be used for the environment sample. Intensity Scales the Environment Color before it is mixed with the Glare and Edge Color result to create the final environment color sample that will be used to attenuate the environment sample provided by the Environment texture. Appropriate values are 0% - 200%. 860 • CHAPTER 18 Glare Scales the Edge Color before it is mixed with the Intensity and Environment Color result to create the final environment color sample that will be used to attenuate the reflection sample provided by the Environment texture. Appropriate values are 0% - 200%. Falloff Mixes the results of the Environment Color • Intensity and Edge Color • Glare. Smaller values provide for more Environment Color, while larger values provide more Edge Color. The appropriate range is 0% - 500%. Utilize Anisotropic Scratches Tells the group to become active allowing the shader to take multiple samples of the environment Texture along the axis of the scratch direction defined by the Anisotrophy group parameters. Blur Defines the radius for the convolution if the Anisotrophy group is checked. Radial convolutions are not supported because very similar effects can be achieved by blurring the environment map (it is also much, much faster). Samples Defines how many samples will be taken by the convolution. If you enter 1, no convolution will occur. The value should be similar to your Blur radius value. The appropriate range is 2 - 50. Jitter Defines the maximum random offset per sample of the convolution function. This rids the blurred environment of the stepping effect when you can see multiple images layered. The appropriate range is 0% - 100%. Environment Color The controls the base color used to attenuate the reflection sample in tandem with the reflection Intensity parameter. Utilizes the Falloff parameter to mix with Edge Color. Edge Color The controls the edge color used to attenuate the environment sample in tandem with the environment Glare parameter. Utilizes the Falloff parameter to mix with Environment Color. THE SHADERS • 861 Ambient page Color Defines the base ambient color used to attenuate (multiply by) the scene ambient color provided by CINEMA 4D. You must have an Environment object active in your scene for this to effect your surface at all. Intensity Scales the Color before it is mixed with the Edge Intensity result to create the final ambient color sample that will be used to attenuate the ambient sample taken by CINEMA 4D internally. Appropriate values are 0% - 100%. Edge Intensity Mixes with Intensity to scale the Color to create the final ambient color sample that will be used to attenuate the ambient sample taken by CINEMA 4D internally. Appropriate values are 0% - 100%. Falloff Mixes Intensity and Edge Intensity to attenuate the Color. Smaller values provide for more Intensity while larger values provide more Edge Intensity. The appropriate range is 0% - 500%. 862 • CHAPTER 18 Roughness page Used to add bump or grit to the material. Some of these settings are not available for the Banji shader, because Banji has a channel to create wood structures. Function The noise function utilized to calculate the bump and the grit. You can review the noise types very easily in the Noise channel shader to get a feel for what they are. Experimentation is very necessary. Amplitude Scales the amplitude of the bump algorithm. The appropriate range is 0.0001% to 1,000%. Octaves Defines the number of octaves utilized by the noise function defined within the Function dropdown list. This field will only be active if the noise function being used utilizes more octaves than one. Scale Scales the surface point used in the noise evaluation. Speed (not all shaders) This is the animation speed for the noise. The parameter can be animated using the Timeline. Attenuation Defines how much the noise algorithm will reduce the detail of the noise when the surface is far away or facing away from the camera. Appropriate values are 0% for stills and 100% to 1,000% for animation (it is primarily used to reduce flicker in animations). THE SHADERS • 863 Delta Delta is a scaling factor to use in sampling the texture for evaluating slope to be used in evaluating the bump. This allows you to get very sharp bump with minute detail that is not possible with the standard static bump delta. Hard Bump Uses an implicit algorithm to calculate the bump, producing more realistic dented surfaces. Often used when creating steel doors with anisotropic highlights to create large dents. Absolute Whether or not to fold the noise about its mid level by taking the absolute value of it. Low Clip, High Clip The noise is calculated in a range of 0% - 100%. These values clip that range to provide for bumps with plateaus (like certain stuccos). Low Clip defines the low boundary for the clip (no bump under this value). High Clip defines the high boundary for the clip (no bump over this value). Grit Color, Grit Intensity, Grit Low Clip, Brit High Clip These controls set the color used as a base to attenuate (multiply by) the specular, diffuse, reflection, environment and ambient results. Negative values invert the grit application. The appropriate range is -200% - 200%. 864 • CHAPTER 18 Anisotrophy page Projection The type of projection is used to define the anamorphic (disproportional) scaling of the specular highlights. It can also define the scratch direction to be used with the reflection and environment convolution groups. The projections are transformed by the Texture tag used to apply them to an object. Planar A flat XY planar projection. Auto Planar Automatically projects on a plane parallel to the current normal. Shrink Wrap A spherical projection for scaling direction, but uses a separate algorithm for projecting the scratches. Radial Creates a radial scratch pattern originating at the center of a plane parallel to the current normal. Radial Pattern Creates a multi-origin radial scratch pattern that is parallel to the current normal. Projection Scale Scales the scratch algorithms that have an actual pattern (Radial Pattern is the only current algorithm of this type to which scale applies). THE SHADERS • 865 Roughness X, Roughness Y Scale the highlights in the X direction or Y direction defined by the Scratch Projection algorithm. The appropriate range is 0.1% to 10,000%. If the X & Y roughness are the same, the standard internal specular algorithm is used. Amplitude Scales the effect of the scratch of the specular highlights. The higher the value, the more scratched the speculars will look. The appropriate range is 0% - 100%. Scale Scales the scratch pattern itself. This applies to all scratch algorithms. Length Defines the scratch length in the space of the scratch pattern. Smoother milled surfaces would use a higher scratch length and rougher surfaces would use smaller values. The appropriate range is 1% - 1,000%. Attenuation Scales the amount of detail of the scratches based upon the samples, angle to the camera and the distance from the camera. The larger the values, the greater the attenuation, causing less scratching (better for animation); the smaller the value, the greater the detail (better for still images). The appropriate range is 0% - 10,000%. Specular 1, Specular 2, Specular 3 These check boxes specify which specular channels will be effected by the anisotropic scratches. Esoterica page (Banji and Cheen only) Global Shadow Opacity This parameter is used to scale the shadow opacity. Keep in mind that this changes the shadow opacity for every surface intercepted by the ray, meaning that going through the surface twice causes the shadow to be twice as dark. Illumination page These parameters will only be available if the Advanced Render module is installed. They control the radiosity effect for the material and have the same function as the settings of the same name that are described in the Advanced Render manual (Radiosity chapter). 866 • CHAPTER 18 Assignment page On the Assignment page, you’ll find a list of all objects in the scene that use the material. For more details on this page, look up ‘Assignment tab’ in the index. TEXTURE MAPPING • 867 Texture Mapping To apply a texture to an object, do one of the following:: - Drag the material from the Material manager and drop it on to the object’s name in the Object manager. The texture settings will appear in the Attribute manager. The mouse pointer will change during this process to indicate the add state: - Select the object in the Object manager and select the material in the Material manager. In the Material manager, choose Function > Apply. The texture settings will appear in the Attribute manager. - Drag and drop a new material on to an existing Texture tag. The new material will replace the old one, but will inherit the existing Texture tag settings. - Drag and drop the material directly onto the object in the viewport. If you hold down the Ctrl key at the same time, a menu will appear if there is more than one object in the area where you drop the material. Use the menu to choose which object the material should be applied to. - Drag the object from the Object manager and drop it into the Assignment box on the material’s Assignment tab (Attribute manager). This method gives you a quick way to assign the same material to multiple objects. Texture tag settings When you assign a material to an object, a Texture tag is created and the tag’s settings appear in the Attribute manager. These texture settings define how the texture is mapped (i.e. placed) onto the object’s surface. For example, you may want the texture to be tiled (i.e. repeated) or you may want to place the texture on a specific part of the object. You can also have the texture mapped to one side only (decal mapping). Attribute manager settings Basic Properties Name Here you can enter a new name for the Texture tag. This is especially useful when you want to animate tags and their materials, since the tag’s name will appear in the Timeline. 868 • CHAPTER 18 Tag Properties Material You can assign a material to the Texture tag by dragging the material from the Material manager and dropping it into this box. If multiple Texture tags are selected, the material will be applied to all of them. If you click the triangle button next to the Material box, a menu will appear with the following commands: Clear Removes the Texture tag’s material. Show In Manager Displays the Texture tag’s material in the Material manager. Select Element Selects the Texture tag’s material in the Material manager. TEXTURE MAPPING • 869 Selection Selection enables you to use different materials on different parts of the same object. This is a convenient way to add, for example, labels to objects. First of all you need a Selection tag: - Select the object, select the Polygons tool and select the Live Selection tool. - Select several polygons (if you selected a primitive object, you must first convert it to polygons using Functions > Make Editable). - Choose Selection > Set Selection to create a Polygon Selection tag. - On the Basic Properties page in the Attribute manager, enter a meaningful name for the Polygon Selection tag. - If the object does not yet have a texture, apply a new texture (e.g. drag the material from the Material manager and drop it on to the name of the object in the Object manager). The Texture tag’s settings will appear in the Attribute manager. Enter your settings, such as the projection type and tiling, then enter the name of the selection into the Selection box.  When positioning a texture on a selection, you may find it helpful to hide the unselected surfaces. You can hide them using Selection > Hide Unselected. Projection The Projection setting determines how the texture is projected or mapped onto a surface. The projection surface is independent of the real surface of the object, although often it has the same basic shape. UVW mapping fixes the projection on to the surface points of an object so that when the object surface is deformed (like a flag would be in the wind), the texture deforms with it. The best mapping type to use depends on the shape of the object to which you apply it. For examples and details, look up ‘mapping, types of’ in the index. 870 • CHAPTER 18 Side (decal mapping) Figure 1. Figure 2. Figure 3. Figure 4. Suppose you project a texture onto a tube with Flat mapping. If you move the camera around to look at the other side of the surface, you will still see the texture, but it will be the wrong way round. You can solve this problem by using a decal — a material that is projected on one side of the surface only. The direction of the surface normals for each polygon plays a pivotal role in deciding on which side the texture is mapped. Front is in the direction of the surface normals and Back means in the opposite direction to the surface normals (see Figure 1, above). With Flat projection, a texture is projected from the front through to the back of an object. As a result, the texture is also visible where it is not wanted — in this case, on the front as well as on the back of the tube (Figure 2). You can avoid such problems with decal mapping. Change Side from Both to Front. Now render the tube again. This time the label is visible on the front side only (Figure 3). If the viewing angle (i.e. the camera angle) and the surface normal form an angle of less than 90° to each other, the polygon is a front polygon; otherwise, it is a back polygon (Figure 4). The only exceptions are for Flat and Spatial mapping. Here there is an additional criterion: the direction of the texture projection’s Z-axis. If the texture’s Z-axis points in the opposite direction to the surface normal and if the viewing angle and surface normal form an angle of less than 90° to each other, the polygon is a front polygon; otherwise, it is a back polygon. Both The texture is projected onto the front and back of each polygon, regardless of which mapping type is selected. Front You will see the texture where the surface normals point towards the camera. Otherwise, the material is invisible. Back You will see the texture only where the surface normals point in the opposite direction to the camera. The material is otherwise invisible. TEXTURE MAPPING • 871 Offset X, Offset Y, Length X, Length X, Length Y The Offset and Length settings define the position and size of the texture in the X and Y directions on the texture envelope. For example, if Length X and Length Y are both set to 100%, the texture covers the envelope completely. Tiles X, Tiles Y The Tiles values are the number of times the texture fits onto the texture envelope in the X and Y directions (Length X and Length Y). Hang on a moment, isn’t that the same as changing the length? Yes, exactly! You can change the length either in terms of tiles (Tiles X, Tiles Y) or as a percentage of the texture envelope (Length X, Length Y). Either way, changing one will cause the other to change. Note that the texture will only be repeated (tiled) if the Tile option is enabled. CINEMA 4D calculates the size of an individual tile from the current texture size. For example, if you have scaled the texture so that it has a length of 25% in the X direction and 50% in the Y direction, the texture fits four times in the X direction (1, 0.25) and twice in the Y direction (1, 0.5) on the surface. If you change the Tile X or Tile Y settings, the Length settings change automatically. For example, if you change the number to 3, the texture shrinks from 50% to 33.33%. Mix Textures If this option is enabled, the material will be mixed with the underlying materials. For details on mixing textures, look up ‘textures, mixing’ in the index. 872 • CHAPTER 18 Seamless  Seamless is generally of little use for photographed textures, although you can generate interesting patterns. The option is best suited to patterns, such as wood, stone or marble. If the Seamless option is enabled, tiles are mirrored to prevent visible seams. However, this sometimes leads to a butterfly effect in the pattern. Tile  If you enable the Tile option for a 2D or 3D shader it is not, strictly speaking, tiled, but instead fills the entire object seamlessly. There may or may not be a repeating pattern depending on the programming of the shader. If this option is enabled, the texture picture will be repeated endlessly on the surface. The effect becomes visible when you scale down the texture or when the texture geometry has not yet been fitted to the object using the Fit To Object command. Otherwise, the texture map fills the texture geometry once. If this option is disabled, the texture map will not be repeated on the surface. Any materials that are underneath will show through in the parts not covered by the texture tile. Use UVW For Bump  The bump channel must be enabled for this option to have an effect. Prior to CINEMA 4D R8.2, the bump was always projected using spherical mapping — even if UVW mapping was defined. Since R8.2, UVW mapping has been used instead provided the Texture tag has UVW Mapping selected. This can lead to problems — see the following picture. TEXTURE MAPPING • 873 Artefacts with the Noise shader in the Bump shader and Use UVW For Bump disabled. Artefacts may appear in certain areas in the border area between two neighboring UV polygons, especially when using the Noise shader with a high Delta value. This is caused by the discrepancy between the coordinate systems of the object polygon and the mapped UV polygon. This is a general problem and can only be resolved by increasing the geometry’s resolution. Alternatively, you can use the old variation that was used automatically before version 8.2. However, keep in mind that this will lead to artefacts at the poles and in addition does not support the realignment of UVWs (especially optimal mapping). Coordinates P, S, R (Position, Scale, Rotation) On this page of the Attribute manager, you’ll find the settings that control the texture’s position, scale and rotation. You can also change these values interactively in the viewports (with the Texture Axis tool selected), provided UVW mapping is not active. Figures 1 and 2 demonstrate the difference between the Texture tool and the Texture Axis tool. Both pictures demonstrate a movement in the X direction. In Figure 1 the texture is moved about the texture envelope (Texture tool, Offset). In Figure 2 the texture geometry itself is moved (Texture Axis tool, Position). Figure 1: The texture has been moved about the texture envelope. Figure 2: The texture geometry itself has been moved. Figure 3: Texture geometry can be shown either as a texture grid or as a realtime texture. The texture gemoetry is represented in the viewport as a cyan grid. The texture will be projected in realtime provided the shading mode is set to Gouraud Shading or Quick Shading, even if OpenGL is not switched on. 874 • CHAPTER 18 Types of mapping To choose how a material is placed onto a surface, set Projection to the desired mode. The modes available are demonstrated below and explained in the following pages. Spherical applied to a plane. Spherical applied to a cylinder. Spherical applied to a sphere. Cylindrical applied to a plane. Cylindrical applied to a cylinder. Cylindrical applied to a sphere. Flat mapping applied to a plane. Flat mapping applied to a cylinder. Flat mapping applied to a sphere. Cubic applied to a cuboid. Frontal applied to a cuboid. Flat (left) and Spatial (right). Flat Mapping (left) and UVW Mapping (right). Difference between Flat and UVW. Shrink Wrapping. TEXTURE MAPPING • 875 Spherical Spherical mapping projects the texture onto the object in a spherical form. Spherical projection is rarely suitable for flat objects. There is distortion with cylindrical objects also. Cylindrical This mapping type projects the texture onto the object in a cylindrical shape. Cylindrical projection is rarely suitable for flat objects. It also leads to distortion when used with spherical objects. When Cylindrical is applied to a cylinder, notice how the pixels near the top and bottom of the texture map are pulled inwards on the caps. You should apply separate textures to the caps. Flat Flat mapping projects the texture onto the object in a planar direction. Flat projection tends to be used with flat objects only. The texture is soon distorted when applied to a sphere or cylinder, as the examples demonstrate. Cubic Cubic mapping projects the texture onto all six sides of a texture cube. Frontal The texture is projected from the camera position onto the object. This ensures that, it you project the texture onto a Polygon object and onto a Background object, the two textures match exactly (assuming the Texture tags for both objects use the same Offset and Length values). You can create various visual effects using Frontal mapping, or perform compositing tricks directly in CINEMA 4D. You have probably seen science fiction films where characters or spaceships gradually blend into the background using ‘cloaking’. Use Frontal mapping for such effects. For another interesting effect, remove the Background object and move the polygon around! Spatial Spatial mapping is similar to Flat projection. However, with Spatial mapping, the texture is pulled up and to the left as it passes through the object. Spatial mapping does, however, cause some distortion and as such it is not suitable for photographic images. Spatial mapping is more suitable for structural textures, such as plaster and marble. UVW Mapping If an object has UVW coordinates, you can select them as the projection type. In this case, the texture geometry is fixed to the object surface and is subject to all subsequent movement and deformation applied to the object. An example of UVW mapping is the page of a book as it is being turned. First you must fix the texture (e.g. ornate text and a pretty picture) to the page using UVW mapping. Next, animate the turn of the page with a deformation. The texture bends with the page. All of CINEMA 4D’s primitive objects and NURBS objects have UVW coordinates. If you apply a new texture to these objects, the projection type in the Texture tag will default to UVW mapping. All Polygon objects with UVW coordinates have a UVW tag in the Object manager. 876 • CHAPTER 18 Primitive objects and NURBS objects have internal UVW coordinates and do not have a UVW tag in the Object manager. You can still use UVW mapping with these objects. If you convert a Primitive object or NURBS to a Polygon object, a UVW tag will appear in the Object manager. You may be wondering why there are three coordinates (UVW). What’s the third coordinate for? Conventional textures have two coordinates, one for the horizontal position (X) and one for the vertical position (Y). In order to make it clear that the coordinates refer to a texture, X is renamed U and Y is renamed V. Two coordinates (U and V) would be sufficient were it not for 3D shaders. These are three dimensional textures and as such they require a third coordinate (W) in order to be fixed to the object. You can apply more than one UVW texture geometry to an object. Create a new Texture tag for the object, then set the projection you require, such as Flat mapping for a label texture. Next, create new UVW coordinates for the active texture by choosing Generate UVW Coordinates from the Object manager’s Texture menu. The selected Texture tag will be set to UVW mapping and will then deform together with the object. A new UVW tag is added to the existing ones each time you call Generate UVW Coordinates. A Texture tag (UVW mapping selected) always uses the UVW map directly to its right in the Object manager. This allows you to assign different UVW maps to different Texture tags. If there is no UVW tag to the right of the Texture tag, then the first UVW tag will be used. What is the structure of UVW coordinates? Imagine a grid divided into a U direction and a V direction (see Figure 1, below). The UV range starts at 0, 0 and ends at 1, 1. For an upright polygon, 0, 0 describes the top left; 0, 1 the bottom left; 1, 0 the top right and 1, 1 the bottom right. A texture is stretched out between these four coordinates (Figure 2). Figure 1. Figure 2. But where is the W coordinate in this system? Recall that conventional textures are two-dimensional — the W coordinate is created only when needed. Once created, the W coordinate behaves in the same way as the UV coordinates. TEXTURE MAPPING • 877 Selective UVW Mapping CINEMA 4D has two ways of allocating texture projections to polygon selections (rather than to the whole object as described above). The first method is described below. For details on the second method, look up ‘materials, restrict to selection’ in the index. Selective UVW mapping allows you to apply a different projection type to several regions of the object using the same texture geometry. Proceed as follows: - Create a sphere and convert it into a polygon object using Make Editable. - Create a new material with a texture, e.g. the checkerboard shader, and set the projection to Flat. - Select the Polygons tool and select several polygons in various locations. - In the Object manager, choose Texture > Assign UVW Coordinates. The selected polygons use Flat projection while the unselected polygons continue to use the normal UVW mapping. If you deform the object, the texture remains fixed in the selected region. Shrink Wrapping With this projection type, the center of the texture is fixed to the north pole of a sphere and the rest of the texture is stretched over it. The advantage of this mapping type is that the texture meets itself at the south pole only. This avoids a seam running between the poles. Only a circular section of the texture is used, with the center of the circle corresponding to the center of the picture. The remainder of the picture is discarded. 878 • CHAPTER 18 Camera Mapping  Keep the limitations of camera mapping in mind. For example, you cannot rotate a full 360° around a building. The photo is usually already distorted by perspective so, at certain angles, you will get a distortion of a distortion and poor texture quality. With camera mapping, the texture is projected from the camera onto the object. Suppose you want to use a photo and have it interact with your models. For example, perhaps you want a 3D figure to walk behind some of the objects in the photo! Camera mapping can help you to pull off these kinds of tricks. First, create a Background object. Next, load the photo into the Luminance channel of a new material. Apply the material to the Background object with camera mapping. For this, you’ll need a camera for projecting the material onto the object. Switch on this camera for the viewport (viewport: Cameras > Scene Cameras). Now reconstruct (model) any objects in the real picture that the figure (or other objects) will need to pass behind. For example, if you want a 3D figure to walk behind a crate in the photo, build the crate in 3D (it can be very simple — it is just a screen for the crate texture). Next, project the background texture onto the reconstructed objects (e.g. the crate) using camera mapping. Now your figure can walk behind the crate! TEXTURE MAPPING • 879 Attribute manager settings Camera Drag the camera that should project the texture into this box. Size X, Size Y If you click the Calculate button (see below), the size of the texture in pixels will appear here. You can also enter the size manually if you wish. Aspect X, Aspect Y If the pixel aspect ratio of the image is not 1:1, enter the ratio here. Note that the ratio will always be set to 1:1 when you click the Calculate button, because pixel aspect ratio information is not stored in bitmaps. Calculate Clicking on this button sets the Size X and Size Y values to the size of the bitmap. To render the scene the same size as the bitmap, set the Resolution in the render settings (Output tab) to the same size as the bitmap. Mixing textures CINEMA 4D lets you use as many materials and Texture tags on an object as you like. Think of a suitcase with travel stickers — there is a base material (i.e. the leather of the suitcase) and many materials on top (i.e. the stickers). Naturally, you won’t be able to see the suitcase leather under the stickers. Also, suppose some of the stickers overlap. A sticker will, naturally, cover any stickers that it is on top of. To see one of the stickers underneath such a sticker, you’d have to peel off the top stickers. Or scratch holes in them! 880 • CHAPTER 18 This analogy can be related closely to CINEMA 4D’s behavior. Your object has a base material. You have additional materials on top of the base material. In order to see the base material, the overlying materials must be scaled down and not tiled. You can do this by scaling down the texture geometry and at the same time disabling the Tile option. If two materials overlap and you want to see the bottom one, you must make a hole in the top one. You can do this using the alpha channel or clip mapping. So how does CINEMA 4D know which layer a material is on? When you apply several materials, each new material is placed on top of the previous one. Thus the order of the Texture tags in the Object manager defines the order of the layers — the right-most Texture tag in the Object manager is the top layer, the left-most is the bottom layer. You can change the layering order simply by swapping the positions of the Texture tags using drag and drop.  The Transparency material property does not allow the next layer to show through. Instead, use materials with alpha channels or clip mapping (genlocking). Figure 1. Suppose we’re creating a wall of bricks, on which there is a poster and some graffiti. We’ll use a material with a color channel and a bump channel for the bricks, a plastic-like material for the poster (which is scaled down with no tiling) and a graffiti material that will have an alpha channel so that the bricks and poster show through the writing. See Figure 1, above. To get the effect shown in Figure 1, we apply these materials to our object so that the order of the Texture tags in the Object manager from left to right is: bricks, poster, graffiti. See Figure 4 below. Figure 2. TEXTURE MAPPING • 881 The graffiti is the top material layer; it uses an alpha channel to remove the non-graffiti parts, thereby exposing the next layer down, the poster material. Even though the poster material is on a layer above the bricks, the bricks can still be seen because the poster material has been scaled down and is not tiled (i.e. the poster does not cover the entire surface). The brick material was made using a color channel and a bump channel. The bump channel creates the illusion that the bricks have joints. Now we want to add a second bump map to the wall without changing the texture itself. How can this be done? The powerful texture tag option that makes this possible is called Mix Textures and can be found on the Tag page in the Attribute manager, for a selected Texture tag.  An additive texture must be to the right of the texture to which it should be added in the Object manager. All textures to the left of the first additive texture — up to but not including the next non-additive texture — are added. By added, we mean that the material properties are added together, hence the term additive textures. For example, let’s add two textures that are different colors: red and green; the sum of the colors RGB 100,0,0 (red) and 0,100,0 (green) is 100,100,0 (yellow). If the green color has a brightness of 50%, then only 50% of the color is added. The result in this case would be 100,50,0 (orange). However, the result cannot exceed the maximum color values. Adding 100,0,0 to 100,100,0 does not produce 200,100,0, but 100,100,0.  You can add together as many textures as you wish. Only active properties are evaluated. Some channels cannot be mixed meaningfully. For example, mixing two materials each with a refractive index of 1 would result in a material with a refractive index of 2, which is probably not what you intended. In such cases, the value of the additive (right-most) material is used (provided that the channel is active).   Only the following are additive: Color, Transparency, Reflection, Bump, Displacement, Luminance. You can mix multiple textures within the same Texture tag using the Layer shader or Fusion shader. These shaders include a rich variety of blending modes, making many effects possible. Figure 3. Figure 4. 882 • CHAPTER 18 Returning to the wall example, Figures 3 and 4 show the results of mixing dirt into the poster and graffiti textures. This was accomplished by using the Mix Textures option. The illustrations below show how this was done. On the left, the bump10 texture has been mixed with the poster texture, which is to its left in the Object manager, to dirty it up. The bump10 texture stops at the poster texture: it does not continue on to the brick texture, because the poster texture is non-additive. On the right, the bump22 texture has been added just to the graffiti texture (it won’t be added to the poster and brick textures because of the bump10 additive texture). Putting a label on a bottle To put a label on a bottle - Select the Texture tag to display its settings in the Attribute manager. - In the Attribute manager, disable the Tile option. - Ensure that only one tile is being created in the X and Y directions. Done. The texture probably covers the entire object, but now you can scale it down. Select the Scale tool, then select the Texture Axis tool. You can drag to reduce the scale of the texture. Next, select the Move tool and place the texture in the desired position on the object’s surface. TEXTURE MAPPING • 883 The texture is often slightly out of proportion after scaling. Select the Texture tag and, in the Attribute manager, set the Length values as desired. Since the length cannot exceed 100%, you may need to divide both values. For example, if your texture is 800 x 600 pixels, you might set the lengths as follows: Length X 80 8 32 Length Y 60 6 24 Conversion Factor / 10 / 100 / 100 x 4 etc. Different materials for the hull, caps and rounding You can apply different materials to the hull, the caps and the rounding of NURBS objects. You can either convert the object into polygons with Functions > Make Editable, or you can use the invisible selections. For example, you can use Extrude NURBS to create marble letters with a golden, rounded or bevelled edge.  You can use existing invisible selections for the caps and rounding of a NURBS object. For example, you can apply a material to the start cap by using the Selection function (for details, look up ‘materials, restrict to selection’ in the index). You should type in ‘C1’ to apply the material to the start cap (you must use a capital C). The options are: C1 = Start Cap (Cap 1) C2 = End Cap (Cap 2) R1 = Start Rounding (Rounding 1) R2 = End Rounding (Rounding 2) 19 Timeline TIMELINE • 887 19 Timeline CINEMA 4D’s Timeline is a powerful tool for controlling and playing back animation. Like a sheet of music, the timing of the elements is represented horizontally. However, unlike sheet music, each element in an animation is represented by a key. Each horizontal line in the Timeline is called a track. Tracks control how objects are animated, from simple position animation to complex effects such as morphing. A track can contain one or more sequences. These control the time period over which the animation occurs. Each sequence is then filled with keys at positions of your choosing to define how the animation changes over time — such as a change in Z position from one key to another. Most sequences require at least two keys. Below each sequence (when you click on a ‘+’ icon) you’ll usually find an F-Curve, which controls the interpolation between the keys in the sequence. By editing the F-Curves, either directly in the Timeline or in the F-Curve manager, you can fine-tune the animation, add ease-in and ease-out and more. Each object may have as many tracks, sequences and keys as desired. As with the Object manager, the vertical position of an item determines its priority in the animation. For example, if a spline animation for a dog’s tail is above a position track in the Timeline, the spline is animated first. Tracks Selection handles Layer system Timeline F-Curve Objects Sequences and keys Status bar 888 • CHAPTER 19 Animation Toolbar The animation toolbar provides you with a quick and easy way to record and navigate the animation. By default, the animation toolbar appears in the lower part of the workspace and contains animation tools as well as a slider called the time slider. The time slider determines which frame is currently shown in the viewports.  You can also access the animation toolbar’s commands from the Animation menu. Commands Playing Goto Start Previous Frame Back Stop Forward Next Frame Goto End Play Sound Autokeying Keyframe Selection Position Keys Scale Keys Rotation Keys Parameter Keys PLA Recording Record Play Sound If this option is enabled, any sound tracks are played when you play the animation.  When you enable Play Sound, the All Frames option is disabled automatically (main menu: Animation > Frame Rate > All Frames). If you then enable All Frames, the sound will not be played when you play the animation. Keyframe Selection Here you can select which objects will receive keys when you record. A menu will appear containing various options as well as the names of all the Selection objects in the scene. If you choose one of the Selection objects, then keys will be recorded for all the objects that the Selection object represents. TIMELINE • 889 The other options on the menu are: Active Elements Keys will be recorded for the active objects (i.e. the objects that are selected in the Object manager or viewport). Restrict Editor Selection If this option is enabled, the only objects you will be able to select in the viewport are objects that are assigned to the Selection object. Restrict Keyframe Recording Applies to recording with the Record button. Keys will be recorded for all objects that are assigned to the Selection object, regardless of which objects are currently selected. Recording keys You have two ways to record keys using the animation toolbar: the Record command and the Autokeying command. Use the Record command to create keys for particular tracks or the Autokeying command to create keys for each parameter that you change. Note that the Record command creates keys for the objects currently selected in the Object manager, while the Autokeying command creates keys either for the selected objects or for the objects represented by a Selection object. To record keys with the Record command - In the animation toolbar, enable the icons for each type of key that you want to record: Position, Scale, Rotation, or PLA (Point Level Animation). Selection objects and parameters are ignored. Position Keys Scale Keys Rotation Keys PLA Keys - Move the time slider to the frame at which you want to record the keys. Set the objects to the desired settings (Position, Scale, etc.) for this frame. Click the Record button. To record keys with the Autokeying command - In the animation toolbar, click the Keyframe Selection icon and from the menu that appears, choose whether keys should be created for the objects selected in the Object manager (Active Elements) or for the objects represented by a Selection object (choose the Selection object’s name from menu). Keyframe Selection 890 • CHAPTER 19 - Click the Autokeying command. Autokeying - Move the time slider to the frame at which you want to record the keys. Set the objects to the desired settings (Position, Scale, etc.) for this frame. The changes are recorded automatically.  To restrict autokeying to particular parameters, in the Attribute manager, select the desired parameters and right-click (Windows) or Command-click( Mac OS) on the name of one of the parameters to open the context menu. From this menu, choose Animation > Add Keyframe Selection. Now only these parameters will be recorded.  Enable the Parameter Keys option on the animation toolbar to record changes that are made in the viewport by dragging the orange handles of parametric objects. Options When you click and hold the Options icon, the Options menu opens: Interpolation The interpolation options enable you to set-up the default behavior of the F-Curves that control the movement of your object. Default Interpolation. Custom Interpolation Edit Interpolation. TIMELINE • 891 Default Interpolation produces a soft, smooth movement. The tangents are always straight so there will never be a kink in the curve. However, this method produces overshooting of the F-Curve if values change substantially over a short period of time. This can lead to unwanted behavior; for example, you may find that, following a position change, an object moves the wrong way for a short time. Also, even if two successive keys have exactly the same position values, the object may move slightly between the two as if to gather momentum. Custom interpolation is a mixture of soft and hard movement. The tangents are slightly cracked in some cases to compensate for the overshooting. Choose Edit Interpolation to determine which type of interpolation is applied when you record keys. For a description of the parameters in the Edit Interpolation dialog, look up ‘key, interpolation’ in the index. All Frames This setting ensures each frame is displayed when the animation is played in a viewport. Normally, frames are skipped when the computer is not fast enough to play the animation at the frame rate specified in the project settings. With All Frames enabled, all frames will be played. Project This is the default setting. It ensures that the viewport frame rate is the same as the frame rate in the project settings. Frames will be skipped if the computer cannot play back the animation at the specified frame rate. 1 ... 500 The lower portion of the Options menu enables you to select from a number of playback rates. Keep in mind that frames will be skipped if the computer cannot play back the animation at the specified frame rate. 892 • CHAPTER 19 Animation Menu The Animation menu on the main menu contains the same commands as the animation toolbar and, in addition, contains the following commands. Record Link XYZ Subchannels When recording parameters that have subchannels — such as the R, G and B channels of a light source or the X, Y and Z channels of a Position track — use this option to choose whether all three subchannels are recorded (three keys) or a single component only (one key). Keyframe Restrict Editor Selection Using this option, you can restrict selection in the viewports to objects that belong to a Selection object. Enable this option and, from the same menu, choose the Selection object’s name. Now when you click on an object in a viewport, the object is selected only if it belongs to the chosen Selection object. TIMELINE • 893 Play Mode Use the items in this submenu to choose the playback mode for the animation. Preview Range Restricts the playback to the Timeline’s preview range (the frames between the two green markers). Simple The animation is played once only. Cycle As soon as the end of the animation is reached, the animation is played from the start. Ping-Pong The animation is played forwards and then backwards. 894 • CHAPTER 19 Working in the Timeline Improving workflow Drag-and-drop By default, the Timeline displays all of the objects in the active scene (look up ‘Automatic Mode’ in the index for more details). If you switch to Manual mode by clicking the lock icon in the top right corner of the Timeline, you can choose which objects are displayed. Simply drag the desired objects from the Object manager and drop them into the Timeline. If you hold down the Shift key at the same time, the children of these objects will also be displayed in the Timeline. Navigation The Move icon (left) and Scale icon (right). To scroll the Timeline’s contents: - Drag the Move icon or hold down the ‘1’ key and drag within the Timeline. - If you are using a wheel mouse, rotate the wheel on any part of the Timeline except the ruler. To scale the Timeline’s contents: - Drag the Scale icon or hold down the ‘2’ key and drag within the Timeline. - If you are using a wheel mouse, rotate the wheel on the Timeline ruler. To scroll an F-Curve in the Timeline: - Hold down the ‘4’ key and drag within the F-Curve. To scale an F-Curve in the Timeline: - Hold down the ‘5’ key and drag within the F-Curve. TIMELINE • 895 Context menus Four context menus are available within the Timeline. Which context menu appears depends on where you right-click (Windows) or Command-click (Mac OS): on a layer icon, on the ruler, on a track or object name, or on a sequence. The commands in these context menus are described later in this chapter. The Objects area Automatic mode In Automatic mode, the Objects area contains a list of all objects and materials in the scene. Other elements, such as object tags and material shaders, are hidden in the list initially and you can access them by clicking the triangles next to the object and material names. To access subordinate elements, such as child objects or shaders within shaders, click on the parent element’s ‘+’ icon. 896 • CHAPTER 19 Manual mode In Manual mode, you can choose exactly which elements are displayed in the Timeline. Simply drag and drop the desired elements into the Timeline. For example, you can drag materials from the Material manager or objects from the Object manager and drop them into the Timeline. To display the entire hierarchy in the Timeline, hold down the Shift key while you drag and drop. To display all animated elements, in the Timeline, choose Edit > Show All Animated. This command is especially useful when animating characters, because it hides away all non-animated objects in the Timeline, making it quicker to find the elements you need to animate such as bones. Moving the time slider without animation Sometimes it can be useful to move the time slider without the scene being animated. For example, this allows you to record the current setup at a different frame. To move the time slider without animation, hold down the Shift key while you move the time slider. Layer system In the top left corner of the Timeline, you’ll find three rows of icons which control the layers. Use these controls to combine elements of the scene in layers, with the ability to hide or lock each layer. On the top row, you’ll find eight colored buttons that represent the individual layers. The second row contains a further eight buttons that allow you to show or hide the layers. If a layer is hidden then all elements belonging to that layer are invisible in the main Timeline. The third row of buttons are for locking and unlocking layers (lock icon). If a layer’s lock icon is displayed locked, then all objects on this layer are locked and cannot be selected or edited in the Timeline. You can assign any element in the scene (be they keys, sequences, tracks or objects) to a particular layer. To assign one or more elements to a layer, select the elements in the Timeline and click one of the layer color buttons. Alternatively, you can assign a layer to all attributes of the selected elements by Ctrl-clicking the appropriate layer color button. A further useful function is the automatic selection of layers. Select one of the layers from the Timeline’s Layer > Select Layer menu. CINEMA 4D will then automatically select all the elements in the Timeline belonging to this layer. TIMELINE • 897 Using layers offers you many advantages and often saves much clicking and searching in the Timeline. Try to become accustomed to using layers, especially when working with complex animation. As an example, you could place all objects that have complex inverse kinematics assigned to them to a specific layer and switch the remaining parts of the animation to hidden so that you can work on the IK parts in isolation. By default, all new elements are placed on the first layer (layer 1) and are visible and unlocked. Timeline ruler and preview range  Throughout the following sections we will often refer to the ‘current time’ or to a ‘time value’. We use the word ‘time’ as a convenience to mean the position within the animation; this may be expressed in seconds, frames or SMPTE units. This depends on the setting you have chosen for Animation Units in the preferences. Towards the top of the Timeline, you’ll find a horizontal ruler with animation units. Depending on the Animation Units setting on the Units page of the preferences, these can be frames, seconds or in the SMPTE format. The blue marker is the time marker. It marks the current position in the animation and as such is used for navigation. You can move the time marker by dragging it or by clicking in the top half of the Timeline ruler (the tag will move to the position where you click). The two green pointers on the Timeline mark the preview range. The preview range defines the part of the animation that will be played if Preview Range has been selected from the Animation > Play Mode menu. To adjust the preview range, drag and drop the pointers or double-click a pointer, enter its new position into the dialog that opens and click OK. Markers  The colors of the markers are identical to those of the layer system in the Timeline and can be switched to hidden or locked just like all other layered elements of the Timeline. CINEMA 4D has the ability to set arbitrary markers on the Timeline ruler. These are handy for, among other things, simplified navigation in the Timeline. You can use as many markers as you wish and assign an individual name to each marker. These markers are not only used for visual guidance, they also work as snap guides for positioning and alignment. Keys or sequences can therefore be positioned very accurately at these marker lines. 898 • CHAPTER 19 Setting markers To create a marker, Ctrl-click on the Timeline ruler (within the ruler lines) at the point where you want to place the marker. By default, CINEMA 4D assigns the second layer color to all new markers, and numbers these automatically and consecutively throughout. Alternatively, you may also select File > New Marker from the Timeline menu and manually enter its position, name and color. Deleting markers To delete a marker, drag its pointer and drop it outside of the Timeline ruler. As soon as the mouse pointer changes to a trash can, you can release the mouse button to delete the marker. To delete all markers, choose Edit > Delete All Markers from the Timeline menu. Editing markers Existing markers can be freely positioned on the Timeline ruler via drag-and-drop. To adjust the position of an existing marker numerically, or to change its name or color, double-click the marker, enter the new values into the dialog that opens and click OK. The Time value determines the position of the marker on the Timeline ruler. In the Name box, you can enter any name for the marker. This makes navigation much easier, especially for those projects with many markers. The Color drop-down list menu enables you to select one of eight layer colors. Magnetic markers As mentioned previously, markers can be used to help you position keys and sequences. If you move a sequence or a key in the Timeline near a marker, the element will snap accurately to the position of this marker. This can be useful if, for example, you want to position many different keys to a certain frame. Navigation with markers On the Timeline’s menus, you’ll find various functions that enable you to navigate the Timeline with the help of existing markers. This can ease your workflow dramatically, especially when working with complex animations. For example, you could center the Timeline view on a certain marker by choosing View > Frame Marker from the Timeline menu. Another useful command is Goto Marker, which sets the current Timeline position to the exact position of a chosen marker. This command is available from the Timeline ruler’s context menu, which you open by right-clicking (Windows) or Command-clicking (Mac OS) on the Timeline ruler. TIMELINE • 899 Recording animation  You may notice problems when animating small changes over a very long period of time. For example, you may see a pulsating effect if an object initially at rest starts to rotate with constant acceleration over a period of 2500 frames. Such problems are due to the insufficient processor accuracy of current computer processors. However, this tends to affect extreme cases only. If such cases, break down the animation into several smaller animations. There are four main ways to record animation in CINEMA 4D: - Keyframing with the Record button. - Keyframing in the Attribute manager. - Autokeying. - Keyframing in the Timeline. Keyframing with the Record button When using keyframe recording, CINEMA 4D creates tracks, sequences and keys in the Timeline, according to settings of your choosing. For the object currently selected in the Object manager, provided it is not a parametric object, you can record its position, scale, rotation, parameters and point positions (PLA). Using the Selection object, you can choose which objects can be recorded. The Selection object controls which objects are recorded. Icons enabled in the animation toolbar appear depressed. The Record button creates keys at the current frame. The default setting for the Selection object, ‘Active Elements’, works as follows. On the animation toolbar, enable the icons for the properties that you want to record. Enabled icons appear depressed. In the animation toolbar, click the Record button. The tracks, sequences and keys are then recorded at the current frame (as indicated by the animation toolbar’s time slider) for the object that is selected in the Object manager. Example Suppose you want to animate a cube from position A (at frame 0) to position B (at frame 30). - In the animation toolbar, ensure that the time slider is at frame 0. - In the viewport, move the cube to the desired starting position. In the animation toolbar, ensure that the Position Keys option is enabled. - Click the Record button to create X, Y and Z position keys at frame 0. A Position track and sequence will be created if they do not yet exist for the cube. 900 • CHAPTER 19 - In the animation toolbar, drag the time slider to frame 30. In the viewport, move the cube to the position it should reach by frame 30. Click the Record button. - To play the animation, in the animation toolbar, click the Play button. Done. The cube changes its position continuously from frame 0 to frame 30 frames. The yellow animation path is shown in the viewport — this is the path followed by the cube. The cube sequence in the Timeline looks as follows: Keyframing in the Attribute manager You can record keys directly in the Attribute manager. For example, to animate a cube’s position, proceed as follows. - In the Object manager, select the cube. - In the animation toolbar, ensure that the time slider is at frame 0. - On the Attribute manager’s Coordinates page, right-click (Windows) or Command-click (Mac OS) one of the three ‘P’ letters for position to open the context menu for the position parameters. Choose Animation > Add Keyframe to create keys for the X, Y and Z positions at frame 0. Position tracks will be created for these keys if they do not yet exist. TIMELINE • 901 - Move the time slider to frame 30, move the cube to a different position and right-click (Windows) or Command-click (Mac OS) one of the ‘P’ letters again. From the context menu that appears, choose Animation > Add Keyframe. - To play the animation, in the animation toolbar, click the Play button. Done. The cube moves during frames 0 to 30. Using this method, you can record animation for almost any parameter. You can also use this method in the render settings to record keys for post effects. You can also record parameters in the Attribute manager by Ctrl-clicking the circles next to the parameters that you want to record. For more details, see Chapter 21, ‘Attribute manager’. Autokeying (automatic recording) As an alternative to pressing the Record button each time you want to record a parameter, you can have the changes made to objects recorded automatically. Keys are recorded intelligently, i.e. only for those parameters that change rather than for every single parameter. To activate autokeying, select the Autokeying button in the animation toolbar.  Remember to switch off autokeying (by deselecting the Autokeying option on the animation toolbar) as soon as you’re done recording. If you forget, you may create dozens of unwanted keys while you edit objects and ruin the animation. Example For this example, we’ll once again animate a cube’s position from frame 0 to 30. - In the animation toolbar, ensure that the time slider is at frame 0. In the viewport, move the cube to the desired starting position. In the animation toolbar, ensure that Position Keys is enabled. - Click the Autokeying button to switch on autokeying mode. - Click the Record button to create keys and tracks for the X, Y and Z positions of the cube. - In the animation toolbar, drag the time slider to frame 30. In the viewport, drag the cube to the position it should reach by frame 30. As soon as you release the mouse button, X, Y and Z position keys are created at frame 30. To play the animation, in the animation toolbar, click the Play button. Done. As with the previous examples, the cube moves during frames 0 to 30. The advantage of autokeying is that you no longer need to click the Record button each time you change the object’s position — the recording process becomes automated. With autokeying mode (as with the manual modes), the procedure is to first move the time slider, then position the object. Autokeying can help you to work faster when animating the scene. 902 • CHAPTER 19 Keyframing in the Timeline You can create tracks, sequences and keys manually in the Timeline. Before you can record keys, you must first create a track and a sequence. To create a track, in the Timeline, select the name of the object that should receive the track and choose the desired track from the File > New Track menu. The name of the track will appear to the right of the object’s name in the Timeline. CINEMA 4D automatically creates a new sequence for the track that is set to the length of the project (defined by the Minimum and Maximum parameters in the project settings). You can assign as many tracks to an object as you wish. A track can contain any number of sequences, which in turn may contain any number of keys. When using several sequences in a track, you need to consider that certain restrictions may come into force when using automatic repetition (looping). A sequence can only be looped so many times until it collides with the next sequence of the track. Therefore, it is advisable to create animations that are intended to be uniformly looped on separate tracks. To create a key, Ctrl-click on the sequence at the desired frame. Alternatively, select the sequence, choose File > New Key and, in the dialog that opens, enter the frame number for the key and click OK to create the key at that frame. Regardless of how you create the key, its settings will appear in the Attribute manager, where you can edit its values. Example As with previous examples, we’ll again animate a cube from frames 0 to 30 so that you can easily compare the four methods of animating. Although keyframing in the Timeline is the most laborious method of recording animation, it gives you the most control and is useful for complex animation. - Start with a new scene and choose Objects > Primitive > Cube. - In the Timeline, click the name Cube to select the Cube in the Timeline (if you can’t see the name ‘Cube’ in the Timeline, drag and drop the cube from the Object manager into the Timeline). - Choose File > New Track > Parameter > Position > X to create a track for the cube’s X position. A sequence is created automatically. You can also create the track using the context menu. To access the context menu, in the Timeline, right-click (Windows) or Command-click (Mac OS) on the name of the object that you want to create the track for and choose the track from the New Track submenu. TIMELINE • 903 - Ctrl-click anywhere on the position sequence. A key is created where you clicked and the key’s parameters are displayed in the Attribute manager. - In the Attribute manager, set Time to 0 and set Value to 0. The Attribute manager also displays values for the selected key’s tangents. Although you can enter values for these parameters also, most of the time it’s quicker and easier to set these values using the F-Curve manager. - In the Timeline, Ctrl-click anywhere on the position sequence to create a new key. In the Attribute manager, set Time to 30 and set Value to 700. Done. As with the previous examples, the cube moves during frames 0 to 30, starting at position X=0 and ending at position X=700. Here also, a yellow animation path appears in the viewports. The cube sequence is identical to the two previous examples. 904 • CHAPTER 19 Selecting elements The Timeline offers you many different ways to select elements. The simplest of these is to select a single element: Simply click on an object, track, sequence or key. The element (including its child tracks, sequences or keys, as relevant) is then colored or bordered in red. You can also select multiple elements. Shift-click an element to add it to the selection. To remove an element from the selection, Shift-click the element once more. Rectangle selection You can quickly select elements that are in the same area by dragging a selection rectangle over them. Drag the mouse to drag out a rectangle and release the mouse button once all the elements you want to select are inside the rectangle. If you Shift-drag instead, the elements inside the rectangle are added to the selection. To remove elements from the selection using this method, Ctrl-Shift-drag instead. Ctrl-Alt-click a key to select it and all of the object’s other keys that are at the same frame. Ctrl-Shift-Alt-click a key to select it and all other keys that are at the same frame (including the keys of other objects). Selecting individual vector components In the Timeline, a vector is a group of three closely related animation elements. For example, a position vector is made up of X, Y and Z components; a color vector consists of R, G and B components, and a rotation vector has components for H, P and B. By default, when you click a vector component, the other two components are selected also. For example, if you click a Position.X key at frame 5, the Position.Y and Position.Z keys at frame 5 are also selected, if present. To select an individual component (track, sequence or key), either disable the Vector Selection option on the Timeline’s Edit menu or Alt-click the component. TIMELINE • 905 Using drag and drop to copy and move CINEMA 4D enables you to move or copy elements within the Timeline quickly and easily using drag and drop. As a basic guideline, to change from the standard move mode into copy mode, hold down the Ctrl key while you drag and drop. When using drag and drop in the Timeline, always check the mouse pointer. For example, the mouse pointer shows a small ‘+’ sign when copy mode is active. Or if you drag the mouse pointer over a forbidden area, the mouse pointer changes into a no-entry sign. If you drop while the no-entry sign is shown, CINEMA 4D ignores the action, i.e. nothing happens. As an alternative to drag and drop, you can move and copy elements using the Cut, Copy and Paste commands from the Timeline’s Edit menu. Moving animations hierarchically To transfer all existing tracks, sequences and keys from one object (the source) to another (the target), in the Timeline, select the source object and then drag and drop onto the target object. All animation characteristics of possible sub-objects are also moved, i.e. you can transfer complex, hierarchical animation with this single action from one object to another. Keep in mind that this is a move operation; the selected characteristics of the original object are moved, not copied. Moving tracks, sequences and keys Tracks, sequences and keys are the mobile elements of the Timeline. So you can transfer, for example, one or more selected tracks, including the associated sequences and keys, with drag-anddrop from one object to another. In principle, this also applies, within certain limits, to all sequences and keys. So the sequences and keys of a position track, for example, can be transferred to other position tracks. Of course, it is not possible to move sequences or keys of different track types (e.g. the sequence or key of a Position track to a Visible In Renderer track). 906 • CHAPTER 19 Example You have created a more complex position animation with a dummy object. (This should have the same dimensions as the final, lavishly modeled complex object.) Next you want to transfer the position track to the complex object. - In the Timeline, drag the name Position from the dummy object onto the complex object. Selection handles You can also move and scale sequences and keys using the selection handles in the Timeline ruler. Drag on the sequence or the area of the ruler between the selection handles to move the selection. Drag the left or right selection handle to scale the selection. Shift-drag a selection handle to scale the selection without moving the keys. TIMELINE • 907 File Menu New Track > Parameter You can animate almost any parameter of an object. When you choose New Track > Parameter, a submenu will list all of the selected object’s parameters that can be animated. To create new keyframes, in the Timeline, do one of the following: - Right-click (Windows) or Command-click (Mac OS) on a sequence and choose New Key from the context menu that opens. - Ctrl-click anywhere on the desired sequence. All object parameters that have a circle next to their name in the Attribute manager can be animated. To create a new parameter keyframe in the Attribute manager, right-click (Windows) or Command-click (Mac OS) on the parameter name and choose Animation > Add Keyframe from the context menu. Alternatively, Ctrl-click the parameter’s circle. To name just a few of the things you can animate: - A camera’s Depth parameters. - The brightness of lights. - The number of photons for caustics calculations. - The renderer subdivision of HyperNURBS. - Node properties. 908 • CHAPTER 19 Example Using a Parameter track, CINEMA 4D enables you to morph one material to another. For example, by morphing a skin texture to a stone texture, you can turn a character from flesh to stone. For this example, you’ll morph a sphere’s material from wood to marble. - Create a wood material and a marble material using the Wood and Marble shaders. - Create a Sphere object. Assign the wood material to the sphere. - Open the Timeline if it isn’t already open. Drag the Texture tag from the Object manager and drop it into the Timeline. The Timeline switches to manual mode and shows the Texture tag only. - In the Timeline, choose File > New Track > Parameter > Material to create a Material track and sequence for the tag. TIMELINE • 909 - Ctrl-click on the Material sequence at frame 0 to create a key. In the Attribute manager, note that the Wood material is already assigned. - Ctrl-click on the Material sequence at frame 90 to create another key. - Now drag the marble material from the Material manager and drop it into the Material box in the Attribute manager. This assigns the marble material to the sphere at this point in the animation. - Render the animation and then play it back (or use the Make Preview command; make sure the Preview Mode is set to Full Render). The sphere morphs gradually from wood to marble. At this stage, the Timeline is still in manual mode and displays the Texture tag only. To switch the Timeline back to automatic mode so that all elements are displayed, in the Timeline, choose Edit > Automatic Mode or click the lock icon at the top right of the window. 910 • CHAPTER 19 New Track > Morph Using this track, you can smoothly transform one shape into another. You can morph Polygon objects and Spline objects; however, you cannot morph primitives or spline primitives. You can only morph between objects that have the same number of points. For example, you cannot morph a sphere into a cube when the sphere has many more points. Rather, you should morph between modified duplicates of an object. For example, if you use the magnet or another modeling tool to fashion a copy of a sphere into a cube, you can then morph between a sphere and a cube. Before you can morph an object, you need to create target objects (duplicates of the original).  Target objects are copies of the original object. The original state of the object to be morphed must also exist as a target object.  When creating target objects, if you want to scale the copies of the original object along an axis, use the Model tool, not the Object tool. This is the opposite of the normal advice for animation because you are scaling and animating the geometry here, not the object axes. Example - Create a sphere and, from the main menu, choose Functions > Make Editable to convert the sphere to polygons. - Create the first copy (Edit > Copy, then Edit > Paste or Ctrl-drag in the Object manager). This is the first target. On the Attribute manager’s Basic Properties page, name the object Target1. - Select the Points or Polygons tool from the left toolbar, then select the Magnet tool and in the Attribute manager set Type to Needle. - Now use the Magnet tool to shape the sphere into a drop (Figure 1, below). Figure 1 Figure 2 Figure 3 - Make another copy of the original sphere and name this copy Target2. (You can hide Target1 to give yourself a better view in the viewport using the object’s visibility dots). Scale Target2 along the Y-axis to squash it, as illustrated in Figure 2, above. TIMELINE • 911 - The next step is to create a morph target for a puddle. To this end create a third target object by copying the original. Name this new object Target3. This time, scale the target to flatten and widen it. Use the Magnet tool to tug at the edges to form an irregular puddle shape (Figure 3, above). Remember to have the Model tool selected before scaling. - The target objects are now ready to be used. Hide the targets in the Object manager but keep the original sphere visible. - Now, only the original sphere is visible. In the Timeline, assign a Morph track to the sphere. - Create the first key at the start of the sequence. On the Attribute manager’s Key Properties page, you’ll find a box called Morph Target. Drag and drop the name ‘Target1’ from the Object manager into the Morph Target box. - In the Timeline, create the second key in the middle of the sequence. Drag and drop the name ‘Target2’ from the Object manager into the Morph Target box. - Add a third key at the end of the sequence and drag and drop the name ‘Target3’ from the Object manager into the Morph Target box. Play the animation. You can, if you wish, fine-tune the morph by editing the target objects. If you want to render the animation, ensure that you turn off the various targets in the render — keep clicking the lower visibility dot in the Object manager until it turns red. 912 • CHAPTER 19 Attribute manager settings Select a key in a Morph track to display its properties in the Attribute manager. Key Properties Name You can enter a new name for the key into this box. Time Defines the frame at which the key is placed. To move the key to a different frame, set this parameter to the desired frame number. Morph Target Drag the name of the target object from the Object manager into this box. Bias From top to bottom: Bias set to 0, 40 and -100. Controls the interpolation between the keys. You can use this parameter to ease-in and ease-out the morph (i.e. speed up and slow down, for a more natural, less abrupt change). Smooth By default, the interpolation affects the curve only after each key. However, if Smooth is enabled, the interpolation influences the curve before and after each key, resulting in a smoother motion. TIMELINE • 913 New Track > PLA This track lets you animate the points of polygon objects and splines. Primitives and spline primitives must be made editable using the Make Editable command before you can use them with PLA (Point Level Animation). Use a key to record the positions of all points belonging to the selected object. This method enables you to animate changes in the shape of objects or splines. The advantage of the PLA track over the similar Morph track is that with PLA you don’t have to create target objects. Example - If you want to follow through this example for yourself in CINEMA 4D, you’ll need a textured face with the texture UV mapped. - Select the Polygons tool in the left toolbar and select the eyebrow’s surfaces (see Figure 1, below). You do not have to be in point mode in order to use PLA. After all, polygon mode allows you to effectively move points (the points that belong to the selected polygons). - First we need a starting key to record the current position of the eyebrow’s surfaces. Add a PLA track to the object (File > New Track > PLA). If you were to Ctrl-click the PLA sequence, the current position of the eyebrow at this frame would be recorded. However, the process is quicker if you use the PLA icon instead. You can then record keys either automatically (autokeying) for the selected object or set the keys manually using the Record button. - The eyebrow is already in its starting position. Record the first key. Drag the time slider to frame 30, move the eyebrow up slightly, as shown in Figure 2, then record a new key. Figure 1: Select the surfaces of the eyebrow. Figure 2: Move the eyebrow surfaces up slightly. - In the animation toolbar, click the Play button. The eyebrow is now animated using PLA. Similarly, you could use PLA to open and close the mouth, turn up the nose, blink and so on. PLA opens up countless animation opportunities. Keep in mind that you can animate the points of Spline objects as well. 914 • CHAPTER 19 Attribute manager settings Select a key in the PLA track to display its properties in the Attribute manager. Key Properties Name You can enter a new name for the key into this box. Time Defines the frame at which the key is placed. To move the key to a different frame, set this parameter to the desired frame number. Bias From top to bottom: Bias set to 0, 40 and -100. Controls the interpolation between the keys. You can use this parameter to ease-in and ease-out the PLA (i.e. speed up and slow down, for a more natural, less abrupt change). Smooth By default, the interpolation affects the curve only after each key. However, if Smooth is enabled, the interpolation influences the curve before and after each key, resulting in a smoother motion. TIMELINE • 915 New Track > Sound  When you render a movie file, CINEMA 4D does not include sound. To add the sound to the rendered movie, render the sound and use a video editor to combine the sound with the movie. This command creates a new Sound track and sequence for the object selected in the Timeline. Using sound sequences, you can apply AIFF or WAV sound files to any objects. You will need to do this if you want to use CINEMA 4D’s 2D and 3D sound rendering features. If you intend to use 2D sound rendering you can adjust the volume and balance of any sound sequence by adding keys to the sound sequence (in a similar way to within video editing programs). When you add a key (Ctrl-click on the sequence as usual) a dialog will appear in which you can change the volume and balance values (see below). Once you have added a key, a black curve will appear below the sequence (when it is unfolded) to show the changing levels. Attribute manager settings When you select a Sound track or a key in a Sound track, the properties for the sound or key will appear in the Attribute manager. Sound Properties Use Sound Enables/disables the sound. 916 • CHAPTER 19 Sound, Size, Frequency, Length, Channel, Bits Click the button with three dots and use the system dialog that opens to choose the sound file that you want to assign to the object that is selected in the Timeline. Information for this sound file, such as its file size and frequency, will then be shown in the lower part of the page. Play Sound, Stop Sound  When playing the animation in the viewport with sound playback enabled, CINEMA 4D will mix all sound tracks, but will not apply volume and balance effects. You must render the mix to a file using File > 2D Sound Rendering to apply the volume and balance effects. Use these buttons to play the sound. The sound will be played using your system’s media player. Size, Frequency, Length, Channel, Bits Here you’ll find information about the sound file. Key Properties Name You can enter a new name for the key into this box. Time Defines the frame at which the key is placed. To move the key to a different frame, set this parameter to the desired frame number. Volume Controls the volume of the sound file. Set a value from 0% (no sound) to 100% (full volume). Balance  This parameter is ignored for 3D sound rendering, since then the balance information comes from the 3D sound parameters, distances and movements. Defines the stereo balance of the sound file. You can set values from -100% to 100%, where negative values shift the volume to the left channel and positive values shift the volume to the right channel. At the default value of 0%, the volume is shared equally by the left and right channels. TIMELINE • 917 New Track > Time The Time track gives you a quick and easy way to control the timing of any animation track using a curve known as a time curve. For example, suppose you’ve created a track that moves a car from the start to end of a road at constant velocity. When you play back this animation, the car starts abruptly, as though it goes from 0-100 in zero seconds. Naturally, this is unrealistic. We need the car to accelerate gradually over a number of frames. Although we could record multiple keys to speed up the car at the start and slow it down at the end, the Time track lets us do this more quickly, more flexibly and more accurately by drawing a curve. Not only can we speed up and slow down the car, we can also, say, make the car stop halfway along the road, reverse a bit, go forwards once more. You can use Time tracks to control any type of parameter that can be interpolated. There are almost endless possibilities, from candles that flicker to a Twist object that rotates a head slowly at the start and end of the turn and quickly in between. Example - Create a sphere and animate its position along the X-axis so that at frame 0, the sphere is at X=0, and at frame 90, it’s at X=300. The Timeline should then look as follows. - In the animation toolbar, click the Play button to play the animation. Click Stop when you are finished. The sphere moves with the same speed from start to finish. - In the Timeline, with Sphere selected, choose File > New Track > Time to create a Time track. - Ensure that Sphere is still selected in the Timeline. Alt-click the sequence for the Position.X track to display its Sequence Properties in the Attribute manager. 918 • CHAPTER 19 - In the Attribute manager, you’ll find a box called Time Track. Drag the name Time from the Timeline and drop it into the Time Track box to assign the Time track to the Position.X track. The Timeline now looks as follows. When playing back the animation, you won’t see a difference yet because the Time track’s curve rises linearly from 0% to 100% (the percentages refer to the Position.X parameter). - Change the Time track by creating a new key at about frame 50 (Ctrl-click on the curve or sequence) and set Value in the Key Properties in the Attribute manager to 100%. TIMELINE • 919 - Next, edit the key at the end of the sequence (i.e. at frame 90) and set the key’s value to 0%. You can create the keys in the Timeline or in the F-Curve manager. The Timeline now looks as follows. - Play back the animation and watch how the sphere’s motion has been changed. Now the sphere reaches X=300 by about frame 45, then it ‘reverses’ all the way back to its starting point by the end of the animation — even though the Position.X track has just two keys. The Time track controls how the sphere’s motion is interpolated between the keys. Why Time curves are useful Suppose you’ve created a complex camera flight that has 40 keyframes defining the main positions the camera passes through. You then decide you want to slow down or speed up the camera in particular areas — adjusting the keys accordingly would take a great deal of effort. By using a Time curve, you can achieve the desired control over the camera’s speed without having to change the actual keyframes. Or suppose you’ve animated a walk cycle for a character consisting of 253 keyframes. You want the character to take two steps forward and three steps back. You could either copy the keyframes several times and adjust them or simply use a Time curve with six keyframes to get the same result in less time.  The accuracy of time curve points is limited, because they are stored internally as floating point numbers. In extreme cases, rounding errors can come into play and a time curve point could, for example, end up being positioned at frame 2340.38 instead of at frame 2340. The problem is magnified if you are rendering extremely long animations. In such cases, you may find it helpful to render the scene in several parts instead, with each part saved as a separate scene file. 920 • CHAPTER 19 New Sequence Use this command to create a new sequence on the active track. It opens a dialog, enabling you to enter the start and end time of the sequence. To the right of these values, the overall length of the sequence is displayed. You can optionally make the sequence loop a number of times. You can enter the overall loop length or number of loops. These two values are linked to one another and will change according to each other’s value. Any looped range of sequences is shown in a lighter gray. This range is the automatically generated loop and cannot have further keys added to it. By enabling the Soft option, you can define whether CINEMA 4D should softly interpolate between the individual loop sections. When enabling the Soft option, keep in mind that the last key should not be directly at the end of the sequence, otherwise CINEMA 4D will have insufficient time for the interpolation. To avoid sudden jumps, always leave some space at the end of the original sequence.  New sequences can also be ‘dragged out’ directly in the Timeline. To create a sequence in this way, Ctrl-drag within the track. Keep the mouse button pressed and drag the pointer to the right or left to define the sequence. Attribute manager settings Sequence Properties Name You can enter a new name for the sequence into this box. TIMELINE • 921 Left Border, Right Border Define the frames at which the sequence starts and ends. Loop Border, Loops, Soft To repeat the sequence, set Loops to the number of repetitions or set Loop Border to the frame at which the loops should end (the loops will commence immediately after the sequence). Loop sequences are shaded a lighter gray than the sequence proper. You cannot add keys to loops. If you want CINEMA 4D to interpolate softly between the loops, enable Soft. Avoid placing a key near the end of the original sequence, otherwise CINEMA 4D won’t have enough time to smoothly interpolate, causing ‘jumps’ between the repetitions. Time Track You can assign a Time track to the sequence to control the timing of the sequence using a time curve. For information on creating time curves, look up ‘Time track’ in the index. Left Influence, Right Influence A sequence can be as long or as short as you wish. However, what happens during the undefined ranges of the track, where there are no sequences? For example, suppose your animation is 90 frames long and you’ve created a rotation sequence for a robot’s head that starts at frame 30 and ends at frame 60. The sequence rotates the head from 0° to 180°. What should happen from frames 0 to 29 and from frames 61 to 90, where there is no rotation sequence? If Left Influence is enabled for a sequence, CINEMA 4D internally extends the sequence to the left to ensure that the track has no empty regions left of the selected sequence(s). So in the case of the rotating head example, the value of rotation at frame 30, i.e. 0°, will be extended to frame 0. Thus the robot’s head will start with a rotation of 0°. The head stays at a rotation of 0° until frame 30, then it starts to rotate and reaches a rotation of 180° by frame 60. Similarly, if Right Influence is enabled, sequences are extended to the right. The head would then hold its rotation value of 180° from frames 60 to 90. You can see these spheres of influence directly in the Timeline. They are shown as thin grey lines that extend to the left or right of sequences, as shown in the illustration below. Figure 1: The thin line indicates left influence. So why would you want to switch off the spheres of influence? By switching them off (i.e. by disabling Left Influence and Right Influence), you can allow a track (or even an expression tag) of a lower priority to take control over the parameter. 922 • CHAPTER 19 For example, suppose you want the robot to look at a space ship before and after the rotation sequence. In other words, from frames 0 to 29, the robot will look at the space ship. From frames 30 to 60, the robot rotates its head as defined by the rotation sequence. Then from frame 61 onwards, the robot once more looks at the space ship. You can achieve this as follows. First you create a Target tag that points the robot’s head at the space ship. You lower the priority of the Target tag (i.e. place it under the rotation track in the Timeline) so that the rotation keys have priority (otherwise the tag’s expression would override the rotation sequence and the robot would always look at the space ship). This is where the spheres of influence come into play. If Left Influence and Right Influence are enabled for the rotation sequence, its influence is extended to cover the entire animation and the Target tag is not allowed to control the head during the empty regions. To allow the Target tag to control the head’s rotation during the empty regions, Left Influence and Right Influence must be disabled. To summarize, disable Left Influence and Right Influence if you want a track or tag expression of lower priority to control the parameter during the empty regions. Unlooped Area In previous versions of CINEMA 4D, if you created a time curve and used it to control a track with loops, the time curve would affect the entire track including the loops. This often caused objects to jump wildly. To apply the time curve to the unlooped area only, enable the Unlooped Area option. Constant XYZ Velocity This option is only available if a Position.X, Rotation.H or Scale.X sequence (just one of these, not all three) is selected. Enable the option to set X, Y and Z to a constant velocity. This is especially useful when animating objects along spline paths — enabling the option will ensure that the objects move with constant velocity, whereas with the option disabled, the objects may speed up and slow down in various places depending on the spline interpolation settings. TIMELINE • 923 New Key Use this command to create a new key on the active sequence. It opens a dialog, allowing you to enter the time position of the key. Once you have entered the desired position and clicked OK, the key is created and its properties are displayed on the Attribute manager’s Key Properties page. You can also create a new key by Ctrl-clicking on the sequence at the position where you want to add the key. Again, the key’s settings are displayed in the Attribute manager. Attribute manager settings Common key interpolation properties The properties of a key will depend on the type of its track. All keys will have Name and Time properties, most will have one or more Value properties. For many tracks, the interpolation will occur between keys on the track, and these keys will have common interpolation properties as described below. (Interpolation properties can also be set in the F-Curve manager). Link Tangents Link Tangents enabled (top) and disabled (bottom). If this option is enabled, the left tangent is linked to the right tangent so that they point in exactly the opposite directions and are both the same length. In addition, the settings for the left tangent are hidden and cannot be edited numerically. This avoids kinks in the curve. If you do want to edit the left tangent, disable the option. 924 • CHAPTER 19 Interpolation L / R Using these drop-down lists, you can set separate interpolation types for the left and right tangents. Custom A handle is shown for the tangent in the F-Curve window, where you can drag the handle freely to rotate and scale the tangent. You can also enter values into the Time L / R and Value L / R boxes. Soft The default interpolation. Soft attempts to interpolate between the keys as smoothly as possible. Although can make the curve softer or harder by adjusting the tangent’s Strength L / R value, we recommend that you make these adjustments interactively using the F-Curve manager instead. Linear, Step, Slow, Fast Linear Step Slow Fast <--> (none) Setting the left tangent to <--> uses the interpolation type of the key to the left, while setting the right tangent to <--> uses the interpolation type of the key to the right. Time L / R, Value L / R See ‘Interpolation L / R, Custom’, above. Strength L / R Strength L / R determines the strength of the Soft, Slow and Fast interpolation modes. Clamp L / R Clamp disabled (left) and enabled (right). Clamping is a special function that helps to avoid overshoots when using soft interpolation and is especially useful if several keys with the same values are next to each other — while a character places her foot on the ground, for example. TIMELINE • 925 Taking the foot example a little further, while the foot is on the ground, you’ll want to prevent it from sinking through the floor. Although you can do this by setting the interpolation between the keyframes to linear to straighten out the curve, this may cause problems later if you need to adjust the keys. The clamp function is used to straighten out the curve (just like linear interpolation would do) between keys that have the same values. However, as soon as one of the keys is set to a different value, the clamp is no longer applied and normal soft interpolation is used instead. 926 • CHAPTER 19 New Marker This command creates a new marker on the Timeline ruler. Markers are ideal for simplifying the look and navigation of the Timeline. After calling this command, a dialog opens that enables you to define the timeframe position and the name and color of the marker. You can also create new markers directly on the Timeline ruler. To do this, Ctrl-click on the lower half of the Timeline ruler. Markers that you create in this way will be numbered serially and will be assigned the color of the layer chosen in the New Marker dialog. To change a marker’s attributes, double-click the marker and, in the dialog that opens, set the parameters as desired. TIMELINE • 927 2D Sound Rendering  With 2D sound rendering, CINEMA 4D creates uncompressed stereo WAV files in 16 bits @ 44.1 kHz. You can render 2D sound data with this command. CINEMA 4D creates a single, coherent WAV sound file, based on the sound sequences in the Timeline. Any volume and balance information in the keys is included in the file. With this feature, you are, in effect, in front of a multi-track recording machine that allows you to cut and mix many sound files non-linearly. Path Enter the desired file path and name for the WAV sound file you want to create. The files are automatically given the extension ‘.WAV’. Range Use this to choose the range within which the 2D sound rendering is to be performed. Document Performs 2D sound rendering for the entire length of the scene. Preview Performs 2D sound rendering for the part of the document marked as a preview range (i.e. the area in the Timeline between the green markers). Raytracer Performs 2D sound rendering for the number of frames defined in the render settings. Play Sound When Ready  CINEMA 4D plays back the sound using the system’s default media player (e.g. Media Player under Windows or QuickTime on the Macintosh). Enable this option if you want the 2D sound rendering to play automatically once it has been calculated. You can abort the calculation of sound data at any time by pressing the Esc key (Windows and Mac OS) or the Command key + ‘.’ (Mac OS). 928 • CHAPTER 19 3D Sound Rendering  With 3D sound rendering, CINEMA 4D creates uncompressed mono WAV files in 16 bits @ 44.1 kHz. You can render 3D sound data with this command. CINEMA 4D creates a WAV sound file for each Microphone object in the scene and calculates the volume and pitch of each sound file according to the position and speed of all cameras and microphones in the scene. For example, if you have a loudspeaker emitting thruster noise for a spaceship passing the camera and you position two microphones to the right and left of the camera, you will generate sound files in which the sound (as in reality) moves from left to right. If the spaceship (loudspeaker) moves away from the camera, the sound will become quieter; if it moves closer, the sound becomes accordingly louder. In addition, if you enable the Doppler effect, the pitch of the spaceship will change according to whether it is flying towards or away from the camera. You can abort the calculation of sound data at any time by pressing the Esc key (Windows and Mac OS) or the Command key + ‘.’ (Mac OS). Path Enter the desired file path and name for the WAV sound file you want to create. The actual names of the files are formed as follows: ‘Filename from dialog’_’object name.WAV’ For example, if you enter ‘C:\temp\test’ as the file path and there are two microphones with the names ‘MicroA’ and ‘MicroB’ in the scene, CINEMA 4D creates two new files, named ‘test_ MicroA.WAV’ and ‘test_MicroB.WAV’, and saves them in the ‘C:\temp’ location. Range Use this to choose the range within which the 3D sound rendering is to be performed Document Performs 3D sound rendering for the entire length of the scene. TIMELINE • 929 Preview Performs 3D sound rendering for the part of the document marked as a preview range(i.e. the area in the Timeline between the green markers). Raytracer Performs 3D sound rendering for the number of frames defined in the render settings. Close Closes the Timeline. The animation created in the Timeline is preserved. 930 • CHAPTER 19 Edit Menu Undo This command is used to undo the last change made to the animation. If you use this command several times, one after the other, first the last change you made will be undone, then the editing prior to that change is undone and so on. By default, CINEMA 4D saves the last ten edit steps internally and all of these steps may be undone. You can change the number of undo steps in the preferences, on the Document page. Redo If you have undone too many changes and want to restore them, you can do so using the Redo command. With Undo, you go backwards through the edit history of your scene, while with Redo, you go forwards. Cut  When several sequences and keys are selected in the Timeline, CINEMA 4D cuts the elements of the topmost selected line only. This command copies the keys and the sequence data that are currently selected in the Timeline to the clipboard and deletes them from the Timeline. Elements stored in the clipboard may be inserted into the Timeline again with the Paste command. Copy  When several sequences and keys are selected in the Timeline, CINEMA 4D copies the elements of the topmost selected line only. This command copies the keys and the sequence data that are currently selected in the Timeline to the clipboard. Elements in the clipboard can then be copied to the Timeline with Paste. Paste Inserts the elements stored in clipboard into the active document. In the Timeline, the pasted elements stick to the mouse pointer and must be given a position in the Timeline. Do this by moving the mouse arrow to the position where you want to paste the elements and click to paste them. TIMELINE • 931 Delete Deletes the selected animation elements. To delete all the animation tracks of an object, in the Timeline, select the object’s name before using this command. Delete All Markers Delete all existing markers from the Timeline. Select All Selects all visible and invisible elements of the Timeline (objects, tracks, sequences and keys). Deselect All Deselects all elements of the Timeline (objects, tracks, sequences and keys). Selections Object, Track, Sequence, Key Using these options, you can choose which types of animation elements can be selected and edited in the Timeline. For example, if you want to be able to select and edit keys only, ensure that the Key Selection option is enabled and the other selection options are disabled. Vector In the Timeline, a vector is a group of three closely related animation elements. For example, a position vector is made up of X, Y and Z values; a color vector consists of R, G and B values, and a rotation vector has values for H, P and B. When CINEMA 4D records a vector, three separate tracks are recorded, one for each element. Thus when you record an object’s position, three tracks are created: one for the X position, one for Y and the other for Z. Figure 1: Before clicking Position.X sequence. Figure 2: Clicking with Vector Selection enabled. Figure 3: Clicking with Vector Selection disabled. If Vector Selection is enabled, when you select a vector element in the Timeline, the other two elements that belong to the vector are also selected. For example, if you’ve recorded a position vector (Figure 1, above) and you select the Position.X sequence, the Position.Y and Position.Z sequences are also selected (Figure 2). If, on the other hand, the Vector Selection option is disabled and you click the Position.X sequence, only that sequence will be selected (Figure 3). Similarly, if the option is enabled and you select a Position.X key at, say, frame 50, the Position.Y and Position.Z keys at frame 50 will also be selected if present. The Vector Selection option is useful if you want to move all three vector elements without having to select them all individually. 932 • CHAPTER 19 Arrange Mode  This command works in manual mode only. When the arrange mode is active, objects can be freely rearranged in the Timeline, allowing you to even change the hierarchy completely without affecting the hierarchy in the Object manager. However, note that you can’t edit keys or tracks while the arrange mode is active. As soon as the arrange mode is activated, the mouse pointer changes to a hand instead of the usual arrow. Making one object a sub object of another using the arrange mode doesn’t mean that recording keyframes for the parent object in the Timeline records keyframes for the child as well. To record keyframes for an entire hierarchy, in the Object manager, select the parent object and choose Edit > Select Children before you record. Alternatively, use a Selection object and autokeying. Show All Animated  This command works in manual mode only. While in manual mode, objects aren’t automatically displayed in the Timeline even if they are animated. To quickly display all animated objects and other animated elements such as materials and post effects in the Timeline, choose Show All Animated. To activate the automatic mode so that all animated objects are displayed automatically, in the Timeline, open the lock in the top right corner and choose Filter > Show Animated Objects. Remove Object, Remove All  These commands work in manual mode only. The Remove Objects command removes the selected objects from the Timeline. The Remove All command removes all objects from the Timeline. Note that the removed objects are merely hidden from the Timeline — they aren’t deleted from the scene. To display the removed objects once more, do one of the following: - In the Timeline, open the lock in the top right corner to switch off manual mode. - Drag-and-drop the objects from the Object manager into the Timeline. - In the Timeline, choose Edit > Show All Animated when in manual mode. Snap To Frame This option is enabled by default and helps you to position keys and sequences accurately to frames when moving them with the mouse. If the option is disabled, all keys and sequences can be positioned freely between frames, without the use of time steps. TIMELINE • 933  When you add a key to a sequence, the new key may replace an existing key, regardless of whether you place the key manually or whether you use autokeying. For example, suppose a sequence has an existing key at frame 12.23 and a new key is placed at frame 12. The original key (12.23) will be deleted and the new key will be snapped to frame 12. CINEMA 4D also snaps sequences and keys when scaling them. This prevents keys from being at non-integral positions such as frame 3.476532. However, keys can be lost in the process, as demonstrated in the following example: - Create a sequence from frame 0 to frame 10 and create a key for each frame. - Scale down the sequence so that runs from frames 0 to 3 (drag the red selection handle that is at the right edge of the sequence). - Scale up the sequence so that it is 10 frames long again (once again, drag the selection handle). The sequence now has just four keys, the others have been lost. This is because when the sequence was scaled down, the keys were snapped to integral frame numbers. Thus you can work on a frame basis or a time basis (as is necessary when converting a scene from PAL to NTSC). Project Settings This command opens the project settings. For a description of these settings, look up ‘project settings’ in the index. Link To Object Manager If this option is enabled, selection in the Timeline is linked to selection in the Object manager. In other words, objects you select in the Timeline are selected in the Object manager and vice versa. Automatic Mode In automatic mode, the Timeline corresponds to the Object manager — all objects that are displayed in the Object manager are also displayed in the Timeline. Selected objects are selected in both the Timeline and the Object manager. You can quickly switch between automatic mode and manual mode by clicking the lock in the top right corner of the Timeline. 934 • CHAPTER 19 Other elements, such as object tags and material shaders, are hidden in the list initially and you can access them by clicking on the triangles next to the object and material names. Clicking on the triangle for an XPresso tag gives you access to the nodes that it contains. To access subordinate elements, such as child objects or shaders within shaders, click on the parent element’s “+” icon. You can switch between automatic mode and manual mode at any time. If you drag and drop an object from the Object manager into the Timeline, the Timeline will switch to manual mode.  Post Effect tracks are displayed in manual mode only (Automatic Mode disabled). TIMELINE • 935 View Menu Frame All This command enables you to center the entire animation within the visible work area of the Timeline. If necessary, the view will be scaled horizontally. Frame Selection Centers the selected elements (sequences and keys) within the visible work area in the Timeline. If necessary, the view will be scaled horizontally. Frame Start Centers the visible work area in the Timeline from the start of the animation. The view is not scaled. Frame End Centers the visible work area in the Timeline to the end of the animation. The view is not scaled. Frame Active Time Centers the visible work area in the Timeline, starting at the current position of the time marker (the blue marker). The view is not scaled. Frame Time Centers the visible work area in the Timeline, starting at a time value of your choosing. Enter the frame number into the dialog that opens and click OK. The view is not scaled. Frame Marker Centers the work area in the Timeline, starting at a marker of your choosing. Enter the name of the desired marker into the dialog that opens and click OK. The view is not scaled. Frame Right Marker, Frame Left Marker The commands center the work area in the Timeline, starting at the nearest off-screen marker that is to the right or to the left (respectively). The view is not scaled. Zoom In, Zoom Out You can zoom in or out using these commands. 936 • CHAPTER 19 Filter Menu The options on this menu control which element types are displayed in the Timeline. The last four items on this menu — Show Position Tracks, Scale Tracks, Rotation Tracks and Other Tracks — apply to either manual mode or automatic mode. The remaining options apply only to automatic mode. All items except Show Branches control whether a particular element type is shown. Show Branches is available only when Show All Objects is enabled. It controls whether a triangle or circle is shown to the left of object names in the Timeline. If triangles are shown (Show Branches enabled), you can click a triangle to display the object’s tags. TIMELINE • 937 Objects Menu Rename Object Renames the object that is currently selected in the Timeline. Search Active Object This command scrolls the Timeline and opens a hierarchy if necessary to ensure that the object currently selected in the Timeline can be seen in the Timeline. Fold All, Unfold All These commands close or open all hierarchies in the Timeline. This action is also applied to invisible and locked objects. Bake Object  Not all types of animation can be baked. You can convert into real keys, for example, only those movements that alter the position, scaling or rotation of an object. This command will convert animations that were not created using position, scale or rotation tracks (but nonetheless refer to the position or size of the object) into real position, scale or rotation tracks. For example, you can convert the motion that is created by an IK tag to a Rotation animation with the corresponding keyframes. The Bake Object command is especially useful when exporting an animation to a foreign file format, such as VRML, which does not support animation properties such as the Vibrate tag.  Bake Object creates keys at regular intervals, paying no attention to any necessity for the positioning of the keys; very many keys are created. Therefore you should use this command sparingly and economically. Try to reduce the keys of the animation afterwards using the Simplify Curve command in the F-Curve window. Position Track To Spline This command converts an object’s animation path to a spline. First, select the object whose X, Y and Z position tracks you want to be converted to a spline. Next, choose this command. CINEMA 4D will create a Spline object that corresponds to the position path of the object. You can edit the spline and assign this to the object again using the Spline To Position Track command. 938 • CHAPTER 19 Spline To Position Track This converts a spline into an animation path. First, select the object whose animation path you want to change. Next, choose this command. In the dialog that opens, enter the name of the spline that should be converted to the object’s position tracks and click OK. CINEMA 4D will create new X, Y and Z position tracks for the object so that it follows the path of the spline.  If you are using a B-Spline, you may need to increase the number of intermediate points to ensure a good match between the spline and position track. This is because sometimes the control points of B-Splines do not lie on the curve. The position track from a B-Spline. The position track from a Bezier Spline. TIMELINE • 939 Sequences Menu Record Selected This command creates a key at the current frame for all selected sequences. Insert Preview Range Before. After. This command gives you a quick way to create a gap in each selected sequence. The gap is created between the two (green) preview range markers. To create the gap, CINEMA 4D splits each selected sequence in two at the position of the left preview range marker. The second part of each split sequence is then moved to the end of the preview range. Delete Preview Range Before. After. This command is similar to Insert Preview Range, described above, except that the preview range is deleted from the selected sequences. Keys that lie within this range are therefore lost. Adjust Adapts the length of the selected sequence to the first and last keys of the sequence. Overlapping parts of the sequence are deleted. 940 • CHAPTER 19 Connect  This command is especially useful when you want to loop a motion that is made up of several sequences. By connecting the sequences into one, you can then loop the motion using the Attribute manager settings for this sequence. Using this command, you can combine several individual sequences. You can connect as many sequences of a track as desired. The sequences must be positioned next to each other, but do not have to touch (i.e. there can be a gap between the sequences, but not another sequence). Divide Splits each selected sequence into two parts. In the dialog that opens, enter the timeframe at which the selected sequences should be split. Markers From Selection  Some sound editing programs add markers to the sound file. If a sound track should contain a sound file with such markers or labels then these will be converted into real CINEMA 4D markers when using this command. Creates markers for each selected element (keys, sequences or tracks). If a sequence is selected, a marker is created for each of its keys as well as at the start and end of the sequence. If a track is selected, markers are created for each of its keys and sequences. TIMELINE • 941 Move/Scale This command opens a dialog that enables you to move and/or scale the selected sequences. Move Defines by how many units or frames the selected sequences are to be shifted to the right. Negative values will cause a shift to the left. Scale Defines the factor by which the selected sequences are to be scaled. For example, if the value is 1, the sequence remains unchanged. With 2, the sequences are doubled in length and with 0.5 the sequences become half their original length. Quantize This command rounds down selected sequences or key positions to whole time frames. This is useful for ‘correcting’ the positions of keys that have been moved to fractional values during scaling. Get Time Curve From Using this command, you can quickly assign an existing time curve to one or more selected sequences. First select the sequences to which the time curve should be assigned. Next, choose this command and click either on a sequence that already uses the Time curve or on the sequence for the Time track itself. For information on Time curves, look up ‘Time track’ in the index. After choosing the command, click either on a sequence that uses the time curve or on the sequence of the time curve’s Time track (as indicated above by the two mouse pointers). 942 • CHAPTER 19 Layer Menu Color Selection With this menu you can assign one of the eight predefined colors to the elements (objects, tracks, sequences and keys) selected in the Timeline. Select Layer Choose one of the eight layer entries from the Select Layer menu to select all elements that belong to this layer in the Timeline. Toggle Layer  Tracks with hidden sequences cannot be deleted. Choose one of the eight layer entries from the Toggle Layer menu to hide the layer. Another call to the same layer toggles the layer to visible. Solo Layer Choose one of the eight layer entries from the Solo Layer menu to hide all layers except the selected one. All Layers Using this menu, you can choose to show, hide, lock or unlock all layers. TIMELINE • 943 Loading XL R7 scenes The following issues apply when loading animated scenes created in CINEMA 4D XL R7: - Motion groups cannot be loaded. To remedy this, in CINEMA 4D XL R7, ungroup the motion groups (Timeline: Sequences > Ungroup Motion) and save the scene. Load this scene into CINEMA 4D R9. - Plugin tracks will be loaded only if the plugin is compatible with CINEMA 4D R9 and is installed. - Materials of texture tracks will always be morphed, even if Morph Materials was disabled in the original scene. To remedy this, create two keys next to each other. - Time tracks are converted as accurately as possible. However, slight adjustments may be required. - Velocity and acceleration time curves cannot be converted. Animating materials You can animate all of the Texture tag’s properties, including its tiling, offset, position and rotation. This gives you a great deal of power and flexibility when animating materials. However, the most powerful property you can animate in the Texture tag is the Material parameter. The Material parameter gives you the power to morph from one material to a completely different (or similar, if you wish) material. You can also morph between multiple materials, morphing from one material to the next to the next and so on. In this section, you’ll learn how to use the Material parameter to morph a checkerboard material into marble material. - Create a cube and create two materials: a checkerboard material (use the Checkerboard channel shader) and a marble material (use the Marble channel shader). - Apply the checkerboard material to the cube. - In the Timeline, click on the triangle next to the cube’s name to display the cube’s Texture tag. (If the cube is not displayed in the Timeline, enable the Automatic Mode option on the Timeline’s Edit menu). - In the Timeline, right-click (Windows) or Command-click (Mac OS) on the Texture tag’s name and from the context menu that appears, choose New Track > Parameter > Material. You’ll see a Material sequence appear in the Timeline. You’ll need to add two keys for this animation: a key at the start that contains the checkerboard material, and a key at the end of the material morph animation that contains the marble material. - Ctrl-click on the sequence at frame 0 to create the first key. The checkerboard material will be assigned to this key automatically. 944 • CHAPTER 19 - Ctrl-click on the sequence at about frame 45 to create the second key. Again, the checkerboard material will be assigned to the key automatically, but this time it needs to be changed to the Marble material (see next step). - Drag and drop the marble material from the Material manager into the Material box in the Attribute manager (the Material box for the Material sequence). This assigns the marble material to the second key. - Done! Render the animation to see the effect (you won’t see the proper effect until you render). 20 F-Curve Manager F-CURVE MANAGER • 947 20 F-Curve Manager F-Curves, short for function curves, control the interpolation between keys. Since they have no fixed units, they can be used to control any parameter that can be interpolated.  F-Curves are shown only for those animated parameters that can be interpolated. Parameters that cannot be interpolated — such as the Shadow setting of lights — do not have F-Curves. The way in which keys are interpolated has a major effect on animation. In Figures 1 and 2, below, two F-Curves are shown whose keys are in identical positions. If these curves were to control the position of an object, the object would start in the same position for both curves and it would also end in the same position. The difference between the two curves only affects what happens to the object between the start and the end. Figure 1: Linear Interpolation. Figure 2: Ease In interpolation applied to right-hand key. Suppose the two F-Curves above control a car that stops at traffic lights at frame 90. In Figure 1, the car moves at constant speed (indicated by a straight line) and comes to a sudden halt at the lights. There is no deceleration phase at all, thus the motion is unrealistic. In contrast, the curve in Figure 2 flattens out as frame 90 is approached. This causes the car to slow down gradually as it approaches the lights, just as though a driver is applying the brakes. The resulting motion is realistic. F-Curves give you an easy way to ease motion in and out, helping you to improve the realism of your animation. In addition, F-Curves give you a graphical way to control animation, using smooth curves to avoid abrupt, unnatural changes. CINEMA 4D creates an F-Curve automatically for each animated parameter that can be interpolated. To access the F-Curve for a particular track in the Timeline, click the ‘+’ symbol next to the track name (Figure 3, below). This allows you to edit F-Curves directly in the Timeline. Figure 3: Click the ‘+’ symbol to display the F-Curve. 948 • CHAPTER 20 However, most of the time, you’ll probably want to edit F-Curves using the more spacious F-Curve manager, where it can be easier to edit the curves accurately. In addition, the F-Curve manager provides a number of commands that are not available in the Timeline. Also, when you open the F-Curve manager, the F-Curve List (to the left of the display) is integrated by default. Among other things, this list helps you to control which F-Curves are displayed in the F–Curve manager. 3 4 1 6 2 5 1. Curve has been made relative. 2. Tangent handles. 3. Current frame. 4. Clamped key. 5. End of sequence. 6. F-Curve list. Manual mode and automatic mode The F-Curve manager has two display modes: manual and automatic. A locked icon in the top right corner of the manager indicates that the manager is in manual mode, while an open lock icon indicates automatic mode is active. The automatic mode, which is enabled by default, displays the F-Curves of the currently selected objects, tags or materials. For example, if you want the F-Curves of three particular materials to be displayed, multiple select these materials in the Material manager. Or to show the F-Curves of particular objects, multiple select these objects in the Object manager or Timeline. Similarly, you can select tags in the Object manager to display their F-Curves in the F-Curve manager. In contrast, the manual mode enables you to control which F-Curves are displayed in the F-Curve manager regardless of which objects are currently selected. To activate manual mode, drag and drop the elements whose curves should be displayed into the F-Curve manager or F-Curve List. You can also toggle between manual and automatic mode by clicking the lock icon in the top right corner of the F-Curve manager. The mode can also be changed by enabling or disabling the Automatic Mode option on the F-Curve manager’s Edit menu. The changes that you make in manual mode are lost when you switch to automatic mode. Switching from automatic mode to manual mode initially displays whatever was displayed in automatic mode. F-CURVE MANAGER • 949 Editing keys F-Curve keys are created and edited in the same way as in the Timeline. To create a new key, Ctrl-click on the F-Curve. To select a key, click it. To select multiple keys, click one of the keys then Shift-click the remaining keys that you want to select. You can also select by dragging out a rectangle selection — all keys inside this box will be selected when you release the mouse button. If you hold down Shift while dragging the selection rectangle, the keys inside the box will be added to the selection. To move selected keys, drag and drop one of them. To delete the selected keys, press the Backspace key. The parameters of the selected keys are displayed in the Attribute manager, where you can edit their values numerically. The F-Curve manager is linked to the Timeline. Keys that you move in the F-Curve manager are moved automatically in the Timeline and vice versa. Navigation short-cuts Action Result 1 + drag scrolls the F-Curve display. 2 + drag scales the F-Curve display. 4 + drag moves an F-Curve vertically in relative mode (see below). 5 + drag scales an F-Curve vertically in relative mode (see below). Relative mode The 4+drag and 5+drag short-cuts (see above) move and scale the F-Curve using a special relative mode. Suppose you have several F-Curves that are very far apart and you choose Frame All. It is difficult to compare and edit these curves when zoomed out so far because they all appear flat (see Figure 1, below). In such cases, use the 4+drag short-cut to move the F-Curves closer together in the F-Curve manager so that Frame All will include all of the curves without having to zoom out so far (see Figure 2). Now you will be able to see the details of each curve relative to each other without affecting the animation. Edit the F-Curves as desired. Likewise, you can use the 5+drag short-cut to scale the F-Curves in relative mode. Figure 1: After choosing Frame All. Here it is difficult to edit the curves because they are zoomed out so far they appear flat. Figure 2: The Position.Z curve has been moved and scaled in relative mode using the 4+drag and 5+drag short-cuts. Now editing is much easier. 950 • CHAPTER 20 When you move and scale F-Curves in relative mode, the real values of the keys are not changed. All that you’re doing is moving and scaling the F-Curves closer to each other so that you don’t have to scroll and zoom each time you want to edit a different F-Curve. F-Curves that you’ve moved or scaled in this way are indicated by an ‘R’ just to the left of the F-Curve (see Figure 2). Keep in mind that the real values of these relative F-Curves no longer correspond to the values along the X-axis and Y-axis of the F-Curve manager. To return a relative F-Curve to its normal state so that its values once again correspond to the F-Curve manager’s X-axis and Y-axis, use the Reset Relative command. F-Curve List Using this list, you can quickly control which elements’ F-Curves are displayed in the F-Curve manager. By default, the F-Curve List is integrated into the F-Curve manager, which you open by choosing Window > F-Curve Manager from the main menu. If the F-Curve List isn’t displayed in the F-Curve manager, open it by choosing Edit > F-Curve List from the F-Curve manager’s menu. As with the Object manager, click the hierarchy symbol (‘+’ or ‘–’) to open or close a hierarchy. Select the F-Curves that you want to be displayed in the F-Curve manager. To select an F-Curve, click its name. To add an F-Curve to the selection, Shift-click its name. To remove an F-Curve from the selection, Ctrl-click its name. You can also select object names, in which case all of the object’s F-Curves are selected. In addition, you can drag a selection rectangle over F-Curves and/or objects to select them. If you hold down Shift while you drag the selection rectangle, the elements within the rectangle will be added to the selection. The Add Folder button creates a folder into which you can drag objects or F-Curves for better organization. The Remove button removes the selected objects and F-Curves from the window.  The Add Folder and Remove buttons are available in manual mode only. The lock icon next to each F-Curve controls whether the F-Curve can be edited in the F-Curve manager. A white, opened lock means its F-Curve is editable, while a black, closed lock prevents changes. To change a lock’s status, click the lock. In addition, you can change the colors that are used to display the F-Curves in the F-Curve manager. In the F-Curve List, click an F-Curve’s color box. The system’s color picker opens. Choose the new color for the F-Curve and click OK. F-CURVE MANAGER • 951 F-Curves in the Timeline When working with F-Curves in the Timeline, to access an F-Curve, click on the ‘+’ symbol that is just to the left of the track’s name. To create a new key, Ctrl-click on the F-Curve. To select a key, click it. To select multiple keys, click on one of the keys and then Shift-click on the remaining keys. You can also drag a rectangle selection to select keys — all keys inside this box will be selected when you release the mouse button. Hold down Shift at the same time if you want to add the keys to the selection. You’ll see the parameters for the selected keys appear in the Attribute manager, where you can edit their values. To move the selected keys, drag any one of them. To delete the selected keys, press Backspace. To display a key’s tangents, set its interpolation to Custom. To move a tangent arm independently of the other arm, Shift-drag the tangent. To change the length of the tangent and keep it pointing in the same direction, Alt-drag the tangent. Navigation short-cuts Action Result 1 + drag scrolls the Timeline display horizontally/vertically. 2 + drag scales the Timeline display horizontally. 4 + drag scrolls the F-Curve display vertically. 5 + drag scales F-Curve display vertically. 952 • CHAPTER 20 Edit Menu Undo, Redo Undoes the last change you made in the F-Curve manager; select the command multiple times to undo the changes you’ve made one by one. Redo undoes the last undo. Delete Deletes the selected keys. Select All, Deselect All, Invert All Use these commands to select all keys, deselect all keys and invert the selected keys. Remove All Hides the selected F-Curves. The curves still exist, but are no longer displayed. F-Curve List Opens the F-Curve List. Since the F-Curve List is integrated into the F-Curve manager by default, you’ll only need to use this command if you have previously undocked the F-Curve List. Snap To Frame If you want the keys to snap to frames when moved, enable this option. Automatic Mode You can use this option to switch between manual and automatic mode. F-CURVE MANAGER • 953 View Menu Frame All Zooms all F-Curves to fit the window. Frame Selection Zooms the selected keys to fit the window. Auto Relative Auto Relative scales each curve to fit the 0-100 range of the F-Curve manager’s Y-axis using a special relative mode. The real values of the keys are not changed. All that you’re doing is moving and scaling the F-Curves closer to each other so that you don’t have to scroll and zoom each time you want to edit a different F-Curve. These relative F-Curves are indicated by an ‘R’ just to the left of the F-Curve. Keep in mind that the real values of these relative F-Curves no longer correspond to the values along the X-axis and Y-axis of the F-Curve manager. To return the relative F-Curves to their normal state so that their values once again correspond to the F-Curve manager’s X-axis and Y-axis, use the Reset Relative command. After using Auto Relative, use Frame All to scale the F-Curve manager’s 0-100 vertical range to the full vertical height of the window.” See also ‘Relative mode’ earlier in this chapter and ‘Reset Relative’, below. Reset Relative If you’ve used the Auto Relative command or the 4+drag and 5+drag short-cuts to create relative F-Curves (indicated by an ‘R’ to the left of each F-Curve), the real values of the F-Curves no longer correspond to the values along the X-axis and Y-axis of the F-Curve manager. Choose Reset Relative to return the relative F-Curves to their normal state so their values once again correspond to the F-Curve manager’s X and Y-axes. See also ‘Relative mode’ earlier in this chapter and ‘Auto Relative’, above. Crosshairs Switches on cross hairs for the selected keys. This makes it easier to read the values of selected keys along the X-axis and Y-axis. Grid Switches on the F-Curve manager’s grid. 954 • CHAPTER 20 Velocity Displays the velocity of all curves in the same color. You cannot edit the velocity of curves directly, since it is derived from the F-Curves. To change the velocity, edit the F-Curves. Curves Menu Custom Tangents Linear Interpolation / Soft Interpolation Linear Interpolation. Soft interpolation. F-Curves are Bezier curves. Just like a Bezier spline, you can define hard or soft interpolation between points. Linear Interpolation sets the tangent lengths of the selected keys to 0, while Soft Interpolation creates tangents for the selected keys to ensure smooth curvature. Unify Before. After. Use Unify if you’ve moved a tangent handle independently of its twin and you want to straighten up the tangent pair. The right tangent handle adapts to the position and size of the left handle.  To move a tangent handle independently of its twin, ensure that Link Tangents is disabled (Attribute manager) and Shift-drag the handle that you want to move. Flat Horizontally aligns the tangents of the selected keys. F-CURVE MANAGER • 955 Function Formula The F-Curve produced by the formula sin(t*2*pi). Using the Formula command, you can use math functions to create almost any shape of curve. The Keys value defines the number of keys that will be created. The variable ‘t’ represents time and may have a value from 0 (the start of the sequence) to 1 (the end of the sequence). Angles must be entered in radians. You can use the following math functions: ABS Absolute value LOG Logarithm ACOS Arc cosine SIN Sine ASIN Arc sine SINH Hyperbolic sine ATAN Arc tangent SQR Square COS Cosine SQRT Square root COSH Hyperbolic cosine TAN Tangent EXP Exponential function TANH Hyperbolic tangent LOG10 Base 10 logarithm Ramp Up, Ramp Down Creates a curve that rises (Ramp Up) linearly from 0 to 100 over the length of the sequence, or a curve that falls (Ramp Down) linearly from 100 to 0 over the length of the sequence. Ridge Creates the curve shape shown above. 956 • CHAPTER 20 Ease In, Ease Out Ease in. Ease out. The Ease In and Ease Out commands help you to achieve realistic motion by adding acceleration and deceleration phases to the animation (ease in and ease out). The commands affect the selected keys only. With Ease In, the change in the parameter slows to a virtual standstill before each selected key. With Ease Out, after each selected key, the change in the parameter gains slowly at first, then ever faster. Easy Ease Before. After Easy Ease has been applied to the top keys. The areas before and after each selected key are smoothed out. In terms of the animation, the change in the parameter comes to a standstill before and after the smoothed keys, then accelerates sharply. Easy ease cannot be applied to two consecutive keys. Hold Before. After Hold has been applied to the top keys. The curve holds the value of each selected key until the next key is reached, at which point the curve jumps abruptly to reach the point. F-CURVE MANAGER • 957 Clamp Before. After. Suppose your curve has neighboring keys, each set to the same value, and you want a straight line between them to ensure that the parameter stays at the same value. However, soft interpolation curves the line curved between the keys. To straighten the curve between neighboring keys of the same value, select the keys and choose Clamp. Move Moves the selected keys by specific values. In the dialog that opens, set Time to the movement along the X-axis, set Data to the movement along the Y-axis and click OK to move the keys. If instead you want to move the points freely, drag one of the selected points in the F-Curve manager. Scale Scales the selected keys and their tangents. In the dialog, set Time to the horizontal scaling factor and set Data to the vertical scaling factor. For example, set Time to 2, set Data to 1 and click OK to double the size of the keys along the X-axis. The origin of scaling is the left-most key. Mirror X, Mirror Y These commands mirror the selected keys and their tangents horizontally (Mirror Y) or vertically (Mirror X). Select at least two keys before choosing this command. Cycle Before. After. This command repeat a group of selected keys. Set Copies to the number of repetitions. The start of the first repetition is joined to the end of the selection, the start of the second repetition is joined to the end of the first repetition and so on. Select at least two keys before choosing this command. 958 • CHAPTER 20 Cycle With Offset Before. After. This command is similar to Cycle except that each repetition begins at a height equal to the height of the highest key in the selection (or previous repetition). Select at least two keys before choosing this command. Bake Curve This command lets you add keys to the curve without changing its shape. This is especially useful if you’ve created the general shape of the curve and you want to add fine details. In the dialog that opens, Frequency defines the number of frames between each key. For example, to create a key once every five frames, set Frequency to 5 and click OK. A Frequency of 1 generates the most keys — one key per frame. Simplify Curve  Proceed with caution when using the Simplify Curve command, to avoid ruining the curve. Approach your optimal curve slowly and reject over-simplified results with the Undo command. This command essentially does the reverse of Bake Curve. Use Simplify Curve to reduce the curve’s number of keys. This is especially useful when you’re working with motion capture data that has hundreds or even thousands of keys and you want to reduce the number of keys to make the curve easier to edit. The command opens the Simplify Curve dialog. The X and Y tolerance values define the gap between each key along the horizontal and vertical axes. For example: - To create a curve with a minimum of 10 frames between consecutive keys, set X to 10 and click OK. - To create a curve with a minimum of 50 units along the Y-axis between consecutive keys, set Y to 50 and click OK. - To do both of the above at the same time, set X to 10, set Y to 50 and click OK. 21 Attribute Manager ATTRIBUTE MANAGER • 961 21 Attribute Manager 1. Displayed parameter groups. 2. Lock/unlock. 3. Selected parameter. 4. Parameter has a key at the current frame (indicated by a filled red circle). 5. Parameter has an animation track but no key at the current frame (hollow red circle). 6. Keyframe selection (red highlighting). 7. User-defined slider. 8. Open new Attribute manager (right icon). 9. Parameter cannot be animated (no circle). 10. History buttons. The Attribute manager gives you quick access to almost every parameter in CINEMA 4D, including the parameters of object, tags, materials, shaders and nodes. In addition, you can animate directly in the Attribute manager without ever opening the Timeline! You can animate all parameters that have a circle next to their name. Changes made in the Attribute manager are carried out in realtime in the respective windows (viewport, Timeline, XPresso editor, etc.). Although only one Attribute manager appears in the default layout, you can open additional Attribute managers. To open a new Attribute manager, click the top-right icon (Figure 1, point 8). By default, the Attribute manager displays the parameters of the currently selected elements (objects, tags, materials etc.). This means that you need to select an element before you can edit its parameters. If your scene has an object that you frequently need to edit, create a new Attribute manager and lock it to always display that object’s parameters no matter which elements are currently selected. You’ll then be able to edit the object’s parameters without first having to select it, saving you time. To lock an Attribute manager to specific elements, select the desired elements then click the lock icon (near the top right corner of the Attribute manager — see Figure 1, point 2). To unlock, click the lock icon once more. 962 • CHAPTER 21 Recording keys in the Attribute manager To record a key for the parameter at the current frame, Ctrl-click on the parameter’s circle. Ctrl-click the circle again to delete the key at the current frame. To delete a parameter’s animation track, Ctrl-Shift-click on the parameter’s circle. Editing parameters To edit a parameter in the Attribute manager, do one of the following: - Enter the new value into the parameter’s text box. - Next to the parameter’s text box, you’ll find two arrowheads, one pointing up the other pointing down. Drag these arrows up or down to increment or decrement the value. - Position the mouse pointer on the parameter’s text box and rotate the mouse wheel (if present and supported by your operating system) to increment or decrement the value. You can also make relative adjustments to multiple selected objects. For example, suppose a sphere is positioned at (100,0,0) and a cube at (300,0,0). Select both objects and in the Attribute manager, on the Coord tab, enter ‘x + 100’ into the P.X box. Both objects will be moved 100 units along the X-axis. You can also enter equations, such as ‘sin(x)+sqr(x*324)’. The ‘x’ represents the parameter’s original value. Navigating the Attribute manager Near the top of the Attribute manager you’ll find tabs for each parameter group of the selected elements. To display a group’s parameters, click on its tab. The parameters will appear below the tabs, where you can edit them. To display multiple parameter groups, right-click (Windows) or Shift-click (Mac OS) each group’s tab. To remove a tab from the selection, right-click or Shift-click the tab again. Selected tabs are highlighted with a bright color. ATTRIBUTE MANAGER • 963 There are further ways to navigate the Attribute manager: - Drag, say, a material from the Material manager and drop it onto the parameter group tab for a Texture tag. The tab will be activated if it isn’t already. - Click and hold down the mouse button and drag over the parameter groups that you want to display. Scroll bars will appear if there is insufficient display space. To scroll the display space, drag the scroll bars or click in an empty part of the window and drag. Drag from an empty part in the Attribute manager to scroll the parameters. History Buttons You’ll find three history buttons above the parameter group tabs: a left arrow, right arrow and an up arrow. CINEMA 4D keeps track of the history of elements already displayed in the Attribute manager — use these buttons to navigate through them. Click the left or right arrow button to move back or forward one element in the history respectively. 964 • CHAPTER 21 Click the up arrow button to move up by one hierarchical level. This also works with shaders. For example, suppose you have created a material and loaded the Fusion shader into its color channel. You have also loaded shaders into the Fusion shader itself, i.e. you have shaders within shaders. Using the up arrow button, you can display the settings that are on the next level up. History menu Right-click (Windows) or Command-click (Mac OS) on a navigation arrow to open the History menu. This lists the last ten elements displayed in the Attribute manager — choose an element from the list to display its settings. This saves you from having to click the arrows multiple times to reach the settings of an element several steps back in the history. The Attribute manager’s context menu To access the Attribute manager’s context menu, right-click (Windows) or Command-click (Mac OS) a parameter. Using the commands on the context menu, you can record keyframes, create set driven keys and much more. Animate without ever looking at the Timeline! Animation Add Keyframe Records keyframes for the selected parameters at the current frame (as indicated by the time slider). Alternatively, Ctrl-click the circle next to one of the selected parameters’ names. ATTRIBUTE MANAGER • 965 Next Keyframe, Previous Keyframe Moves the time slider to the next/previous keyframe (if present) for the selected parameters. Delete Keyframe Deletes all of the selected parameters’ keyframes at the current frame. Alternatively, Ctrl-click the red circle next to one of the selected parameters’ names.  Each parameter with a filled red circle next to its name has a keyframe at the current frame. Add Track Creates tracks for the selected parameters. Copy Track, Paste Track Use these commands to copy tracks between parameters. First, select the parameters whose tracks you want to copy. Choose Copy Track. Next, select the parameters that should receive the tracks and choose Paste Track. Delete Track Deletes all tracks of the selected parameters. Alternatively, Ctrl-Shift-click the circle next to one of the selected parameters’ names. Show Track Shows all animation tracks of the selected parameters in the Timeline. Show F-Curve Shows all f-curves of the selected parameters in the F-Curve manager. Set Driver, Set Driven Using these commands, you can create set driven keys directly in the Attribute manager without having to open the XPresso Editor. A set driven key uses one parameter to drive (i.e. control) another parameter. For example, you might use a set driven key to make a car’s electric windows wind down when a character presses the switches. Almost any type of set-driven relationship is possible, making it easier to manage complex motions or objects. Example - In the Object manager, create a sphere and a cube. We’ll use the sphere’s height to drive (i.e. control) the cube’s height. So that you can see the sphere clearly, move the cube along its X-axis until it’s next to the sphere. - In the Object manager, click the sphere’s name to select it and display its settings in the Attribute manager. 966 • CHAPTER 21 - In the Attribute manager, right-click (Windows) or Command-click (Mac OS) the P.Y box to access its context menu. From this menu, choose Animation > Set Driver. (The P.Y box controls the sphere’s height, i.e. its Y position.) - In the Object manager, click the cube’s name to select it and display its settings in the Attribute manager. - In the Attribute manager, right-click (Windows) or Command-click (Mac OS) the P.Y box to access its context menu. From this menu, choose Animation > Set Driven (Absolute). - Move the sphere in the viewport. The cube automatically moves to the height of the sphere. If you open the XPresso editor by double-clicking the cube’s XPresso tag, you’ll see that three nodes have been created: Sphere, Range Mapper and Cube. The Sphere node passes the sphere’s Y position to the Range Mapper, which, in this case, simply passes the value straight on to the cube’s Y position. As a result, the cube continually inherits the sphere’s height. For this simple example, the Range Mapper has no significance. However, the Range Mapper is useful in cases where the relationship between the driver and driven parameter is not 1:1. For example, using a Range Mapper, you can remap brightness values within the range 0-100% to position Y values within the range 0-10,000 m. When the light’s Brightness is 80%, the Y position of the driven object will be 8,000 m (80% of 10,000 m). For more details on the Range Mapper node, look up ‘Range Mapper node’ in the index. Set driven keys also enable you to drive object parameters using your own sliders. To learn how to create your own sliders, look up ‘User Data’ in the index. Set Driven (Absolute), Set Driven (Relative) With Absolute, the driven parameter uses exactly the same value as the driver. For example, if one object drives the height of another, the driven object will move to exactly the same height as the driver. Relative, on the other hand, only passes on relative changes from the driver to the driven parameter. For example, if the driver object is moved up 10 units in relative mode, the driven object also moves up 10 units from wherever it happens to be in the scene. Suppose the driver object has an initial height of Y=1,000 and the driven object an initial height of Y=0. If you move the driver object to a height of 1,050 (a change of 50 units), the driven object also moves up 50 units, to Y=50. Add Keyframe Selection To create a keyframe selection, select several parameters and choose Add Keyframe Selection. The selected parameter names are shown in red to indicate that they belong to the keyframe selection. When you use CINEMA 4D’s autokeying mode, all parameters in the keyframe selection will be recorded (provided their values actually change). For example, if you define the color of a light as a keyframe selection, the subchannels will be highlighted in red, not the light itself. The same applies to all parameters that have subchannels. ATTRIBUTE MANAGER • 967 Remove Keyframe Selection Removes the selected parameters from the keyframe selection. Clear Keyframe Selection Deletes all keyframe selections for the selected objects. User Interface This submenu appears when only one parameter is selected. It allows you to adjust the parameter’s interface. For an existing parameter, you usually have a choice between a numeric text box (Float), a slider (Float Slider — No Edit Field) or a combination of both (Float Slider). Normal text box for Subdivision Renderer. Text box and slider for Subdivision Renderer (User Interface > Float Slider chosen). To control the minimum and maximum values of user-defined sliders, choose the Edit Entry command and in the dialog that appears, set Min and Max to the desired values. Show Subchannels Some elements, such as color fields, can also be displayed numerically. Show Subchannels disabled. Show Subchannels enabled. Copy, Paste Use these commands to copy values between parameters. Select the parameters whose values you want to copy. Choose Copy. Next, select the parameters that should receive the copied values and choose Paste. Paste Identical Suppose there are two cylinders in the scene. You select one of the cylinders, select its Radius and Height parameters in the Attribute manager and choose Copy to copy the two values. If you then select the other cylinder and choose Paste Identical, the two values will be pasted to the same parameters — Height and Radius — regardless of which parameters are currently selected. This is in contrast to the Paste command, which pastes to the selected parameters. 968 • CHAPTER 21 Select All, Deselect All Select or deselect all parameters. Edit Entry If you’ve used the Attribute manager’s Add User Data command (User Data > Add User Data) to create your own sliders or other GUI elements, use Edit Entry to edit these GUI elements. For example, you can change the minimum and maximum values for sliders. Remove Entry To delete a slider or other GUI element that you’ve created, select the element and choose Remove Entry. Load Data, Save Data The Save Data command enables you to save the values of the selected parameters. This is especially useful for saving complex spline graphs. To add a spline graph as user data, in the Attribute manager choose User Data > Add User Data and in the dialog that opens, set Data Type to Spline and click OK. The spline graph appears below the existing parameters. To load saved data, select the parameters that should receive the data and choose Load Data. Use your system’s file selector to choose the data file. The saved data and the selected parameters must be of the same data type. For example, you cannot load real values into parameters whose data types are set to Integer. Add To HUD Adds the selected parameters to the HUD. For a description of the HUD, look up ‘HUD’ in the index. Multiple selection CINEMA 4D allows you to select multiple objects. When different types of object are multiple selected, then the Attribute manager will only display the tabs that are present for all selected objects. For example, if you select a Spline object and a Bend object, only the Basic Properties and Coordinates tabs will be displayed, because they are the only two tabs these different types of object have in common. With a Capsule object and a Cylinder object selected, four parameter groups will be displayed: Basic Properties, Coordinates, Object Properties and Slice. A shaded parameter box indicates that the parameter has different values for the selected elements. To assign the same parameter to all selected elements, enter the desired value into the shaded input box. ATTRIBUTE MANAGER • 969 In the example above, two spheres have been selected in order to display their parameters in the Attribute manager. The shaded Radius box indicates that the spheres have different radius values. To set both spheres to the same radius, enter the desired value into the shaded box for Radius. The box will turn white to indicate that the parameter now has the same value for both spheres. The Attribute manager’s menu These commands enable you to choose the Attribute manager’s display mode, copy and paste parameter values, add your own sliders and more. Mode Lock Element, New Attribute Manager The lock feature is most useful when a single parameter of many objects must be changed frequently. By default, the Attribute manager displays the parameters of the currently selected elements (objects, tags or materials etc.). If your scene has an object that you frequently need to edit, create a new Attribute manager and lock it to always show the object’s parameters no matter which elements are currently selected. You’ll then be able to edit the object’s parameters without first having to select it, saving you time. To create a new Attribute manager, choose New Attribute Manager. To lock the new Attribute manager to a specific object (or objects), in the Object manager select the desired object to load its settings into the new Attribute manager. Then, in the new Attribute manager, choose Lock Element. The new Attribute manager now displays the parameters of the object permanently, even when other objects are selected in the Object manager. To unlock the Attribute manager so that it once again shows the parameters of the currently selected elements, choose Lock Element again.  You can also create a new Attribute manager or lock/unlock the Attribute manager using the two icons in the top-right corner of the Attribute manager. Click the lock icon to lock/unlock. Click the icon to the right of the lock to create a new Attribute manager. 970 • CHAPTER 21 Choosing the display mode Suppose an object and the Knife tool are currently selected. The Attribute manager can only display one type of settings at a time, so how does it know whether to display the object’s settings or the knife’s settings? This is precisely what the display mode allows you to control. You can switch which element is displayed using the Mode menu. Returning to the example, if the object’s settings are currently displayed, you can display the knife’s settings instead by choosing Mode > Tool. The Attribute manager will switch modes automatically when you select a new element in order to display that element’s settings. Note that the View Settings mode refers to the viewport settings (viewport: Edit > Configure). Configure Modes Choose this command to open the Select Modes dialog. In this dialog, enable or disable the various options to choose which element types the Attribute manager is able to display. For example, if you want the Attribute manager to show object parameters only, disable all options apart from Object. Edit Copy, Paste Use these commands to copy values between parameters. Select the parameters whose values you want to copy. Choose Copy. Next, select the parameters that should receive the copied values and choose Paste. Select All Selects all parameters. Deselect All Deselects all parameters. ATTRIBUTE MANAGER • 971 User Data Add User Data Use this command to add your own GUI elements such as sliders. These GUI elements are stored by the object and appear in the Attribute manager each time you select the object until you specifically delete them. The GUI elements have the following functions: - You can use the GUI elements to drive other parameters. To learn how to create set driven keys, look up ‘set driven keys’ in the index. - You can add user data ports to the object’s node (in the XPresso Editor, via the node’s inputs and outputs menus). This enables you to pass the user data from node to node. Name Enter a name for the GUI element. This name will be used in the XPresso Editor for the user data’s ports. To add a port for the user data, in the XPresso Editor, click the object node’s Inputs or Outputs menu. From the User Data submenu, choose the user data’s name. Data Type Choose the parameter’s data type from the drop-down list. For example, if you want the parameter to define a color, set Data Type to Color. For details on each data type, look up ‘data types’ in the index. Interface If you’ve set Data Type to String, Integer or Float, use Interface to choose the parameter’s interface. For example, if Data Type is set to String, you can choose whether the parameter’s text box should have a single line or multiple lines. The options available depend on the Data Type setting. 972 • CHAPTER 21 String Interface set to String (upper parameter) and Multi Line String (lower parameter). Integer Interface set to Integer (upper parameter) and Integer Slider (lower parameter) . Float From top to bottom: Interface set to Float, Float Slider and Float (No Edit Field). Unit Choose the parameter’s units: Real, Percent, Degree or Meter. Although nodes work in radians instead of degrees (360˚ = 2*pi radians), by setting Unit to Degree you are able to enter values in degrees. The values you enter are converted to radians automatically before being passed on to the nodes. For example, a value of 180˚ will be converted to 3.141952 radians (pi). Percentage values are converted from within the range 0%-100% to within the range 0-1. Min, Max Define the minimum and maximum values for the GUI element, such as 0˚ and 360˚. Step Defines the amount by which the parameter is incremented/decremented when you click its arrowheads. Also defines the snapping distance for the slider, i.e. the minimum change possible by dragging the slider. 22 XPresso Editor XPRESSO EDITOR • 975 22 XPresso Editor In earlier releases of CINEMA 4D, to create extra interactions between objects required you to manually program C.O.F.F.E.E. expressions; and you can still do this if you wish. However, with CINEMA 4D’s XPresso node editor, you can set up complex, automated object interactions simply, by drawing lines from one object to another. From muscles that bulge automatically to eyes that blink at random, from clock mechanisms to light switches that really work when your characters press them, XPresso enables you to automate animations with ease. The XPresso Editor is the place where you build these behaviors, which are called expressions. To create a new expression and open the XPresso Editor, in the Object manager, select any object and choose File > CINEMA 4D Tags > XPresso. You can close the editor at any time and reopen it by double-clicking the XPresso Expression tag. Nodes are the building blocks of your XPresso expressions. Nodes can perform a wide variety of tasks, from reporting the animation’s current frame number to setting an object to a particular position. To build your expression, you create the necessary nodes and connect them to one another by drawing lines, called ‘wires’, between the node input and output ports. The nodes are then able to pass values to one another via these ports and wires. The illustration above shows two nodes: one for a cube and another for a cylinder. The red and blue circles, both labelled Rotation, are ports. Red ports are output ports and send values to XGroups or other nodes. Blue ports are input ports and receive values from other nodes or XGroups. In this example, the cube’s rotation value is being sent to the cylinder. This will cause the cylinder to point in the same direction as the cube in the viewport. To learn XPresso as quickly as possible, we recommend that you work through the tutorials in the CINEMA 4D Tutorial manual and, if something isn’t clear, look it up in this reference for a full description. In addition, you’ll also find a variety of example expressions on your CINEMA 4D CD, each documented with comments. Much can be learnt from these examples by reading the comments and then trying out your own changes. 976 • CHAPTER 22 XGroups XGroups are containers for nodes, other XGroups and their wires. Like real containers, XGroups help you to put related items ‘in the same box’ for better organization. You’ll then find it easier to understand, navigate and modify the expression. In addition to acting as a container, an XGroup can be connected to nodes and other XGroups. You can save and load XGroups to reuse them in other projects. Use XGroups to organize nodes into groups. You can navigate the contents of an XGroup in a similar way to the CINEMA 4D viewport. To move or zoom the contents, drag the move or zoom icon in the top right corner of the XGroup. You can also move the contents by pressing the cursor keys. To add ports to the XGroup, choose the desired ports from the XGroup’s inputs menu (blue square) and outputs menu (red square). To minimize an XGroup to its title bar, double-click the title bar. To restore an XGroup window to full size, double-click the title bar again. To move an XGroup, drag its title bar. To re-size an XGroup, drag a side or corner. When creating your own expressions, you’ll often need to select an XGroup to, among other things, load its settings into the Attribute manager so that you can edit them. To select an XGroup, click the XGroup’s title bar. To select multiple XGroups, drag a marquee over them, or select one of the XGroups then Shift-click the other XGroups that you want to select; selected XGroups have red borders. Inputs First On the Attribute manager’s Node Properties page, you’ll find an option called Inputs First. If this option is enabled, nodes that are outside the selected XGroup are evaluated first. This is especially important when the XGroup receives values from the nodes, to ensure that the XGroup receives upto-date values. Active This option allows you to switch the XGroup on (active) or off. The nodes inside the XGroup will only be processed if the XGroup is active. You can also switch the node on by passing a Boolean value of True or the value 1 to its Enable port. Protect / Unprotect You can password protect XGroups using this button, which will hide the contents of the XGroup until the password is entered. To protect an XGroup, first choose View > Locked to lock the XGroup’s contents. In the Attribute manager, click on the Protect button. In the dialog that opens, enter your password for the XGroup. The XGroup will now be password protected. XPRESSO EDITOR • 977 To unprotect an XGroup, you do almost the same as you did to protect it, except in reverse. First, click on the Unprotect button and enter your password into the dialog that appears. To reveal the contents of the XGroup, disable View > Locked from the context menu and choose the desired display mode from the context menu’s View submenu. Nodes  CINEMA 4D’s nodes work in radians. In other words, nodes use angular values from 0 to 2*Pi rather than degrees from 0 to 360˚. If you want to work in degrees, use the Degree node to convert from radians to degrees, and vice versa. Nodes are the primary building blocks of expressions and are designed to carry out the most diverse of tasks, from reporting an object’s current position to processing math operations. Depending on the node’s type, you can add various inputs and outputs to the node called ports. As with XGroups, you add these ports using the inputs menu and outputs menu (the blue and red squares respectively in the node’s title bar). Four nodes. The Result node shows the value 1 if the cone and cube are at the same height (Y value). You can minimize or maximize a node by double-clicking its title bar; to move a node, drag its title bar; to re-size a node, drag a side or corner. Click a node to select it and load its settings into the Attribute manager. To select multiple nodes, drag a marquee over them or select one of the nodes then Shift-click the other nodes that you want to select; selected nodes have red borders. You can switch nodes on or off via the Enabled option in the Attribute manager or the Disable option from the node’s context menu, which is described later in this chapter. To rename a node, select the node and enter its new name on the Attribute manager’s Basic Properties page. The default name of a node indicates its type. If you rename a node, you can check its type in the Attribute manager. You can also set the node’s data type in the Attribute manager; this defines what type of data the node handles, such as integers or strings. You can reassign an Object, Material or Tag node to a different object, material or tag. Simply drag and drop the object, material or tag onto the inner part of the node (i.e. into the area where the port names usually appear). The original ports will be preserved if still appropriate for the new object, material or tag. Ports that cannot be preserved will be set to the ‘undefined’ status. Each XPresso node is described later in this chapter. 978 • CHAPTER 22 Ports Ports are the inputs and outputs of nodes and XGroups. To add a port, choose the desired port from the inputs menu (blue square) or outputs menu (red square); in these menus, ports that have already been added are ghosted. Add ports using the inputs and outputs menus (the blue and red squares in the node’s top corners). Values are passed via ports. Output ports are shown as red circles, input ports as blue circles. Red ports are output ports and send values to other nodes or XGroups. Blue ports are input ports and receive values from other nodes or XGroups. To connect an output port to an input port, drag and drop the circle of one port onto the other. A wire will connect the ports, as illustrated below. To connect ports, drag and drop one port onto the other. Various commands that are specific to ports are available from the port’s context menu. If a node or XGroup is selected and has unconnected ports, these are shown on the Attribute manager’s Parameter page (does not apply to Object nodes); you can send values to these ports by entering values on this page. This can be especially useful for testing nodes with particular values. The Attribute manager also enables you to send your own data to nodes (see ‘User Data’, below). To display a port’s name, hover the mouse pointer over the port and its name will appear in the XPresso Editor’s status bar. (To switch on the status bar, enable the Show Status Bar option on the XPresso Editor’s Layout menu). To display port names, enable the Ports > Show Names option on the context menu. Double-clicking on a port will disconnect it. If the port is already disconnected, double-clicking on the port will delete it instead. To change a port’s vertical order, Alt-drag the port and drop it in its new position. User Data User Data ports enable you to send your own values to nodes via the Attribute manager. To create a User Data port - In the Object manager, select the object to which the port should be added. Only user data added to objects in the Object manager can be used in the XPresso Editor. User Data added to XGroups cannot be used in the XPresso editor. - In the Attribute manager, choose User Data > Add User Data. In the dialog that opens, set the port’s parameters as desired, then click OK. XPRESSO EDITOR • 979 - Click the node’s inputs menu (the blue square) and choose the name of the User Data port. You will now be able to send values to the port via the User Data parameter on the Attribute manager’s User Data page. See the XPresso tutorial in the CINEMA 4D Tutorial manual for a working example of why user data is useful. Wires Wires enable you to connect the ports of nodes and XGroups. To enable nodes and XGroups to pass values to one another, you must first create the necessary ports and connect those ports using wires. To create a wire between two ports, drag the circle of one port and drop it onto the other. A line appears while you drag that snaps to the second port when the mouse pointer is close to it. Some connections are not allowed. For example, you cannot connect input ports together or output ports together, nor can you connect ports that have incompatible data types. While you draw the wire, its color changes to indicate whether the connection is allowed (green) or not allowed (dark grey). If the connection is not allowed, the wire will be deleted as soon as you release the mouse button. An output port may be connected to multiple input ports, thus enabling you to pass the same value to several nodes or XGroups. However, an input port may have one connection only. To connect an output port to an input port of the same node, copy the node (hold down Ctrl and drag and drop out a copy) and connect the output port of the first node to the input port of the second node. If you accidentally connect a wire to the wrong port, you can reconnect it by dragging and dropping the wire onto the correct port. If you drop the wire onto an empty space (i.e. not onto a port), the wire will be deleted as soon as you release the mouse button. You can also delete wires by choosing Remove Wires from the port’s context menu. If the wires in an expression are tangled, reposition the ports by Alt-dragging each port to a new position. You can reposition vertically only. You cannot, for example, Alt-drag an input port from the node’s left edge to the right edge. 980 • CHAPTER 22 Wires will convert compatible data types automatically. For example, if you pass a real value, such as 72.163, to a node that works with integers only, the connecting wire will convert the real value to an integer automatically — in this case, to 72. Creating a new XPresso expression The first step in building an expression is to add an XPresso tag to one of the objects in the scene (Object manager: File > CINEMA 4D Tags > XPresso). Although this can be any object in the scene, you’ll probably want to assign the tag to an object that is somehow involved in the expression. Once you’ve assigned the tag, the XPresso Editor opens — this is where you build your expressions. You can close the editor window at any time; to re-open it, double-click the XPresso tag in the Object manager. Setting the priority Depending on the scene, the priority of expressions can be critical. For example, suppose your scene has an expression that hovers a rain cloud over a character’s head for a number of frames while the character (named Bob) is walking. In this case, it is essential that the expression is evaluated after Bob’s animation, otherwise the rain cloud would be placed over Bob’s old position and would lag one frame behind. By setting the priority of your expressions, you can ensure they are evaluated at the right time. XPriority To set the expression’s priority, in the Object manager select its XPresso tag and, in the Attribute manager, set XPriority to the desired priority. The expression will be evaluated at the same time as the group that you choose from this dropdown list (provided that the value in the adjacent input box is 0). The order of evaluation in the XPriority drop-down list is from top to bottom. For example, if you set XPriority to Expressions, the expression will be calculated at the same time as CINEMA 4D’s built-in expressions, i.e. after animation and before dynamics. Returning to the rain cloud example, this would ensure that the rain cloud is positioned after Bob’s animation rather than before, thus preventing the time-lag problem. Now suppose you create a new scene, this time of a mother hen walking and her two chicks following. You create two expressions: Follow Mum (to make the first chick follow the hen) and Follow Chick One (to make the second chick follow the first chick). So that the second chick follows the first chick’s current position, Follow Mum must be evaluated before Follow Chick One. Otherwise, the second chick would follow the first chick’s position from the previous frame, causing the time-lag problem once again. XPRESSO EDITOR • 981 In these cases, use the input box to control the order in which expressions of the same XPriority are evaluated. Enter a number from -500 to 500 for each expression. The expressions will be evaluated in numerical order, lowest number first. Recall that, provided the value in the input box is 0, the expression will be evaluated at the same time as the group that you choose from the XPriority drop-down list. If you enter a value less than 0, the expression will be evaluated before the group. A value greater than 0 will see the expression evaluated after the group. Camera Dependent This option determines whether the expression is calculated and its result displayed while the camera is being rotated or moved. By disabling this option you can dramatically speed up the redraw rate in the viewport for some expressions, such as the Target tag. Data types Each node and XGroup has a data type that defines the type of value it uses, such as Integer, Vector or Color. If you connect two nodes that use different data types, the wire between the nodes converts the data type automatically if the types are compatible. For example, if a Constant node passes a Real value of 3.45 to a Result node whose data type is set to Integer, the value will be converted to an integer automatically — in this case, to 3. Although some nodes have a fixed data type that cannot be changed, you can change the data type of most nodes in the Attribute manager. Bool The Bool data type has two possible states: True or False. These states are represented by the numeric values 1 (True) and 0 (False). Although you can use Bool values in math calculations, keep in mind that the Bool data type is able to hold a value of 0 or 1 only. When you want to combine several Bool values, use Logic nodes. Color This data type consists of the color components red, green and blue. The RGB values can also be interpreted as a vector — so the color R:10, G:75, B:0 would equate to the vector (10;75;0). This enables you, for example, to use a color to control an object’s position or rotation vector. Date/Time In contrast to the Time data type, Date/Time queries your computer’s current system time (in the format hours:minutes:seconds) and system date. For example, you might create a Sun expression that sets a light’s position and color to match the current real time. Filename This data type allows you to store a file path. For example, the Sound node uses the Filename data type to store the path of the sound file that you want to load. 982 • CHAPTER 22 Font The Font data type stores information for a chosen font, including whether it should be used as a TrueType or PostScript font. For example, you can use the Font data type to vary the appearance of a text spline. The Font data type cannot be converted to other types. Gradient The gradient data type consists of a large number of values that represent a gradient. It cannot be converted to other data types. (Although individual colors can be converted to vectors, there is no way to specify the color’s position in the gradient in order to access it.) Integer The Integer data type supports whole numbers (not fractional numbers) that can be negative, zero or positive. Numbers after a decimal point will be ignored; this can lead to inaccurate results if fractions are involved. You can use the Integer data type with all numeric and vector formats. When converting a vector to an integer or a real, the length of the vector is calculated automatically from the calculation SQRT(V.x*V.x+V.y*V.y+V.z*V.z), where V.x, V.y and V.z are the X, Y and Z components of the vector and SQRT is the square root function. On the other hand, when an integer or a real is converted to a vector, the value is used for the vector’s X, Y and Z components. For example, the real 12.5 is converted to the vector (12.5;12.5;12.5). Lens Glow The Lens Glow data type is a container for a complete data set — in this case, all the information required to control lens glow for a light source. This data type cannot be converted to other types. Link The Link data type contains information on the various elements in a CINEMA 4D scene, including information on tags and materials as well as objects. The Link type cannot be converted to other data types. The purpose of the Link data type is to allow you to select a scene element (such as an object, material or tag) for closer examination. For example, you can use the Link data type to add a user data box in the Attribute manager. You can then assign materials, tags and objects by dragging and dropping them into the box. See also ‘Object’, below. Matrix A matrix is a group of vectors, such as an object’s global matrix, that contains the object’s position vector and three vectors for each object axis. The axis vectors represent not only the direction of the object, but also its scale (the scale is defined by the length of each axis vector). Therefore the global matrix gives you access to the object’s position, scale and rotation. The four vectors are stored in the following registers of the global matrix: V0 for the position vector (called the Offset vector); V1 (X-axis); V2 (Y-axis) and V3 (Z-axis). Using these registers, you can read or overwrite any vector, such as V2 for the object’s Y-axis. XPRESSO EDITOR • 983 Normal A normalized vector is a vector of the same direction, but with a length of 1. Object The Object type is a sub-type of Link and is used for object data only. Among other things, this data type gives you access to an object’s global and local matrices. See also ‘Link’, above. Priority The Priority data type contains the XPriority and its numerical value, plus details on the order of evaluation. This data type is used for the priority port of tags. Real Unlike integers, reals can be fractional numbers. A typical example of a real is Pi, i.e. 3.141592654. Use the Real type when complex calculations are involved and you want an accurate result. Reals can be converted to vectors or integers. When a real is converted to an integer, all numbers after the decimal point will be lost (i.e. reals are rounded down when converted to integers). Spline With the Spline data type, you draw a spline in the Attribute manager using a graph. The graph runs from the variable extremes Min X to Max X along the horizontal axis and from Min Y to Max Y along the vertical axis. String The String data type is for text and character strings. A string can hold letters, numbers and special characters. For example, you can use the String data type to allow the user to input a name into a text box. In addition, XPresso wires are able to automatically convert numeric sequences in the string to vectors, matrices or other numeric formats. For example, you can pass the string ‘12;4;5’ to a node instead of the vector (12;4;5). Texture This element contains a reference to a texture, i.e. to an image file or shader. This data type is of use only when used with materials, such as within a material channel. 984 • CHAPTER 22 Time The Time data type gives you access to the animation’s current time. Keep in mind that this value is affected by the frame rate. For example, if the rate is 25 frames per second, the Time value for frame 24 is one second exactly. The Time data type is especially useful for controlling dynamic processes since it enables you to take an animation’s progress into account. For example, you can make a ball bounce once per second or make an object follow another over a particular period of time. See also ‘Date/Time’ above. Vector The Vector data type is important for manipulating positions and rotations in 3D space. Object positions, HPB angles, colors and point coordinates are all stored as vectors. The values are stored in the vector one by one. For example, positions are stored in the order (X position; Y position; Z position) and rotations in the order (H angle; P angle; B angle). In CINEMA 4D, a vector always has three components. If you convert a vector to an integer, the length of the vector is converted rather than the individual components. You can also use vectors with matrices. XPRESSO EDITOR • 985 XPresso Editor Menus File Menu Load XGroup, Save XGroup As Load XGroup imports a previously saved XGroup into the selected XGroup. If no XGroup is selected, the XGroup is loaded directly into the XPresso Editor. Once loaded, the XGroup uses its standard size setting, i.e. its contents will be hidden. To show the contents, right-click (Windows) or Command-click (Mac OS) the XGroup and choose either View > Extended or View > Fullscreen from the context menu. Save XGroup As saves the selected XGroup. If no XGroup is selected, the entire contents of the XPresso Editor will be saved. Close This command closes the XPresso Editor. To reopen it, double-click an XPresso tag in the Object manager. Edit Menu Undo, Redo Use Undo to undo the last change you made in the XPresso Editor; select Undo repeatedly to undo changes one by one. Select Redo to redo the last undo. Cut, Copy, Paste The Cut command moves the selected nodes or XGroups (including their wires) to the clipboard. The Copy command copies the selected nodes or XGroups (including their wires) to the Clipboard. The Paste command copies the nodes or XGroups that are stored in the clipboard to within the currently selected XGroup. If no XGroup is selected, the elements are placed directly within the XPresso Editor. Delete Deletes the selected nodes or XGroups. Select All, Deselect All These commands select or deselect all nodes and XGroups. 986 • CHAPTER 22 Enable, Disable  If you disable a node or XGroup that is between two enabled nodes or XGroups, no values will be passed through. In effect, the enabled elements will be disconnected from each other. Nodes and XGroups with missing or disabled parameters have a yellow title bar. Using these commands, you can switch nodes and XGroups on or off so that you can test parts of an expression in isolation without having to disconnect wires. Select the elements that you want to switch off then choose the Disable command. To switch the elements on again, select them and choose Enable. Layout Menu Inputs The Inputs setting determines whether inputs appear at the left edge or right edge of nodes and XGroups. Since the outputs always appear at the opposite edge to inputs, there is no separate setting for outputs. Connections Connections set to Direct (left), Straight (center) and Normal (right). The Connections submenu controls the appearance of wires: Direct, Straight or Normal. For example, if you choose Direct, each wire is displayed as a single, straight line. Show Status Bar Enable this option to display the XPresso Editor’s status bar. The status bar appears at the foot of the XPresso Editor and, when you hover over a port with the mouse pointer, provides useful information such as the port’s name. Reset To Default This command resets the XPresso Editor to its default layout. The Connections setting is set to Normal and the Inputs setting to At Left. View Menu Zoom To magnify the contents of the XPresso Editor, choose a zoom factor from this submenu. Alternatively, click and drag on the zoom icon situated in the top-right corner of the XPresso Editor. XPRESSO EDITOR • 987 Show All Displays the entire expression in the XPresso Editor. Align To Upper Left Moves the entire expression to the top left corner of the XPresso Editor. No zooming takes place. Center Nodes Moves the center of the expression to the center of the XPresso Editor. No zooming takes place. Align To Grid Aligns the nodes and XGroups to the XPresso Editor’s grid. Custom Menu The commands in the Custom menu relate to plugins and modules. For example, if purchased and installed, from this menu you can access the settings of the Thinking Particles module. In addition, on this menu you’ll find the commands for opening the XPresso Pool and XPresso manager. Since these two windows are integrated into the XPresso Editor by default, you’ll only need to use these commands if you’ve undocked the windows and closed them. Calculate Menu Start XPresso Calculation Choose this command if you want to test an expression. All nodes and connections will be calculated once only. Check the result and correct or refine the expression accordingly. Animation Refresh When this option is enabled, the expression is recalculated for each frame of the animation. This ensures that all data coming into the expression, such as the position of objects, is up-to-date. Live Refresh This option determines whether the expression is calculated in realtime while a parameter is being changed (option enabled) or after the parameter has been changed (option disabled). For example, suppose an expression makes a dog follow his owner. If Live Refresh is enabled, the dog will follow his owner while you drag the owner to a new position in the viewport. If, on the other hand, the option is disabled, the dog will wait for the mouse button to be released before catching up with his owner. 988 • CHAPTER 22 XPresso Context Menus In the XPresso Editor, the context menu provides quick access to commands that are specific to nodes, XGroups and ports. Some of these commands are available from the context menu only. The commands shown vary, depending on whether you access the context menu while the mouse pointer is over a node, XGroup or port. If you access the context menu while the mouse pointer is over an empty space in the XPresso Editor, the commands for XGroups are also shown. This is because the XPresso Editor is filled by the base XGroup, which is created automatically for each new expression. The base XGroup’s title bar is shown just below the XPresso Editor’s menus. To open a context menu: - Right-click (Windows) or Command-click (Mac OS) on a node, XGroup, port or empty space in the XPresso Editor. Context menu for nodes and XGroups Some of the following commands are available for both nodes and XGroups, while the others are available for nodes only or XGroups only. New XGroup Empty XGroup This command creates an empty XGroup. To place nodes and other XGroups into the empty XGroup, drag them from the XPresso manager and drop them into the empty XGroup. Alternatively, cut or copy the elements, select the empty XGroup and paste the elements into it. New Node To create a new node, choose the desired node. Nodes that belong to the CINEMA 4D core application are listed in the XPresso submenu. Nodes installed by optional plugins and modules are listed in their own submenus. XPRESSO EDITOR • 989 Unpack XGroup This command is the reverse of Convert To XGroup. The selected XGroup is deleted and its nodes and wires are moved to directly within the XPresso Editor. Convert To XGroup This command creates a new XGroup and moves all selected nodes and XGroups, including their wires, into the new XGroup. Align To Grid The selected nodes and XGroups are aligned to the grid. Zoom Here you can choose from various preset zoom levels. View Use the commands in the View submenu to set the windows of the selected nodes and XGroups to a particular size. For example, you can conserve display space in the XPresso Editor by minimizing an XGroup once you’re done editing its contents. Minimized reduces the window to its title bar only; this has the same effect as double-clicking the title bar. Standard returns a minimized or fullscreen window to the last size it had when you manually resized it. Extended mode returns the window to its previous size when you last manually resized it. With Fullscreen, the window is magnified to fit the XPresso Editor window. If Locked is selected, the contents of the XGroup are hidden and can no longer be edited. The XGroup is scaled to its Standard size. Use Locked when you want to protect the XGroup from accidental changes while you’re working on other parts of the expression. To unlock the XGroup, choose Locked once more. Content This submenu provides access to the same commands as the XPresso Editor’s View menu. In particular, these commands enable you to center or align the nodes and XGroups within the XGroup. This can be useful for bringing back into view nodes and XGroups that are out of view. Show All zooms the contents to fit the XGroup’s window. Center Nodes centers the contents in the XGroup’s window. Align To Upper Left moves the contents to the top left corner of the XGroup’s window. Align To Grid aligns the contents to the grid of the XGroup’s window. Connections Remove All This command deletes the connections (i.e. wires) of the selected nodes and XGroups. 990 • CHAPTER 22 Ports Remove Unused  Proceed with caution when using this command — it deletes all unconnected ports, including any that may be in use and receiving values from the Attribute manager. This command deletes all ports that are not connected to the selected node(s) and/or XGroup(s). To delete ports individually, choose Delete Ports from the port’s context menu, or double-click each unconnected port that you want to delete. Show Names  Some types of node display either port names or other information depending on whether Show Names is enabled. For example, a Result node can display either the port names or the value of its Input port, but not both at the same time. If this option is enabled, the names of ports are displayed in the selected nodes and XGroups. Delete This command deletes the selected nodes and XGroups, including their wires. Rename  Renaming elements helps to distinguish between individual nodes and XGroups, though keep in mind that the default name indicates the element’s type. If you’ve renamed a node and want to check its type, select the node and the type will be shown in the Attribute manager. To rename a node or XGroup, choose this command and enter the new name into the dialog that opens. You can also rename nodes and XGroups using the Attribute manager. Optimize This command has a different effect depending on whether you select it from a node, an XGroup or the XPresso Editor. If Optimize is selected from a node’s context menu, the node is scaled to the smallest size at which its name and ports are visible. If Optimize is selected from an XGroup’s context menu, the XGroup is scaled to the smallest size at which all its nodes and XGroups can be seen. Select Connected This command selects the next connected XGroup or node. XPRESSO EDITOR • 991 Disable Use this option to disable or enable the selected nodes and XGroups. This can be especially useful for testing parts of an expression without having to disconnect wires. (You can also enable and disable nodes and XGroups from the XPresso Editor’s Edit menu.) Disabled elements have gray sides and are ignored when the expression is calculated. If you disable a node or XGroup that is between two enabled nodes and/or XGroups, no values will be passed through. In effect, the enabled elements will be disconnected from each other. XPresso elements that cannot be calculated, whether due to disabled elements or incompatible data types, have a yellow title bar. Context menu for ports Using these commands, you can delete ports and wires, rename ports and access the Port Info window. To open a port’s context menu: - Right-click (Windows) or Command-click (Mac OS) on the desired port. Port Information This command opens a window containing information about the port, such as its name and data type. Remove Wires This command deletes all of the port’s wires. Rename Ports Enter a new name for the port in the dialog that opens. Meaningful names can help to make the expression easier to understand, especially if you are editing an expression you created some time ago and you’ve forgotten how it works. Delete Port The port and its wires are deleted. You can also delete a disconnected port by double-clicking it. 992 • CHAPTER 22 The XPresso Manager The XPresso manager provides a simplified overview of an expression as a hierarchical list of nodes and XGroups. In addition to providing this clear overview, the XPresso manager is useful for quickly selecting elements, changing their order and rearranging the hierarchy. Nodes that belong to an XGroup are listed below their parent XGroup and are indented. To open the XPresso manager: - The XPresso manager is integrated into the XPresso Editor by default. However, should you undock and close the manager, you can reopen it by choosing Custom > XPresso Manager in the XPresso Editor. To move a node into an XGroup: - Drag the node name and drop it onto the XGroup name. To move a node into view in the XPresso Editor: - Drag the name of the node from the XPresso manager and drop it onto the desired position in the XPresso Editor. To open and close hierarchies: - Click the icon to the left of the node or XGroup name. To create a new empty XGroup: - Right-click (Windows) or Command-click (Mac OS) on the root XGroup’s name in the XPresso Manager window and choose New XGroup > Empty XGroup from the context menu. To control the order of evaluation: - Drag a node or XGroup name and drop it in a new position. The top-most elements in the XPresso manager are evaluated first. This order is especially important when the result of a node is passed to another XGroup, otherwise the values passed may be incorrect and the expression may fail to work as intended. XPRESSO EDITOR • 993 The XPresso Pool The XPresso Pool provides a quick way to add nodes to the XPresso Editor. The XPresso Pool contains all of the CINEMA 4D nodes, to which you can add your own pools, where each node is configured to suit your needs. For example, suppose you often need to create a Math node for integer subtraction (Data Type set to Integer and Function set to Subtract). Rather than change these parameters manually each time you need to create such a node, you can add the configured node to the XPressoPool. The next time you need the node, you can drag it from the pool and drop it into the XPresso Editor, already set up for integer subtraction. To open the XPresso Pool: - The XPresso Pool is integrated into the XPresso Editor by default. However, should you undock and close the pool, you can reopen it by choosing Custom > XPresso Pool in the XPresso Editor. To create a node: - Drag and drop the node that you want to create from the XPresso Pool into the XPresso Editor. To open and close hierarchies: - Click the icon to the left of an element’s name. To create your own pool of nodes: - In the XPresso Pool, create a new pool by choosing Edit > Create Pool. (You cannot add your own nodes to the original pool.) - Configure the nodes that you want to add to the pool. - Drag the nodes that you want to add to the pool from the XPresso Editor and drop them into the new XPresso pool. 994 • CHAPTER 22 Edit Menu Create Pool Choose this command to create a new pool for your own node configurations. Use the dialog that opens to define a save path for the pool (note that groups are saved to the ‘Library / xnode folder within the CINEMA 4D folder); the pool is saved automatically and will be made available each time you restart CINEMA 4D. To add your own node configurations to the pool, first configure the nodes as desired in the XPresso Editor then drag and drop the nodes into the pool. Load Pool This command allows you to load a pool file. Remove Preset  You cannot remove nodes from the original pool. Removes the selected preset or folder from the pool. Rename Preset Renames the preset. For example, if you have configured a Math node for integer subtraction, you may want to rename it to ‘Subtract Int’. Create Folder Creates a new folder. This enables you to arrange your own pool into folders for better organization. Drag and drop the nodes that you want to place within the folder from the XPresso Pool or XPresso Editor into the folder. XPRESSO EDITOR • 995 XPresso Nodes XPresso’s nodes are arranged by class and then by group. The XPresso class contains all the nodes that belong to the CINEMA 4D core application. Nodes belonging to plugins or other modules, if present, are listed under a different class. For details on these additional nodes, please refer to the documentation supplied with your plugins and modules. General Group Bounding Box This example queries the size of the bounding box for a spline object. This Bounding Box node also outputs the smallest and largest coordinates of the corner points that make up the bounding box. The maximum dimensions of an object are displayed in the viewport as red corners. These corners form a ‘bounding box’, inside which the object fits. The dimensions of this bounding box are displayed in the Coordinate manager when the Size drop-down list is set to Size. The Bounding Box node gives you access to the dimensions of this bounding box. The object must be a polygon object. If you want to use the node with a primitive object, you must first make the primitive editable. In addition, if Used Deformed Points is enabled, deformed points will be taken into account to ensure an accurate result. The Matrix Mode setting enables you to choose local coordinates or global coordinates. After connecting the Object port to the desired object, you can access the following information via the output ports: Box Minimum Outputs the coordinates of the smallest corner point of the bounding box, as a vector. Box Maximum Outputs the coordinates of the largest corner point of the bounding box, as a vector. 996 • CHAPTER 22 Box Size Outputs the maximum dimensions of the bounding box in the X, Y and Z directions, as a vector. Keep in mind that, in contrast to the Coordinate manager, the choice of coordinate system has a major influence on the result. Box Point 1 to Box Point 8 Outputs the coordinates of the corner points that make up the bounding box. Collision In Object mode, colliding polygons can be assigned different materials. Create a Polygon Selection tag each for the two objects and drag these tags into the node’s Selection Tag boxes. Assign a material to each object and restrict these materials to the appropriate Polygon Selection tag. This node is able to detect collisions. Connect the two objects that you want to check for collisions to the Object 1 and Object 2 input ports. These objects must be polygon objects. If you want to use the node with a primitive object, you must first make the primitive editable. In the Attribute manager, choose the collision detection mode: Bounding Box In this mode, the node checks whether the bounding boxes of the two objects intersect each other. If you want child objects to be taken into account as well, in the Attribute manager enable Include Children. The two bounding boxes will be expanded if necessary to enclose the child objects as well. XPRESSO EDITOR • 997 Sphere A virtual sphere is placed around each of the objects. If these two virtual spheres intersect, the node detects a collision. If Include Children is enabled in the Attribute manager, these two virtual spheres will also enclose the child objects. Object This mode detects collisions between the two objects at the polygon level. This is the most accurate type of collision detection but also the most CPU-intensive. In this mode, you can also apply materials to the surfaces that are colliding. To do this, create a Polygon Selection tag each for the two objects then drag and drop these tags into the Selection Tag boxes in the Attribute manager. The node will now store the polygons that are colliding in these Selection tags. Distance Detects a collision when the surfaces of the two objects are within a certain distance of each other. This distance is defined by the Tolerance input port. Tolerance In this mode, the Tolerance input port defines a distance around each object. This distance increases the virtual size of the objects for the purposes of collision detection. If, taking their virtual sizes into account, the objects then intersect each other, a collision is detected. If the objects colliding are deformed, enable Use Deformed Points to ensure accurate collision detection. The Matrix Mode settings in the Attribute manager are only relevant when the node outputs the point positions of the objects. The following output ports are available: Collision Outputs a value of the type Bool which indicates whether the objects are currently colliding. Distance Outputs the smallest distance between the objects (works in the Sphere and Distance modes only). Point 1 If a collision has been detected, this port outputs the position vector of the point in Object 1 that collided first (provided Collision Type is set to Object). The exact value of the position depends on the coordinate system chosen and whether the object is being deformed (see the options in the Attribute manager). Point 2 If a collision has been detected, this port outputs the position vector of the point in Object 2 that collided first (provided Collision Type is set to Object). The exact value of the position depends on the coordinate system chosen and whether the object is being deformed (see the options in the Attribute manager). 998 • CHAPTER 22 Polygon Index 1 If a collision has been detected, this port outputs the index number of the polygon in Object 1 that collided first (provided Collision Type is set to Object or Distance). Polygon Index 2 If a collision has been detected, this port outputs the index number of the polygon in Object 2 that collided first (provided Collision Type is set to Object or Distance). Constant  Provided the ports are unconnected, you can also pass values to other ports and XGroups by entering the values directly into the Attribute manager. This node enables you to pass constant values — be they numbers, vectors or character strings — to other nodes and XGroups. Enter the value and set its data type in the Attribute manager. FlipFlop This node is a Boolean switch. Three input ports are available. If the On input port is enabled, the node outputs the value 1. If the Off input port is enabled, the node outputs the value 0 (even if the On port is still enabled). The same applies in reverse: if the Off port is enabled first followed by the On port, the result is 1. If the Switch port is enabled, the result is reversed. A value of 1 becomes a value of 0, and vice versa. If Switch is enabled and then the value of one of the other ports changes, the result is once again affected — the result always depends on the port that was last enabled. For example, if the On port was the last port enabled, the result will always be 1; if the last port enabled was the Off port, the result will always be 0. Note that disabling a port has no influence on the result. It is only the enabling of these ports that causes the node to change its output. XPRESSO EDITOR • 999 Freeze The Freeze node is like an electronic switch. If a value of 0 is passed to the node’s Switch port (or if you disable the Switch option in the Attribute manager), the input value is passed straight through to the output, i.e. the switch is closed. If a value of 1 arrives at the Switch port — or if you enable the Switch option in the Attribute manager — the switch is frozen and the node continues to output the same value it had at time of freezing until you close the switch once more. For example, if the node’s output value at the time of freezing was 27, the node will continue to output 27 until closed once more. As with most other nodes, set the Freeze node’s data type in the Attribute manager. Link List This expression uses the number of objects in the list to control an Iteration node. The Iteration node is connected to a copy of the Link List node, which outputs all the objects one after the other. The Link List enables you to introduce a limited number of objects into the expression. Drag the desired objects from the Object manager and drop them into the Link List box in the Attribute manager. You can control which object in the list the node outputs via the Index input port. If you want the node to output all the objects in the list, use an Iteration node. The following input port is available: Index This port enables you to access a particular object from the list. For example, pass a value of 0 to this port to access the first object in the list, a value of 1 to access the second object in the list, and so on. If the Index value is greater than the number of objects in the list, the index loops back to the start of the list again. So if, for example, there are two objects in the list and the Index value is 2, the node will output the first object (0 = first object, 1 = second object, 2 = first object again, and so on). 1000 • CHAPTER 22 The following output ports are available: Count Outputs the total number of objects in the Link List. Link Outputs the index number of the object selected in the Link List. Memory The Memory node stores previous states and values. You can then use these values. The History Depth parameter (in the Attribute manager) defines the number of states stored. Set the data type in the Attribute manager. If History Depth is set to 1, only the current state is stored, i.e. the current state is simply passed through. If History Depth is set to 2, the current state (position 1) and the previous state (position 2) are stored. History Level defines which one of the stored states the node outputs. To set the History Level, either pass the value to the node’s History Level port or, if the port is unconnected, enter the value directly into the Attribute manager. If you set History Level to a higher value than History Depth, the node outputs the oldest stored state. - If History Depth is set to 1, the value that arrives at the input is passed directly to the output regardless of the History Level setting. - If History Depth is set to 2, the node outputs the current state (if History Level is set to 0) or the previous state (if History Level is set to 1 or higher). - If History Depth is set to 3, the node outputs the current state (if History Level is set to 0), the previous state (if History Level is set to 1) or the next previous state (if History Level is set to 2 or higher). Different rules apply when using nodes such as the Object node, since these nodes are themselves able to output a previous state. In such cases, a History Level of 0 retrieves the previous state instead of the current state. XPRESSO EDITOR • 1001 MonoFlop The MonoFlop node in this example is enabled every nine frames. The MonoFlop node then remains active for 0.2 seconds before becoming inactive again. The MonoFlop node is a Boolean switch with a built-in time delay. Once triggered, the node counts down a specified number of frames. The node outputs a Bool value of True while it is counting down. In the Attribute manager, choose the desired countdown mode: Normal The countdown beings once the Trigger port’s value changes from 1 to 0. In other words, nothing happens when the node is enabled. Only once the node is disabled will the clock start ticking. OneShot The node starts counting down as soon as the value 1 arrives at the Trigger port. For both modes, the following applies: If the node is triggered while in the middle of a countdown, the countdown starts again from the beginning. The following input ports are available: Duration Controls the duration of the countdown. If you set this value in the Attribute manager, enter the duration in frames. However, if you connect, say, a Constant node to this port, the value defines the duration time in seconds. Reset If this port receives a Bool value of 1, the node’s internal counter is reset to 0. Time This port enables you to, for example, connect a Time node to the MonoFlop. The Time node can then be used to control the speed of the countdown. Trigger This port takes a Bool value and is used for starting the countdown. 1002 • CHAPTER 22 The following output ports are available: Count Outputs the total number of times that the node has been triggered. You can reset this counter by passing a value of 0 to the Reset input port. Out Outputs a Bool value of 1 if a countdown is in progress. Otherwise, the port outputs a value of 0. State If the node is currently counting down, this port outputs a decimal value between 0.0 and 1.0 that indicates how far the countdown has progressed. For example, if the countdown is 30% of the way through the countdown, this port will output the value 0.3. If, on the other hand, the node is disabled, the port outputs the value 0. Noise Noise values depend not only on the animation time, but also on coordinates. This enables the node to output different values for the same frame of the animation. In this example, each point is given a different value. This node uses noise to generate random numbers. Four types of noise are available: Noise, Turbulence, Wavy Turbulence and Fractal Brown Movement. Noise. Turbulence. Wavy Turbulence. Fractal Brown Noise. Turbulence is composed of several frequency bands of summed noise. Wavy Turbulence is the same as Turbulence, except that the changes are more abrupt (‘wavefronts’). Lastly, Fractal Brown Noise is the same as Turbulence, except that its high frequency bands are weaker. XPRESSO EDITOR • 1003 The following input ports are available: Amplitude This value scales the result of the node by multiplying it. An Amplitude of 1 leads to noise results in the range of -1.0 to +1.0. Frequency The Frequency controls the generation of the noise structure. Higher frequencies lead to more changes in noise per unit of time. Octaves Defines the level of detail for the noise structure. Increase this value for greater detail and more fluctuation in the values. Scale This value scales the noise structure (not the result!). Seed This value is a starting point for the calculation of the noise structure. The seed value will therefore lead to repeatable results. If you are using several noise nodes with identical settings, they will each generate the same results unless you give them different Seed values. Time The noise structure can be animated. By default, the animation’s current time is used. This will cause a new noise value to be calculated for each frame of the animation. However, you can connect your own time values to this port (such as the time values created by some of the Thinking Particles nodes). Vector You can pass a vector to this input port. This will enable a three-dimensional noise structure to be calculated. X Coordinate, Y Coordinate, Z Coordinate To control the generation of three-dimensional noise fields, you can, for example, connect the coordinates of object points to these input ports. Each point can then be assigned a different value that is dependent of the point’s position in 3D space. 1004 • CHAPTER 22 Object  The quickest way to create an Object node is to drag the object, material or tag from the Object manager or Material manager into the XPresso Editor. The Object node represents a CINEMA 4D object, material or a tag. If you use the context menu to create the Object node, the node is automatically assigned to the object that owns the XPresso tag. You can reassign the Object node by dragging the desired object, tag or material and dropping it onto the node or into the Reference box in the Attribute manager. Ports that are incompatible with the element are set to the ‘undefined’ status. For example, suppose you’ve created an Object node for a Texture tag and added a Tiles port. If you reassign this node to a cube, the Tiles port will become ‘undefined’, since the cube has no tiling parameters. You cannot always change the status of undefined ports, even if you reassign the node to an element that is compatible with the ports. Double-click on the undefined ports to delete them. Object nodes also enable you to reference objects relative to the object that owns the XPresso tag. To use relative references, set Reference Mode, Start Position, Start Distance and Path as desired. Node Properties Reference Drag and drop object, tag or material into this box to define which element the node references. Reference Mode Defines whether the reference is absolute, relative or based on a starting position. Use Start Position To reference an element relative to the object that owns the XPresso tag, use either this mode or the more advanced Relative Reference mode. For example, to reference the element that is three positions before the object that owns the tag, set Reference Mode to Use Start Position, set Start Position to Predecessor On This Level and set Start Distance to 3. The Use Start Position mode also enables you to reference the first or last object in the scene. XPRESSO EDITOR • 1005 Absolute Reference This is the default mode. The node references the object that is shown in the Reference box. If you want to use the expression in several places in your scene, avoid using the Absolute Reference mode, otherwise you’ll need to change the referencing of the objects each time. Relative Reference This mode is similar to Use Start Position. It enables you to reference an element relative to the object that owns the XPresso tag. Unlike the Use Start Position mode, you enter a path that gives the node instructions on how to reach the element. The starting position is the object that owns the tag. For example, the path ‘UPPDN’ stands for ‘Up, Previous, Previous, Down, Next’, where Previous and Next represent a jump to the previous or next element on the same hierarchical level. Up and Down represent jumps one level up or one level down the hierarchy. The advantage of a relative reference is that it enables you to transfer the Object node from one hierarchy to another without problems. Edit the path using the Path box. Start Position This defines the Start Position when Reference Mode is set to Use Start Position. The setting is relative to the object that owns the XPresso tag. For example, if you set Start Position to First In This Level, the node references the first element on the same hierarchical level as the object that owns the tag. This Object The object to which the XPresso tag is assigned. Up In Hierarchy Chooses the first object one level up the hierarchy. Down In Hierarchy Jumps to the first object one level down the hierarchy. Successor On This Level Chooses the next object on the same hierarchical level. Predecessor On This Level Jumps to the previous object on the same hierarchical level. First On This Level Chooses the first element on the same hierarchical level. Last On This Level References the last element on the same hierarchical level. 1006 • CHAPTER 22 First In Scene Chooses the first object in the scene. Last In Scene Jumps to the scene’s last element. Start Distance With some Start Position modes, you might want to jump several steps in the hierarchy in one go. In such cases, use Start Distance as a multiplier for the Start Position. For example, to reference an object that is three positions after the object that owns the XPresso tag, set Start Position to Successor On This Level and set Start Distance to 3. Path This box is available only when Relative Mode is set to Relative Reference. Use the box to enter the path for the relative reference. For example, the path ‘UPPDN’ stands for ‘Up, Previous, Previous, Down, Next’, where Previous and Next represent a jump to the previous or next element on the same hierarchical level. See also ‘Relative Reference’, above. History Depth The Object node gives you access to all of the element’s parameters via ports. Choose the desired ports from the node’s inputs menu and outputs menu (the blue and red squares). For example, you can use an Object node to output an object’s global matrix, velocity, position, scale or rotation. In addition, you can access the object’s previous states via ports such as Previous Global Matrix. The History Depth value determines how many previous states the node stores. To recall a previous state ,add a History Level port to the node via the inputs menu and, in the Attribute manager, enter a number for how many states back you want to go. For example, a value of 3 retrieves the third last state. Inputs and outputs Each object node has various input and output ports depending on which type of object or tag the node represents. Ports on the left side of the node are input ports — they pass data to the object, material or tag. Ports on the right side are output ports and pass the data on to one or more other nodes. Most of these ports correspond to object, tag or material attributes and are described in the relevant chapters in this manual. The remaining ports are described below. Note that some of these ports are available to object nodes only — not to materials or tags. Also, some of these ports are available as inputs only or as outputs only. On The On port is available to all Object nodes except Material and Tag nodes. The On port enables or disables the node via a value of the type Bool; this is useful for controlling when the node’s data should be passed and when it should be halted. XPRESSO EDITOR • 1007 The node is enabled if its On port receives a Bool value of True (1) or disabled if it receives a Bool value of False (0). The node will be enabled automatically if you do not add the On port. Object This allows you to assign a different object to the Object node. This has the same effect as dragging a different object from the Object manager and dropping it into the node’s Reference box in the Attribute manager. Position Velocity, Rotation Velocity, Scale Velocity These ports output the object’s current velocity for position, rotation or scale as a vector. Global Matrix, Local Matrix You can use these ports to output the object’s global matrix or local matrix. Previous Global Matrix, Previous Local Matrix, Previous Position, Previous Rotation, Previous Scale These ports output the values from previous states of the animation. The History Level input port defines how many states back to go through the history. ObjectIndex The reason why the ObjectIndex node exists is because when you are using iterators, you cannot directly find out the index, i.e. which part of the loop the iterator is currently at. The ObjectIndex mode allows you to find out the index, thus enabling you to, say, single out a specific element within the iteration loop. Connect the Instance output port of the iterator to the Instance input port of the ObjectIndex node. Example Suppose you are using an Object List iterator with seven cubes (see example picture above). Now suppose you want to reposition all of the cubes except the third one. “Well, just chuck the third cube out of the object list,” you might suggest. That’s one solution, certainly. However, a more interesting way — and in some cases perhaps the only way — is to use an ObjectIndex node instead. Connect the Index output port to a Compare node and set the Compare node’s Function to ‘!=’ and its Input 2 to ‘2’ (an index list starts with ‘0’, hence ‘2’ corresponds to the third sphere). 1008 • CHAPTER 22 Next, connect the Compare node’s output to the input port of the node that sets the position for the cubes (see above). Now, when the index reaches ‘2’ during the iteration, the Compare node will switch off the position assignment and the third cube won’t have its position changed. Point Here the node outputs two values: the object’s total number of points (here, eight) and the position of the point whose index value is 4. This node gives you direct access to an object’s number of points and their positions and point normals. First create an Object node for the object whose point data you want to access. Click the Object node’s outputs menu (red square) and choose Object from the menu to create an Object port. Connect this Object port to the Point node’s Object port. The point normal vector is exactly one unit in length and is always perpendicular to the point. The direction is calculated using the positions of the surrounding surfaces. Hence if the object has no surfaces, the point normals cannot be calculated accurately. The Point node works with global or local point coordinates, depending on the Matrix Mode setting in the Attribute manager. To read the position of a point: - Connect an Object node to the Point node as described above, via the Object port. - Pass the number of the point that should be output to the Point Index port. This index number corresponds to the numbering shown in the Structure manager. - The Position Port will output the point’s position as a vector. XPRESSO EDITOR • 1009 Polygon This node outputs two values: the object’s total number of polygons (in this case, six) and the position of the fifth polygon’s center (index value 4). This node gives you direct access to an object’s number of polygons and their positions. To use a Polygon node, first create an Object node for the object whose polygon data you want to access. Click the Object node’s Outputs menu (red square) and choose Object from the menu that appears to create an Object port. Connect this Object port to the Polygon node’s Object port. Pass the number of the polygon that you want to access to the Polygon Index port. This index number corresponds to the numbering shown in the Structure manager. The node outputs the object’s number of polygons and the parameters of the indexed polygon. The following output ports are available: Index Point 1/2/3/4 These four ports output the index numbers of the indexed polygon’s points. These are not the positions of the points, but their index numbers. To access the positions of the points, pass these index numbers to a Point node. If the polygon is a triangle, the fourth index point has the same value as the third. Thus you can check if a polygon is a triangle or quadrangle by comparing the third and fourth index points. Polygon Center This port outputs the position of the polygon center. You can choose between local and global point coordinates. In the Attribute manager, choose the desired type from the Matrix Mode drop-down list. If you want the node to output the exact point coordinates of polygons that are deformed by bones or other deformers, enable the separate Use Deformed Points option. You’ll find this option on the Attribute manager’s Node Properties page. If the option is disabled, the node outputs the coordinates of the undeformed object. Polygon Count The object’s total number of polygons. Polygon Normal This gives the polygon’s normal vector. The normal vector is always perpendicular to the polygon’s surface and is exactly one unit in length. 1010 • CHAPTER 22 Random The Random node outputs decimal numbers in the range of -1.0 to +1.0. Two modes are available for generating these numbers: Free and Time. Choose the desired mode in the Attribute manager. The node can output random values of the following data types: Bool, Integer, Normal, Real or Vector. Specify the desired data type via the node’s output port. In addition, you can choose whether the random numbers generated are positive only (Positive Only option enabled in the Attribute manager) or negative and positive (Positive Only disabled). However, if the node outputs random values of the type Bool, the option will not affect the result (a Bool value can have a value of 1 or 0 only). Random Mode Time This mode generates random numbers based on the animation’s current time. Each time you play the animation, the same sequence of numbers is generated. This is the same mode used by CINEMA 4D’s particles, since it gives the particle stream a random look yet ensures that the stream is exactly the same each time you play it back. If instead you want completely different numbers to be generated each time you play back the animation, use the Free mode. Free With Free mode, the number sequence generated will be different each time you play back the animation. If instead you want the same sequence of numbers each time you play the animation, use the Time mode. Random Seed If you use more than one Random node in your expression, each of the nodes will generate the same number unless you enter a different Random Seed value for each node. Alternatively, pass the value to each node via the Random Seed port. XPRESSO EDITOR • 1011 Ray Collision The ray has been created between points P1 and P2. The expression places the sphere at the point where the ray hits the cube. This node generates a ray and checks if and where it hits a polygon object. If you want the ray to collide with primitive a object or a NURBS object, you must convert the object to polygons before using it with this node. The following input ports are available: Object Here, connect the polygon object that you want to fire the ray at. Ray Point1, Ray Point2 The ray is defined by two points. The vector between these two points represents the ray. Ray Point1 defines the starting position of the ray, Ray Point2 its end position. These two points enable you to define not only the direction of the ray, but its length also. The following options are available in the Attribute manager: Test Only Enable this option if the only output port you are using is Collision. This will speed up the calculation of the node, because the other output ports will no longer be calculated. Global Coordinates If this option is enabled, the output will be given in global coordinates. 1012 • CHAPTER 22 The following output ports are available: Collision This port signals whether the ray has hit the object. A Bool value of 1 indicates a collision, a Bool value of 0 means the ray missed the object. Distance If the ray has hit a polygon, this port outputs the distance from Ray Point1 to the polygon first hit by the ray. To switch on this port, in the Attribute manager, disable Test Only. Face Index If a collision has taken place, this port outputs the index number of the first polygon hit by the ray. To switch on this port, in the Attribute manager, disable Test Only. Face Normal If the ray has hit a surface, this port outputs the normal of the polygon hit. To switch on this port, in the Attribute manager, disable Only Test. Hit Position Outputs the position where the ray first hit the object (recall that the ray travels from Ray Point 1 to Ray Point2). This vector can only be calculated if a collision has taken place. To switch on this port, in the Attribute manager, disable Test Only. The Hit Position is given in either local or global coordinates, depending on whether Global Coordinates is enabled in the Attribute manager. Is Backface This port outputs a Bool value that indicates whether the ray hit a backface (output is 1) or a frontface (output is 0). Note that the direction of the polygon’s surface normal determines which side is the front and which is the back. Phong Normal In contrast to Face Normal, this port’s output depends on the normals of the polygons that surround the polygon hit by the ray. To switch on this port, in the Attribute manager, disable Only Test. XPRESSO EDITOR • 1013 Reference This Reference node finds the object that is directly below the Cube object (Path = ‘D’ for ‘Down’), i.e. the Sphere object. Once found, the object (i.e. the Sphere) is then passed to an Object node, which in turn outputs the object’s name: ‘Sphere’. With this node, you can access an object using a relative search path. This path is described by the letters ‘U’, ‘D’, ‘N’ and ‘P’. Use ‘U’ and ‘D’ to move up or down a hierarchy level respectively, and ‘N’ and ‘P’ to move to the next or previous element respectively. The Object node also references objects in this way — see the description of the Object node for more details. The following input ports are available: Instance The object that you connect here defines where the search path begins. For example, to reference the children of a particular object, connect the object to this port. The path then starts from this object. Path Connect the string that contains the path to this port. The path itself is composed of the characters already mentioned: ‘U’, ‘D’, ‘N’ and ‘P’. You can also enter this path directly into the Attribute manager. The node will output the object described by the path via the Instance output port (provided that an object can be found at that position). Remark Use this node to document your expression with explanatory notes. Type the note into the Attribute manager’s Comment box. 1014 • CHAPTER 22 Result, Spy The Result and Spy nodes are troubleshooting tools. Result displays, in the node itself, the value at its input port. The Spy node passes the value to its output port rather than displaying it. You can check the output of any element by connecting it to a Result or Spy node. The Result node has an input only while the Spy node has an input and an output. Use the Result node if you don’t need to pass the value on to another element, otherwise use the Spy node and connect it between the two elements. Set the data type for the Result or Spy node in the Attribute manager.  Result and Spy nodes slow down the expression. Therefore you should delete them as soon as they are no longer required. Sound A sound is played each time the cube and sphere collide. With this node, you can load and play back sound files in the viewport (but not in the render). The sound file must be in a format that CINEMA 4D supports, such as WAV or AIFF. To load the file, in the Attribute manager, click the button that is next to the Filename text box. Use the dialog that opens to locate and open the sound file. In the Attribute manager, you’ll also find a setting called Probe. This defines how many samples will be used to calculate the amplitude — the greater the number of samples in this calculation, the more damped the sound will become. In other words, the sound gets quieter as you increase the Probe value. The following input ports are available: Play Pass a Bool value of 1 to this port to trigger sound playback. XPRESSO EDITOR • 1015 Sample A sample is the smallest unit that a sound file can have. The number of sound samples per second can vary greatly depending on the compression and quality of the sound file. This port gives you access to every sample. Time Usually, you’ll want the sound to be played back at its original speed. However, if you want to play the sound at a faster or slower rate, connect your own time to this port. The following output ports are available: Left The left channel’s current volume (the amplitude of the samples for the left sound channel). Length The length of the sound file in seconds. If you want the number of samples instead, use the Sample port. Right The right channel’s current volume (the amplitude of the samples for the right sound channel). Samples The total number of samples in the sound file. Spline The Iteration node outputs all whole numbers from 0 to 100 one after the other. These numbers are each divided by 100 to convert them to Real values in the range of 0.0 to 1.0. These Real values are then passed to the Spline node’s Offset port, which causes the Spline node to output the coordinates of 101 positions along the spline. This node outputs the coordinates of positions along a spline. You specify the position that you want to check as a percentage, where 0% represents the start of the spline and 100% represents the end of the spline. Depending on the Matrix Mode setting in the Attribute manager, the node outputs the position in local coordinates or in global coordinates. A spline can consist of one or more segments. If the spline has more than one segment, pass the number of the segment that you want to examine to the Segment input port. Note that the first segment is accessed with the value 0, the second segment is accessed with the value 1, and so on. 1016 • CHAPTER 22 If Use All Segments is enabled in the Attribute manager, the Offset value refers to the length of the entire spline including all its segments. If the spline is composed of one segment only, you can ignore the Segment port (the segment will be used automatically). The way in which a spline is subdivided depends on its interpolation settings. For example, points may be concentrated around the bends. This has implications if you want to move an object along the spline at constant velocity — the spline must be subdivided evenly. Enable the Use Natural Distribution option if you want the Spline node to output values that are equal distances apart. The following output ports are available: Closed Outputs a Bool value of 0 if the spline in open or 1 if the spline is closed (splines can be closed by enabling the Close Spline option in the Attribute manager). Length Outputs the length of the chosen spline segment, as a Real number. Position Outputs the coordinates of a position along the spline (as defined by the Offset value and the Matrix Mode setting). Segments Outputs the total number of spline segments. When passing the number of a segment to the Segment input port, keep in mind that the number of the first segment is 0. Tangent Tangents define the run of the curve before and after the position along the curve. This port outputs the tangent for the chosen position along the spline as a vector. XPRESSO EDITOR • 1017 Time You can access various animation parameters via the following output ports: Delta The time interval between two frames, given in seconds. End The end of the animation as defined in the project settings. Frames per second The frame rate as defined in the project settings. Frame Current frame since the start of the animation. Loop end End of the preview area (the green area in the Timeline), given in seconds. Loop start The start of the preview area, given in seconds. Previous The time before the current frame. Real Current time in seconds since the start of the animation. 1018 • CHAPTER 22 Start The start of the animation as defined in the project settings. Time Current time is seconds since the start of the animation (internally, this is more precise than ‘Real’). Weightmap An object’s first Vertex Map tag is accessed. The first point (index = 0) is assigned a weight of 0.5 (i.e. 50%). Weight maps store a value between 0.0 to 1.0 for each point in an object. These values affect how strongly each point is influenced when deformers such as bones are applied to the object. With the Weightmap node, not only can you read these weight values, you can change them also. The following input ports are available: Index The values in the weight map are stored in the same order as the index values of the object’s points. Therefore the first weight value in the list applies to point 0, the next weight value to point 1, and so on. To access the weight value of a specific point, pass the point’s index number to this port. If you are not sure how many points the object has or how many entries there are in the weight map, you can find this out using a Point node. Tag Connect the desired tag to this port. Value Here you can set the point’s weight. You can enter a value from 0.0 to 1.0. The following output ports are available: Count The object’s total number of points Value The point’s weight value. XPRESSO EDITOR • 1019 Adapter Group The nodes in the Adapter group convert a value from one data type to another. Although XPresso’s wires convert various data types automatically, you can use an adapter node to force a particular conversion. Matrix2Vectors This adapter splits a matrix into its four components: the Offset (also known as V0) and the three vectors V1, V2 and V3. The Offset represents the position of the matrix while the three individual vectors define the rotation and scale of the axis system (the Scale is defined by the length of each vector). Reals2Vector This adapter converts three Real values to a vector. For example, you might convert an object’s X, Y and Z values into a single position vector. Universal The Universal adapter enables you to convert from one data type to any other compatible type. For example, you can connect the Bool and Vector types using a Universal node whose data type is set to Real. Since the wires between nodes convert most data types automatically, most of the time you won’t need to use this node. The Universal node’s data type (Attribute manager) defines the format into which the input will be converted. 1020 • CHAPTER 22 Vector2Reals The Vector2Reals node performs the reverse operation of the Reals2Vector node — it splits a vector into its three component (Real) values. For example, a rotation vector is split into its H, P and B components. Vectors2Matrix This adapter converts the four vectors Offset, V1, V2 and V3 into a matrix. This node performs the reverse operation of the Matrix2Vectors adapter. XPRESSO EDITOR • 1021 Bool Group The nodes in the Bool group perform various Boolean functions. Each Bool node uses the Bool data type, which has two possible states only: True (represented by 1) and False (represented by 0). Bool The Bool node performs various Boolean functions. On the Attribute manager’s Node page, choose the desired function. AND The output is True if all inputs are True. Otherwise, the output is False. OR The output is True if at least one input is True. Otherwise, the output is False. XOR (Exclusive OR) The output is True if an odd number of inputs is True. Otherwise, the output is False. NAND (Not AND) If all inputs are True, the output is False. Otherwise, the output is True. NAND performs the reverse operation of AND. 1022 • CHAPTER 22 NOR (Not OR) If at least one input is True, the output is False. Otherwise, the output is True. NOR performs the reverse operation of OR. NXOR (Not Exclusive OR) If an even number of input is True, the output is True. Otherwise, the output is False. NXOR performs the reverse operation of XOR. NOT This node negates a Bool value. If the input is True, the output is False. If the input if False (0), the output is True (1). Switch This node outputs a Bool constant as defined in the Attribute manager, either True (Value enabled) or False (Value disabled). XPRESSO EDITOR • 1023 Calculate Group Absolute This node calculates the absolute value of the input and outputs the result. The absolute value is the input value without its sign. For example, if the input is -230.5, the node will output 230.5. Choose the node’s data type in the Attribute manager. C.O.F.F.E.E. This node enables you to integrate C.O.F.F.E.E. code with your XPresso expression. You can add any number of input ports to the node and rename them via the node’s context menu. However, you cannot change the type of a port. If you add a port of the wrong type, you must delete it (doubleclick it) and add a new port of the correct type. The input ports are declared automatically as variables — there is no need to declare them in the node. For example, the default C.O.F.F.E.E. node has two input ports (Input 1 and Input 2) that are used in the code without first being declared. As with the input ports, you can add output ports of varying type and you can rename them freely. You can enter the expression directly into the Script box in the Attribute manager, or for more space you may prefer to use the C.O.F.F.E.E. editor instead. To open the C.O.F.F.E.E. editor, in the Attribute manager, click the Open C.O.F.F.E.E. Editor button. From this editor, you can also compile the program and run it. The Protect button enables you to protect your expression by means of a password. The contents will then be hidden. Only by entering the correct password can the user gain access to the contents of the XGroup. If you’re the type of person who doesn’t like remembering passwords, why not just keep your own unprotected copy of the expression? 1024 • CHAPTER 22 Keep in mind that some restrictions apply when using C.O.F.F.E.E. programs in C.O.F.F.E.E. nodes. In particular, neither the project nor the objects in the scene can be accessed directly by the C.O.F.F.E.E. code. Instead, pass the desired information — such as an object’s position — to the C.O.F.F.E.E. node via another node. The C.O.F.F.E.E. node is designed primarily for evaluating math expressions and for adding simple programming structures to the XPresso expression, such as the if/then/else statement. Complex expressions should be written as standard C.O.F.F.E.E. expressions instead.  For more information on C.O.F.F.E.E., visit www.plugincafe.com. Clamp This node clamps the input to a range of values and outputs the result. Input values that are within the range are passed directly through to the output. Input values outside the range are clamped to the lower limit or upper limit of the range, whichever limit is nearer. For example, suppose you’ve defined a range from 5 to 12. Input values of 1, 8 and 15 will result in output values of 5, 8 and 12 respectively. The Clamp node has many uses. For example, you might use the node to restrict an object’s movement to a particular volume of 3D space or period of time. Choose the node’s data type in the Attribute manager. Colorspace One use of the Colorspace node is to find out how bright an RGB color is. Convert the RGB value to HSV; the V value gives you the color’s brightness. Colors in CINEMA 4D can be defined using any of several different colorspaces. This node enables you to convert a color value from one colorspace to another. Choose the type of conversion in the Attribute manager. If RGB From 0 To 255 is enabled, the components of RGB colors will be in the range of 0 to 255 instead of the normal range of 0.0 to 1.0. If Hue 0.0 To 360.0 is enabled, hue values are given in degrees instead of radians. XPRESSO EDITOR • 1025 Cross Product Outputs the cross product of two input vectors. The cross product creates a vector perpendicular to the plane of the two input vectors. For example, you can use this node to calculate the surface normals of polygons yourself. Choose the node’s data type in the Attribute manager. The direction of the output vector depends on the direction of the plane between the two input vectors, but not on its length. Hence you may need to normalize the output vector (for this, use a Universal adapter node and set its Data Type to Normal). In other words, you may need to set the length of the output vector to 1.  The order of the input vectors affects the direction of the output vector. If you swap the input vectors around, the output vector will point in the opposite direction. Degree Most nodes work in radians instead of degrees where angles are involved. An angle of 360° corresponds to 2*Pi radians. If you want to work in degrees instead of radians, use the Degree node to convert radians to degrees and vice versa. On the Attribute manager’s Node Properties page, choose the direction of the conversion from the Function drop-down list. Distance  To display the distance value in CINEMA 4D’s viewport, create an Object node for a Text spline. Connect the Distance node’s output to the Object node’s Text input. To make the text visible when rendered, make the spline a child of a Loft NURBS or Extrude NURBS. This node calculates the distance between two positions in 3D space and outputs the result. For example, if you connect the positions of two objects to the node’s inputs, the node will output the distance between the objects. If you want the distance to be calculated as soon as you move the objects in the viewport, ensure that Live Refresh is enabled (XPresso Editor: Calculate > Live Refresh). 1026 • CHAPTER 22 Dot Product Here the dot product is used to calculate the angle between two input vectors. The following applies: the dot product of Vector 1 and Vector 2 = the length of Vector 1 * the length of Vector 2 * the cosine between Vector 1 and Vector 2. The dot product, or scalar product as it is often called, calculates the projection of a vector onto another vector. You can think of this as the shadow that is cast onto a sun dial, where one of the vectors lies on the dial plate, the other vector represents the direction of the gnomon (the part that points out and casts the shadow) and the sun is directly above the sun dial. This shadow corresponds to the dot product of the two input vectors. You can connect the two input vectors either way round to the Input 1 and Input 2 ports (the result will be the same no matter which way round you connect the input vectors). The inputs must always be vectors, but you can change the data type of the node itself in the Attribute manager. You have a choice of Color, Vector or Normal. FloatFunc This node gives you direct access to a number of math functions and is especially useful when used as an extension to the Formula node or to round values up or down. Choose the desired function on the Node Properties page of the Attribute manager. Exp Calculates the exponential function of the input value. Ln In this mode, the natural logarithm is calculated. Ln10 Calculates the logarithm to the base 10. XPRESSO EDITOR • 1027 Sqrt Calculates the square root of the input. Floor In this mode, the input is rounded down to the nearest integer value. For example, the input 4.95 produces the output 4. Ceil In this mode, the input is rounded up to the nearest integer value. For example, the input 4.01 produces the output 5. Pow This mode raises the input to the power of the input. For example, an input of 5 is raised to the power of 5, to produce an output value of 3125. Pow2 In this mode, the input is squared. An input of 5 produces an output of 25. FloatMath The Float Math node compared with the Math node. This node works in a similar way to the Math node except that it is able to perform math operations on two inputs that have different data types. The difference between the Math node and the FloatMath node is as follows: Math Node The Math node carries out its calculations using the data type that is defined in the Attribute manager. If the node receives input values of a different data type, they are converted to the Math node’s data type before the calculation takes place. The Math node allows more than two inputs to be used, whereas the FloatMath node is limited to two inputs. 1028 • CHAPTER 22 FloatMath Node This node, on the other hand, always carries out its calculations using the Real data type. If the node receives input values of a data type other than Real, they will be converted to the type Real before the operation is performed. In the case of an input value of the type Vector, the length of the vector will be used. Formula The Formula node outputs the result of a mathematical formula. Enter the formula on the Attribute manager’s Node page. The node’s inputs and outputs are set to the data type Real. You can integrate as many variables as you wish in the formula. Create an input for each variable and represent the variables in the formula by entering ‘$’ followed by the variable’s port number. For example, the formula ‘2*$1+$2’ means ‘multiply the value at port 1 by the number two, then add the result to the value at port 2’. The Formula node enables you to enter values in degrees as well as in radians. On the Attribute manager’s Node Properties page, choose the system you want to use — radians or degrees — using the Angle Type drop-down list. By checking the Use Portnames checkbox, you can use the actual input port names of the node In addition to basic math operations, you can use functions such as COS (cosine), SIN (sine), SQRT (square root) and EXP (Exponential function) as well as constants such as Pi. For a list of all operators, functions and constants, see the Appendices of this manual. Invert Outputs the inverse of the input. For example, an input of 5 produces an output of 0.2 (1/5). Choose the node’s data type in the Attribute manager.  You can use this node to invert numbers or matrices. For example, you can combine this node with a MatrixMulVector node to convert a position from world coordinates to local coordinates. In the Attribute manager, choose whether a real number or a matrix should be inverted. XPRESSO EDITOR • 1029 Math The Math node performs a math operation such as addition or multiplication. Choose the function and data type in the Attribute manager. Add Adds the inputs together and outputs the result. This is the default function. Subtract Subtracts the second (and any additional) input from the first and outputs the result. Multiply Multiplies the inputs and outputs the result. Divide Divides the first input by the second input by each of the remaining inputs and outputs the result. E.g. 10 / 2 / 4 = 20 = (10 * 4) / 2. Modulo Outputs the integral remainder of a division. For example, 11 modulo 10 = 1 and 23 modulo 10 = 3. Matrix2HPB This node converts a matrix to three vectors: the heading, pitch and bank angles. Each angle is specified in radians. If you want to work in degrees, use the Degree node to convert radians to degrees and vice versa. 1030 • CHAPTER 22 MatrixMulVector This expression coverts one of the cube’s coordinates from local to global coordinates. A local vector is a vector whose components have been calculated using an object’s local coordinate system. If you multiply a local vector by the object’s global matrix, the result is a global vector. Therefore one use of this node is to convert a point’s local position to world coordinates. You can also perform the reverse operation (i.e. convert world coordinates to local coordinates) by first inverting the object’s global matrix (use an Invert node with its Data Type set to Matrix). To influence the vector’s direction but not its position, in the Attribute manager enable the Normal option. Mix This node mixes two input values to produce a single output value. Mixing Factor defines the proportion in which the two values are mixed. Values range from 0% (output = input 1) to 1 (output = input 2). For example, if you set Mix Factor to 50% and the inputs are 1 and 3, the node will output 2. If you then change the Mix Factor to 33% and leave the inputs at 1 and 3, the node will output 1.666. Negate  You can use this node to invert numbers or matrices. For example, you can combine this node with a MatrixMulVector node to convert a position from world coordinates to local coordinates. In the Attribute manager, choose whether a real number or a matrix should be inverted. Negates the input and outputs the result. For example, an input of 2 results in an output of -2. Choose the node’s data type in the Attribute manager. XPRESSO EDITOR • 1031 Range Mapper This node remaps a value from one range to another. For example, suppose the height of an object should control a light’s brightness using a set driven key. When the object is at 0 m, the light’s brightness should be 0%. When the object is at 2 m, the brightness should be 100%. Using the Range Mapper node, the object’s height can be remapped from the range 0 to 2 m to the range 0 to 100%. In this case, a height of, say, 1.5 m would be remapped to 75%. The node has four inputs that define the input range and the output range: Input Lower and Input Upper define the input range; Output Lower and Output Upper define the output range. The Input port defines the value that should be remapped. In addition, several options control input values that are out of range. Data Type Defines the node’s data type. Input Range, Output Range, Input Lower, Input Upper, Output Lower, Output Upper Here you can choose commonly-used ranges such as 0% to 100%. User Defined In this mode, the input range and the output range are defined by the values in the Attribute manager for Input Upper, Input Lower, Output Upper and Output Lower (or by the ports of the same name, if you have added these). Degree Defines the range 0 to 360. Radians Defines the range 0 to 6.283. This corresponds to 2*PI. Percent Defines the range 0% to 100%. Zero To ... These modes define the ranges 0 to 1, 0 to 100 and 0 to 1,000. 1032 • CHAPTER 22 Clamp Lower, Clamp Upper These settings automatically restrict the input value to the input range (i.e. to values from Input Lower to Input Upper). If the input is outside the range, it is clamped to the Input Lower value or the Input Upper value — whichever is closer. For example, suppose the input range is 0 to 36 and the output range is 0 to 100. An input value of 38 would be clamped to 36 (the upper limit of the input range), leading to a remapped output of 100. A negative input value would be clamped to the lower input limit — in this case, 0. You can enable the Clamp Lower and Clamp Upper options independently of each other. Modulo If this option is enabled, the input is adjusted dynamically to fit the input range. For example, suppose you’ve enabled the Modulo option, defined an input range from 0 to 100 and disabled Clamp Upper. An input of 101 will be adjusted to 1 (101 modulo 100 = 1). In other words, the input value will be divided by the upper limit and the remainder will become the new value. No matter how high you raise the input value, the Modulo node always cycles within the input range. This is especially useful for angles rotated past 2*Pi (360°) in the viewport; you can then work with values in the range 0° to 360°. Reverse The Reverse option reverses the output range. For example, an input that is the same value as the lower input limit will be remapped to the value of the upper output limit instead of the lower output limit. Use Spline Enable the Use Spline option to activate the graph on the Attribute manager’s Parameter page. Spline graph The purpose of the spline graph is to allow nonlinear remapping. There are many cases where you might want the Range Mapper node’s output to rise gradually at first and then rise sharply as the upper limit is approached. One such case is a bicep’s muscle, the bulge of which depends on how far the elbow is bent. Most of the bulging occurs as the elbow approaches full bend. Splines give you an easy way to simulate these nonlinear dependencies. XPRESSO EDITOR • 1033 To create a point, click on the graph; to move an existing point, drag the point; to delete a point, drag the point out of the graph. The graph’s X-axis represents the input value, the Y-axis the output value. You can influence the spline’s curvature using a Tension slider, which you access by clicking the triangle next to the graph. The strength of the Tension slider controls the interpolation between the spline’s points. With a high Tension setting, the spline curve passes through all its points. With a low setting, a soft curve is created and the points control only the approximate path of the curve (i.e. the curve won’t necessarily pass through the points). This soft curve is similar to a B-Spline. The position of a selected point is shown in the X and Y boxes. You can enter new values for the point if desired. As with the Tension slider, click the triangle next to the graph to access the X and Y boxes. You can choose a particular shape for the graph’s curve using the context menu; right-click (Windows) or Command-click (Mac OS) on the graph and choose the desired curve shape such as Linear, Cubic or Sin. Default Points defines the number of points used to create the curve shape. A straight line from the bottom left to the top right of the graph represents linear behavior (the same result as disabling Use Graph). If you add a point to the middle of the line and drag it up or down, the remapping becomes non-linear. If you want the output to increase gradually with low to medium input values then rise sharply as the input approaches its upper limit (such as for the biceps muscle mentioned earlier), draw a curve (by adding points and dragging them), from left to right, that is shallow at first then rises sharply towards the top right corner of the graph. Trigonometric  This node works with radians (i.e. 0 to 2*Pi instead of 0 to 360 °). If you want to work in degrees, use a Degree node to convert radians to degrees and vice versa. This node performs one the following trigonometric operations on the input and outputs the result: Sin, Cos, Tan, Sinh, Cosh, Tanh, ASin, ACos and ATan. On the Attribute manager’s Node Properties page, set Function to the desired operation. Vector2Matrix Use this node to convert a vector to a matrix. For example, you might use the node to convert an object’s position vector to a matrix then transfer the matrix to another object. In the case of a position vector, the V1, V2 and V3 vectors of the matrix are calculated so that a particular axis — X, Y or Z, depending on the Function setting in the Attribute manager — points at the position vector. Suppose you have two objects: A and B. If you convert A’s position vector to a matrix then pass the matrix to B, B will point at A with the chosen axis. The Offset of the matrix (i.e. V0) is left empty. If you want the object that receives the matrix to still be able to move freely, insert the Offset in the matrix. 1034 • CHAPTER 22 Logic Group The Logic group nodes enable you to compare values. Most of these nodes use the Bool data type, which has two possible states only: True (represented by the value 1) and False (represented by 0). Compare This node compares two values using one of several comparison operators and outputs the result as a Bool. The node outputs a value of ‘1’ if the comparison evaluates to True or a value of ‘0’ if the comparison evaluates to False. In the Attribute manager, choose the comparison operator from the Function drop-down list. == Equality. Use the equality operator to check if two inputs are of the same value. The output is True if the inputs are of the same value. Otherwise, the output is False. < Less Than. The output is True if the first input is less than the second input. Otherwise, the output is False. <= Less Than or Equal To. The output is True if the first input is less than or equal to the second input. Otherwise, the output is False. > Greater Than. The output is True if the first input is greater than the second input. Otherwise, the output is False. >= Greater Than or Equal To. The output is True if the first input is greater than or equal to the second input. Otherwise, the output is False. != Not Equal To. The output is True if the two input values are not equal. Otherwise, the output if False. This function is, therefore, the reverse of the Equality operator (==). XPRESSO EDITOR • 1035 Condition The Condition node is like a switch that has two or more states. You can add any number of states to the node by adding a port for each state from the Inputs menu. The Switch value determines which state the node outputs. For example, if Switch is set to 0, the node outputs the first (i.e. topmost) state. If Switch is set to 1, the node outputs the second state and so on. Once the Switch value reaches the last state, adding 1 to the Switch value loops back to the first state. Thus you can keep raising the Switch value to cycle through the values one by one in a loop — useful if you want to pass a repeating sequence of values to another node or an XGroup. Choose the Condition node’s data type in the Attribute manager. Equal The output is True if both inputs are equal. Otherwise, the output is False. You can also check matrices for equality using this node. Set the node’s data type in the Attribute manager. Not Equal This option, which is available in the Attribute manager, reverses the action of the node. With the option enabled, the output is True if the two inputs are not equal. Otherwise, the output is False. Is Null The output is True if the input is 0. Otherwise, the output is False. Set the data type in the Attribute manager. 1036 • CHAPTER 22 Order Use this node to determine which is the larger of two values. Possible outputs are 1 (first input is the larger value), -1 (second input is larger) and 0 (inputs are equal). Set the node’s data type in the Attribute manager. XPRESSO EDITOR • 1037 Iterator These nodes have one thing in common: they can each output many values per frame. For example, a single iterator node can output the position of each object in the scene. Iterators correspond to the ‘for next’ loop commonly used in computer programming. Iterators enable objects, materials, object points and object polygons to all be processed in one go. For example, you could control, say, 47 objects at the same time using the ObjectList iterator by assigning all 47 objects to the iterator and connecting the iterator to the control node. Hierarchy Paths enable you to access groups of objects at any position in the hierarchy. In this example, the Hierarchy node outputs the three Sphere objects. This node first locates a position in an object hierarchy, as defined by a Reference Path and a Start Path. From this position in the hierarchy, the node then follows a repeatable Iteration Path and outputs all of the objects it meets as it travels along the iteration path. The node is controlled primarily in the Attribute manager. Reference Mode Use Start Position To reference an element relative to the object that owns the XPresso tag, use either this mode or the more advanced Relative Reference mode. For example, to reference the element that is three positions before the object that owns the tag, set Reference Mode to Use Start Position, set Start Position to Predecessor On This Level and set Start Distance to 3. The Use First Position mode also enables you to reference the first or last object in the scene. Absolute Reference This mode references the object that is displayed in the Reference box. If you want to use the expression in several places in your scene, avoid using the Absolute Reference mode, otherwise you’ll need to change the referencing of the objects each time. 1038 • CHAPTER 22 Relative Reference This mode is similar to Use Start Position. It enables you to reference an element relative to the object that owns the XPresso tag. Unlike the Use Start Position mode, you enter a path that gives the node instructions on how to reach the element. The starting position is the object that owns the tag. For example, the path ‘UPPDN’ stands for ‘Up, Previous, Previous, Down, Next’, where Previous and Next represent a jump to the previous or next element on the same hierarchical level. Up and Down represent jumps one level up or one level down the hierarchy. The advantage of a relative reference is that it enables you to transfer the Object node from one hierarchy to another without problems. Edit the path using the Path box. Start Position This defines the Start Position when Reference Mode is set to Use Start Position. The setting is relative to the object that owns the XPresso tag. For example, if you set Start Position to First In This Level, the node references the first element on the same hierarchical level as the object that owns the tag. This Object The object that owns the tag. Up In Hierarchy Chooses the first object one level up the hierarchy. Down In Hierarchy Jumps to the first object one level down the hierarchy. Successor On This Level Chooses the next object on the same hierarchical level. Predecessor On This Level Jumps to the previous object on the same hierarchical level. First On This Level Chooses the first element on the same hierarchical level. Last On This Level References the last element on the same hierarchical level. First In Scene Chooses the first object in the scene. Last In Scene Jumps to the scene’s last element. XPRESSO EDITOR • 1039 Start Distance With some Start Position modes you might want to jump several steps in the hierarchy in one go. In such cases, use Start Distance as a multiplier for the Start Position. For example, to reference an object that is three positions after the object that owns the XPresso tag, set Start Position to Successor On This Level and set Start Distance to 3. Reference Path See ‘Relative Reference’, above. Start Path This box is available only when Reference Mode is set to Relative Reference. Use the box to enter the path for the relative reference. For example, ‘UPPDN’ stands for ‘Up, Previous, Previous, Down, Next’. See also ‘Relative Reference’, above. Iteration Path The Hierarchy iterator continually repeats this path. For example, ‘N’ will cause the node to output all objects that are on the same level one after another. The Hierarchy iterator continues to output objects until either of the following happens: - there are no more objects at the hierarchical position defined by the Start Path and the (repeated) Iteration Path. - the number of iterations defined by the Maximum Iterations input port has been reached. The Hierarchy node then refers to the object that is defined by the Reference Path and Start Path once more. The next time the node is called, the Iteration Path will be repeated over again. Exclude If you want the node to ignore some of the objects in the hierarchy during the iteration, drag the names of these objects from the Object manager and drop them into this box. The iteration will skip over any of these objects it meets as it runs through the hierarchy. The following input ports are available: Maximum Iterations Suppose you want the node to output ten objects only, even though there are more than ten objects that can be found by the Iteration Path. Here you can set the maximum number of iterations. Object You can connect a reference object directly to this port. This saves you from having to manually enter the path in the Reference Path box. 1040 • CHAPTER 22 On The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. The following output ports are available: Count The total number of objects in the hierarchy being searched. In other words, this is the maximum number of objects that the node would be able to find via the Iteration Path. Object The objects found. Iteration In the Attribute manager, set the Matrix Mode for the top two Point nodes above to Local.   You cannot make XGroups repeat using Iteration nodes. You can form nested loops by connecting several Iteration nodes together via their Previous Iterator ports. This node allows you to simulate program loops. A numeric value is increased by steps of 1 until a maximum value is reached. The value is then reduced to its minimum value and the loop begins once more. A complete loop is performed per animation frame. The Iteration node is especially useful when editing a large number of points via a Point node. For example, you can connect the Iteration node’s output to the Point node’s Index port to edit multiple points in one step. The Iteration Start and Iteration End input ports define the start value and the maximum value for the loop. The Iteration port outputs the numbers in the loop one after the other. The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. The Count port outputs the total number of iterations in the loop. XPRESSO EDITOR • 1041 Material You can use the Material node to, for example, access a particular material in the Material manager. Here, the first material, then the second material, and finally the third material are passed on to an object. The Compare node controls the progress in the Material manager according to the current animation time. The materials are changed automatically over time. This node searches for materials in the Material manager. The search begins with the top left material. Choose which type of material the node should search for in the Attribute manager (Material Type setting). In addition, you can exclude materials from the search by dragging them into the Exclude box in the Attribute manager. The following input ports are available: First Material This port takes an integer value which defines where the search should begin. A value of 0 means the search will begin with the first material in the Material manager onwards. A value of 1 means the search will skip the first material and begin with the second material instead, and so on. Maximum Materials This port defines the maximum number of materials that the node will output. A value of 0 means the node will output all the materials that match the search criteria. On The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. 1042 • CHAPTER 22 The following output ports are available: Count The total number of tags found. This value depends not only on the search criteria but also on the value of the Maximum Materials port. (The Maximum Materials value can limit the number of materials the node outputs, even if there are further materials of the desired type). Material The materials found. ObjectList When you want to introduce a known number of objects into the expression, this node is often the quickest way to do it. Drag and drop all the objects that you want the node to output from the Object manager into the Iteration List box in the Attribute manager. Each time the node is called, the node will output these objects one after the other, from the top of the list to the bottom. The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. The Count port outputs the total number of objects in the Iteration List. Selection This node enables you to access Selection tags. The node outputs the index numbers of the points or polygons in the Selection tag one after the other. The following input ports are available: On The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. XPRESSO EDITOR • 1043 Tag Connect the desired Selection tag (point, polygon or edge) to this port. The following output ports are available: Count Outputs the total number of elements in the Selection tag. In the case of edges, this value will actually be double the number of edges in the tag. This is because the node will output the number of points that make up the edges, not the actual number of edges. Iteration Outputs the index numbers of the points, polygons or edges in the Selection tag one after the other. Edges are again a special case — for each edge, the node outputs the index numbers of its points. Tag Tag nodes enable you to access the various tags that belong to an object. Choose which type of tag you want to search for in the Attribute manager. Here, the Tag node searches for a Point Selection tag. Once found, the tag is passed to a Selection node. This node outputs an object’s tags. Connect the object whose tags you want to access to the Object input port. In the Attribute manager, set Tag Type to the type of tag that you want to access. You can exclude individual tags from the search by dragging and dropping them into the Exclude box in the Attribute manager. The following input ports are available: First Tag Usually, all tags that belong to the object are checked, starting with the first tag. However, this value enables tags to be skipped. For example, if First Tag is set to 0, the search begins with the first tag and all tags are checked. However, if First Tag is set to 1, the first tag will be skipped and the search will begin with the second tag. Maximum Tags Here you can specify the maximum number of tags that the node will output. For example, a value of 3 means that the node will output the first three tags only that match the search criteria. If the port receives the value 0, the node will output all tags that match the search criteria. Object Here, connect the object whose tags you want the node to output. 1044 • CHAPTER 22 On The On input port takes a Bool value that enables (True) or disables (False) the node. The node is enabled automatically if you do not add this port. The following output ports are available: Count Outputs the total number of tags found. This value depends not only on the search criteria but also on the value of the Maximum Tags port. (The Maximum Tags value can limit the number of tags the node outputs, even if the object has further tags of the desired type). Tag Outputs the tags found. XPRESSO EDITOR • 1045 Set Driven Keys Set driven keys provide an easy way to create object interactions without using the XPresso Editor directly. A set driven key is a relationship where one parameter controls another. For example, suppose you want a door to open and close automatically as a character enters a room. The character’s position can be used to control whether the door is open or closed. The object parameter that does the controlling is the driver. The parameter that is being controlled is driven. Almost any kind of setdriven relationship is possible, making it easy to manage complex motions or objects. To create a set driven key: - Decide which parameter is the driver and which parameter is driven (the driver controls the driven parameter). - Set the driver as follows: In the Object manager, select the object of the parameter that you want to act as the driver. In the Attribute manager, right-click (Windows) or Command-click (Mac OS) the name of the parameter that you want to act as the driver to open its context menu. From the context menu, choose Animation > Set Driver to define the parameter as the driver. - Set the driven parameter as follows: In the Object manager, select the object of the parameter that you want to be driven. In the Attribute manager, right-click (Windows) or Command-click (Mac OS) the name of the parameter that you want to be driven to open its context menu. From the context menu, choose Animation > Set Driven (Absolute) to define the parameter as driven. An XPresso tag is added to the driven object in the Object manager and the driver now controls the driven parameter. When selecting the driver and driven parameters, you can click individual parameters or parameter groups. 1046 • CHAPTER 22 Relative Driven Keys There is a second variation of set driven keys: relative driven keys. These allow values to be set directly or with a range mapper node that is created automatically. In both cases the Input Upper, Input Lower, Output Upper and Output Lower parameters are adjusted accordingly. To create a relative set driven key: - Use the same procedure as for normal set driven keys (see above), except choose Animation > Set Driven (Relative) instead of Animation > Set Driven (Absolute) when you set the driven parameter. Once you’ve created the set driven key, edit the Range Mapper’s values as desired. 23 Structure Manager STRUCTURE MANAGER • 1049 23 Structure Manager  Data is shown only if the selected object is editable. To make a primitive editable, select the primitive and choose Functions > Make Editable. Like a spreadsheet, the Structure manager processes data directly within cells that are divided into rows and columns. You can edit data numerically for points (including spline points), polygons, UVW coordinates or vertex maps. The Structure manager shows the data for these items of the selected object. Choose which type of data is shown from the Mode menu. Choose whether the Structure manager displays the data of points, polygons, UVW coordinates, vertex maps or n-gons. If you want to edit data for a UVW map or a vertex map and the object has more than one of these maps, in the Object manager select the desired map to display its data in the Structure manager. Values in the cells can be edited directly and lines can be moved by means of drag-and-drop. Cut, copy, paste are supported. Larger quantities of data can be processed rapidly, even if the object has a large number of points or polygons. The selection frame (a red frame around an active box) shows you which data you are working on; navigating around the table is thus very simple. 1050 • CHAPTER 23 Navigating the Structure manager Selection To select a row, click the row’s left column (the Point or Polygon column). To select multiple rows, click the first row that you want to select then Shift-click the remaining rows that you want to select. To remove a row from the selection, Shift-click the row again. Selection frame To select a cell, click it. You can also change which cell is selected using the cursor keys or the Tab key and Shift-Tab. Press Home to change the selection to the first row or End to change the selection to the last row (the same column will be selected).  If you have a small Apple USB keyboard with no End key, press the ‘+’ key on the numeric keyboard instead to change the selection to the last row. To move the selection up or down a page, press the Page Up or Page Down key. To select a cell and enter edit mode, double-click the cell. Once in edit mode, you can move cells while still in edit mode using Tab to go right, Shift-Tab to go left, cursor up to go up, and cursor down to go down. To enter a value while in edit mode, enter the desired value and press Return. If you make a change and press Esc before pressing Enter to apply the change, the previous value is restored. Drag-and-drop You can drag elements within the Structure manager to a new position to change their order. For example, if a Spline object and the Points tool are selected, you can drag and drop the bottommost point to above the top point to make what was the last point become the first point. While you drag, a red frame indicates where the dragged element will be placed if you release the mouse button in this position. To copy the content of one cell to another, hold down Shift and drag the cell of the value that you want to copy and drop this onto the cell which you want to receive the copied value. STRUCTURE MANAGER • 1051 File Menu New Line A new line is inserted into the table below the selection frame. If you are in the point mode (default), a new point is added to the object. This is created at the object origin (X=0, Y=0, Z=0). By entering suitable X, Y and Z coordinates, you can change the spatial position of the point. If the active object is a Bezier spline, you can also enter values for the tangents. If you are in the polygon mode, New Line adds a new polygon to the object. The new polygon will not be visible yet, since it has not been allocated suitable points (see Mode). You must do this point allocation by hand. If you are in UVW mode, New Line creates a new UVW coordinate. Since CINEMA 4D assigns UVW coordinates to primitives automatically and UVW coordinates can be created easily using the Generate UVW Coordinates command, you may find little use for this command. Import ASCII Data Using this command, you can import points, polygons or UVW coordinates into the Structure manager. The data that you import must be an ASCII file in the following format. Point X Y Z 1 2 3 Here’s a real Point mode example for a cube: Point X Y Z 0 -100 -100 -100 1 -100 100 -100 2 100 -100 -100 3 100 100 -100 4 100 -100 100 5 100 100 100 6 -100 -100 100 7 -100 100 100 1052 • CHAPTER 23 The ASCII file must start with a header (the ‘Point X Y Z’ in the example above) and each row must start with the point number. The values within each line may be separated with a TAB character, a comma, a semicolon or a combination of these. Each line must end with the ASCII LF (linefeed) character or the CR (carriage return) character, or a combination of both. Thus the ASCII file can be created on a Macintosh, Windows or Unix computer. If data already exists in the Structure manager, the imported data is inserted before the line containing the selection frame To import a point cloud - Choose Object > Polygon Object to create an empty Polygon object. - In the Structure manager, choose Mode > Points (to be able to import points, you must first be in points mode). - In the Structure manager, choose File > Import ASCII Data and use the system file selector that opens to select the desired ASCII file.  Point clouds are invisible when rendered since they do not include polygons. To create surfaces that you can see, connect the cloud’s points together using the Bridge tool. Export ASCII Data You can export the data shown in the Structure manager as an ASCII file — perhaps for export to another 3D application. In Point mode, the X, Y and Z coordinates of each point are exported. If the selected object is a Bezier spline, its tangent values are exported also. In Polygon mode, the edge data for each polygon is exported. In UVW mode, the UVW coordinates of each polygon (defined so far) are exported. Close Closes the Structure manager. STRUCTURE MANAGER • 1053 Edit Menu Undo, Redo Undo undoes the last change to the object’s structure. The previous values are restored to the cells. You can set the undo level (i.e. how many changes are remembered and can be undone) on the Document page of the preferences. Redo undoes (i.e. cancels) the last undo. The redo level is the same as the undo level set on the Document page. Cut, Copy, Paste, Delete Cut removes the selected row(s) from the table and copies this to the clipboard. Copy copies the selected row(s) from the table into the clipboard, without deletion. Paste inserts any data copied or cut into the clipboard back into the table, above the selection frame. Delete deletes the selected rows. Select All, Deselect All, Invert All You can use these commands to select all rows, deselect all rows or invert the selection. Select Area The mouse pointer changes into cross hairs and you can draw a selection area with the mouse. All lines within the area you draw are selected. If some of the rows that you want to select are out of view, drag above or below the Structure manager window. The window will then scroll until you drag within the window once more. View Menu Jump Last Selection, Jump Next Selection These commands move the selection frame to the previous or next selected row. Jump Page Up, Jump Page Down These commands move the selection frame up or down one page. Jump Home, Jump End Use these commands to move the selection frame to the first column of the first row (Jump Home) or last row (Jump End). 1054 • CHAPTER 23 Mode Menu  All modes operate independently of the tool that you are using in the viewport. For example, you can process points in the Structure manager while working on polygons in the viewport. If you want the elements selected in the Structure manager to be shown in the viewport also, you must change to the appropriate tool. For example, if points are shown in the Structure manager, select the Points tool from the left toolbar. Points In Point mode, the coordinates of the selected object’s points are shown in the Structure manager. If the selected object is a Bezier Spline, the tangent values are shown also. No units are displayed; the unit of measurement is selected in the preferences and is assumed here. The display is organized as follows: XYZ show the coordinates of the respective point in the object coordinate system. <-X <-Y <-Z is the position of the end of any left tangent. X-> Y-> Z is the position of the end of any right tangent. Polygons  If C and D are identical, CINEMA 4D interprets the polygon as a triangle. If you are in Polygon mode, the index number of each corner point is displayed, as follows. A, B, C, D correspond to the respective index numbers of the three (or four) corner points of the polygon. UVW In UVW mode, the UVW coordinates of the polygons of the object are displayed as follows: U[A], U[B], U[C], U[D] are the U coordinates of the corner points of a polygon. V[A], V[B], V[C], V[D] are the V coordinates of the corner points of a polygon. W[A], W[B], W[C], W[D] are the W coordinates of the corner points of a polygon . Vertex Map If you are in Vertex Map mode, the weighting values for the points are shown. The value for a point ranges from 0 to 1. N-Gons If you are in N-Gons mode, the index number of each polygon and n-gon corner point is displayed. 24 Picture Viewer PICTURE VIEWER • 1057 24 Picture Viewer  For quick animation previews, use the Render menu’s Make Preview command. CINEMA 4D enables you to render either in the viewports or to the Picture Viewer using the commands on the Render menu (see Chapter 13, ‘Rendering’). Although you can render in the viewports when you want a quick test render of the current frame, you must render to the Picture Viewer when you want to render an animation or save the picture or animation. If you want to save the picture or animation when rendering to the Picture Viewer, first set the save path in the render settings. When you then render to the Picture Viewer, the picture or animation will then be saved automatically using this path. Other render properties such as antialiasing and softness must also be set in the render settings before you render to the Picture Viewer. To render to the Picture Viewer: - From the main menu, choose Render > Render To Picture Viewer. The Picture Viewer will open if it isn’t already open and you’ll see the picture or animation appear as it is being rendered by CINEMA 4D. To play an animation, use your preferred media player. Move and Scale Icons Move icon (left) and Scale icon. You’ll find these two icons in the top-right corner of the Picture Viewer. Click-drag the move icon to move the picture. Click-drag the scale icon to zoom in or out of the picture. You can also move the rendered image by clicking and dragging on the image itself 1058 • CHAPTER 24 File Menu Open Opens an image file and displays the image in the Picture Viewer. Save Picture As Format, Options  The list of file formats may vary depending on the QuickTime codecs installed. Specifies the file format for the picture. If the selected file format supports extra options, access these by clicking the Options button. Depth, DPI  Some file formats support 16 bits per channel, i.e. 48-bit color. Sets the bit-depth for each channel in the file and the dots-per-inch resolution of the picture. Save Multi-Passes Enable this option if you have rendered a multi-pass image and you want to save all layers. Alpha Channel If this option is enabled, the alpha channel will be saved with the image, provided the file format you have chosen supports alpha channels. Stop Rendering  You can also stop the rendering by pressing Esc. Stops the rendering of the scene. Proceed with caution. If you stop the rendering of a picture, you will be unable to resume rendering when you next render — the picture will be rendered from the beginning. The same applies to animation when using movie file formats such as AVI or QuickTime. PICTURE VIEWER • 1059 However, if you are rendering the animation as a sequence of still images, such as a TIFF sequence, the frames already rendered are saved using the save path chosen in the render settings. If you want to keep these saved frames, you must change the save path in the render settings before you next render, otherwise these frames will be overwritten. Also, on the Output page of the rendering settings, set the left input box for Frame to the number of the frame that was being rendered when you stopped rendering. This will prevent the animation being rendered from the beginning. Close Closes the Picture Viewer. Edit Menu Copy Copies the image in the Picture Viewer to the clipboard. You can then paste the image into another application, such as an image editor. Channels Menu Use this menu to control which image channels are displayed in the Picture Viewer. The menu lists all channels contained in the image — layers are listed also if you have rendered a multi-pass image. Multi-Layer Display If this option is enabled, you can enable as many of the channels in the Channels menu as you like; these enabled channels are combined to form a composite image in the Picture Viewer. If MultiLayer Display is disabled, you can enable and see one channel at a time. Image If this option is enabled, the composite image is shown in the Picture Viewer. Alpha This option appears if the image has an integrated alpha channel. If the option is enabled, the Picture Viewer displays the image’s alpha channel instead of the image itself. 1060 • CHAPTER 24 Components Menu Red, Green, Blue CINEMA 4D renders all images using the RGB color system. With these three options, you can filter out the separate colors. This allows you to check, say, the red separation of a render without needing to launch a separate image editor. Grayscale If you enable this option, the image will be displayed in grayscale. This function is useful for checking aspects of the render such as contrast, which is generally much easier to judge in a grayscale image than in a color image. View Menu Fit To Size If this option is enabled, the image is fitted automatically to the size of the Picture Viewer window, assuming the window is smaller than the image itself. The aspect ratio is kept constant. Zoom Factors You can display the image in different predefined zoom factors from 12.5% to 800%. At 100% the image is displayed actual size. Zoom In, Zoom Out Use these commands to zoom in or out of the image. Show Renderline The renderline is a white line that appears during rendering to indicate the progress of the render. Use this option to switch the renderline on or off. Appendix APPENDIX • 1063 Formulae You can type in a formula for the Formula spline primitive and the Formula deformer. In fact, you can type in a formula wherever CINEMA 4D accepts a value, e.g. in the Coordinate manager. This appendix lists all the units, operators, functions and constants that you may use in your formulae. You may enter values using any of the units listed below (examples in brackets) - regardless of the basic units defined in the preferences (CINEMA 4D will convert the units for you). Units Abbreviation Examples kilometers km 23 km, 0.125 km meters m 13.23 m, 1000 m centimeters cm 11.5 cm, 328.275 cm millimeters mm 14 mm micrometers um 678 um nanometers nm 3.867 nm miles mi 12.5 mi yards yd 17.9 yd feet ft 512 ft inches in 0.125 in frame number F 0F If you change the basic units in the preferences, e.g. from metres to millimeters, only the measurement units are changed, not existing numerical values. For example, if an object has a width of 10 metres, but you then change the basic units to millimeters, the object will then have a width of 10 millimeters. If you wish to scale the objects to reflect the change in units, group all the objects and scale the group using the Coordinate manager.  Function arguments must be bracketed. The number of open brackets must equal the number of close brackets. Functions may be nested: sin(sqr(exp(pi)))  When typing in a formula for the spline or Formula time curve, the arguments of trigonometric functions are in radians. However, when entering values in parameter text boxes, trigonometric functions always use degrees. 1064 • APPENDIX The function parser has the most important arithmetic operators built in. You can combine operations freely, for example: 2km + exp(sin(4mm*pi)) / ((sin(14cm))^2 + (cos(14cm))^2). Operator Abbreviation Examples addition + 144 + 14 subtraction - 144 - 14 multiplication * 144 * 2 division / 144 / 12 modulus mod 123 mod 4 power ^ 12 ^ 2 brackets () 3 + (4 * 2) absolute value abs abs(-123) sine sin sin(30) cosine cos tangent tan arc sine asin arc cosine acos arc tangent atan sine hyperbola sinh cosine hyperbola cosh tangent hyperbola tanh logarithm to base 10 log10 logarithm to base e log log(e) exponential function exp exp(5) square root sqrt sqrt(144) square sqr sqr(12) log10(100) Two of the most important constants have been built in: Pi pi 3.142 Euler’s number e 2.718 APPENDIX • 1065 Programming plugins The built-in XPresso node editor gives you extensive control over how CINEMA 4D objects interact with one another. In addition to XPresso, CINEMA 4D provides you with a powerful programming language that enables you to produce plugins that can extend the core functionality of CINEMA 4D. The COFFEE programming language COFFEE, CINEMA 4D’s plugin language, is not based on macros or scripts but is a complete and powerful programming language in its own right. It closely resembles C++ and Java so that if you are already familiar with these languages you will immediately feel at home with COFFEE; you simply have to learn the various functions implemented by CINEMA 4D. To start programming you will need to get hold of the SDK (Source Development Kit) directly from MAXON; this can be obtained from www.plugincafe.com. What is the advantage of writing plugins in COFFEE as opposed to using C++? Well, apart from the ease of integrating new functionality into CINEMA 4D, as you know, CINEMA 4D is a multiplatform program. Writing plugins in COFFEE means that your new CINEMA 4D function will work immediately on all those platforms, with no annoying re-compilation or reprogramming. So that CINEMA 4D can find its COFFEE programs and load them automatically, they must be placed in the Plugins folder which should be in the root CINEMA 4D folder. If you check the contents of this folder, you will find some examples already there. However, you can also store COFFEE programs elsewhere on your hard disk. If you want to load such a program into CINEMA 4D just use the File > Open menu command — a file stored outside the Plugins folder cannot be automatically integrated into CINEMA 4D’s menu structure. How do you create a plugin? Simply write your COFFEE programs in any text editor or word processor and save it as a regular ASCII text file; CINEMA 4D will happily process regular text, with no high-ASCII characters. The SDK Perhaps you do not want to use COFFEE as your programming language? As usual, CINEMA 4D allows you the flexibility to do it the way you want to; if you like, you can write your applications with any C++ compiler. Here you have access to the functionality of CINEMA 4D through predefined interfaces. These interfaces are in the form of an API (Application Programming Interface) library which is part of CINEMA 4D’s SDK. Note, however, that if you use an external compiler (as opposed to COFFEE) this will be platform dependent and you will need to re-compile your program for each platform on which you want your plugin to work. You may also need to do some reprogramming. The C++ SDK is included with CINEMA 4D. You’ll find it in CINEMA 4D’s Plugins folder. 1066 • APPENDIX COFFEE support Support for CINEMA 4D developers is available exclusively on MAXON Computer’s Plugin Café website: plugincafe.com. Here you will find, among other things, the SDK. This contains the COFFEE compiler and detailed descriptions of the programming language and the interface libraries. It is, of course, possible for commercial plugin manufacturers to keep their source code secret and proprietary. Our developer support is not static; the interfaces to CINEMA 4D and their functionality are constantly being extended. You should always, therefore, pay attention to the relevant announcements on the Internet. File Formats While working with CINEMA 4D there will be occasions when a particular graphic format will not load or a 3D file will prove difficult to convert. There are so many formats and sub-formats for images, animations and 3D files that CINEMA 4D cannot even dream of coping with all of them. The following sections contain summaries of all formats that CINEMA 4D supports. If you need more detailed information, you should refer to the relevant technical information for that format. Image Formats TIFF Bit depths Compressors 1, 4, 8, 24, 32, 48 Uncompressed RLE compressed Only Baseline TIFF is supported. Exotic formats such as CMYK images are not supported. It is, of course, not possible to give an exhaustive list of non-supported formats, since such a list in a sense could never be definitive. IFF Bit depths Compressors 1, 4, 8, 16, 24 Uncompressed RLE compressed IFF images are read only if they conform to the Commodore/Electronic Arts specifications. EHB, HAM-6 and HAM-8 modes are supported. APPENDIX • 1067 TARGA Bit depths Compressors 24, 32 Uncompressed Only TGA-1 is supported. With QuickTime installed other variants are also imported. PICT Bit depths Compressors 4, 8, 16, 24, 32 Uncompressed RLE compressed With QuickTime installed all PICT variants are imported (as long as the QuickTime compressors are available). BMP Bit depths Compressors 1, 4, 8, 16, 24 RLE-4 RLE-8 JPEG Bit depths Compressors 24 n/a Grayscale JPEGs and progressively compressed JPEGs are not supported. PSD Bit depths Color formats 1, 8, 24, 48 Indexed color RGB not CMYK For writing, alpha channels are supported. With QuickTime installed, all QuickTime formats are supported i.e. PNG, SGI and QuickTime image. 1068 • APPENDIX B3D Bit depths Color formats 8, 24 n/a B3D is the native file format of the BodyPaint 3D module. Layers, layer masks and channels are supported. RLA, RPF Save your multi-pass files in RLA or RPF format if you want to post-edit in compositing programs like After Effects and Combustion. RPF is an extension of the older RLA format. RPF supports all the channels listed below (RLA supports the channels from Z to Coverage): – Z Information on camera <-> object distance. Useful for depth-of-field effects. – Object Enables different materials to be used in post-editing. – UV Coordinates Information on UV coordinates so that new textures can be mapped correctly during postediting. – Normal Direction information regarding objects and textures. – Non-Clamped Color Information on object color. Can extend beyond RGB gamut. – Coverage Antialiasing information for object edges. – Object ID (RPF only) Enables the clear identification of objects. – Color (RPF only) Object color information. – Transparency (RPF only) Object transparency information. – Subpixel Weight Information on the color of subpixels. – Subpixel Mask Information that links subpixels to their objects. HDRI HDRI images are converted to RGB upon loading. APPENDIX • 1069 Animation Formats AVI  This format can be read and written only under Windows. Using QuickTime, AVI animations can also be used on the Macintosh, depending on the codec. When using AVI animations as textures, only the first video track is evaluated; all others (e.g. music) are ignored. If the first video track contains data other than images these are also ignored. Only 24-bit formats are supported. If you have selected AVI System and the message 'Unable to write file' appears it is most probably caused by a codec which does not support 24-bit data (such as Microsoft RLE). QuickTime  To use QuickTime under Windows, ensure that QuickTime is installed on your computer. You can download a QuickTime installer from www.apple.com/quicktime.  When using QuickTime animations as textures, only the first video track is evaluated; all others (e.g. music or QuickTime VR) are ignored. If the first video track contains data other than images these are also ignored. All codecs that are installed in the operating system are supported. Alpha channels are integrated directly into the animation only if the compressor supports this. For the QuickTime format these are the compressions Animation and None (i.e. uncompressed). In both cases, the number of colors must be set to Millions of Colors+. 3D Formats DXF CINEMA 4D offers complete support for DXF files written by AutoCAD (up to and including version 12) or by the export filters of other applications, provided they are 100% compatible. LightWave Import Although CINEMA 4D can convert LightWave files and scene descriptions completely (including PSD animations and bone structures), it is sometimes necessary to post-edit light source settings and texture placements. UV coordinates are supported from LightWave version 6 and higher. 3D Studio Import  The 3DS transparency texture is the exact opposite of the transparency mode in CINEMA 4D. In 3DS, materials are more transparent the darker a texture pixel, whereas in CINEMA 4D they are more transparent the lighter the pixel. – These files are loaded: 3DS (regular 3DS files), PRJ (3DS project files), MLI (3DS materials libraries). – The object hierarchy is copied 1:1, referenced objects are duplicated in CINEMA 4D. 1070 • APPENDIX – The following material channels are imported: environment light, specular color, specular settings (which are recalculated), transparency, luminance, color texture, specular texture, transparency texture, environment texture, relief (bump) texture, luminance texture. – UV mapping is copied. – Animation. – Position, scaling, rotation and light sequences are adjusted to suit CINEMA 4D. – Textures can be renamed automatically on loading. – So-called target objects loaded from 3DS (from cameras and light sources) become axes (null objects) and are given the extension ‘t’, which is added to their object name. – 3DS files are binary files and are not recognized by their extensions but by their identifier. 3D Studio Export  Regrettably, 3D Studio can cope only with filenames consisting of eight characters plus a three-letter extension. Therefore texture filenames will be truncated to conform with this restriction.  3D Studio accepts only one UV coordinate per point. Therefore texture mapping may appear different after exporting in this format. – All polygon objects, light sources and cameras are exported, NURBS objects are transformed into polygon objects. – Material export: color, luminance, transparency, environment, specular, specular color, relief (bump), all with any defined textures. The mean value of the texture channel is exported with the shader. QuickDraw3D Import – Light source and camera information cannot be read. – The following objects are ignored: Torus, TriMesh (new with QD3D v1.5); NURBS can cause problems in certain cases. – References (both internal and external) are not read. – UV coordinates are not read. – Textures are not read. QuickDraw3D Export  QuickDraw 3D accepts only one UV coordinate per point. Therefore texture mapping may appear different after exporting in this format. – Light source and camera information cannot be written. – Texture export is supported. APPENDIX • 1071 – ASCII 3DM files cannot be written, only binary. DEM Landscape Import – CINEMA 4D does not support the DEM-SDTS format. – The VistaPro DEM format (binary) is supported. – Files to be imported need to have the extension '.DEM' because the file itself contains no information about its origin. DEM files without this filename extension cannot be read by CINEMA 4D. Direct3D Export  For all scenes to display properly with a Direct3D Viewer it is necessary for all textures to have an edge length of a power of 2 (i.e. 2, 4, 8, 16, 32, 64, 128, 256, 512, 1024, …). – Typical extension *.x, ASCII Format, MESH and FRAME format. – Zoom factor for entire scene, automatic indenting. – Rename texture name to any extension. – Texture information (UV coordinates and texture names) – Texture channels: color, luminance, specular, specular color, transparency, environment. VRML V1.0c and 2.0 Import  Object names in VRML files must not contain any special characters (not even +, –, *, /). This may be the only reason that CINEMA 4D is refusing to load a file! – ASCII format. – All basic objects (cuboid, sphere, cone, cylinder). – Polygon objects of any size and number of vertices (n corners are triangulated). – Perspective cameras, light sources (direct, point, spot). – Material tags: ambient color, diffuse color, specular color, emissive color, shininess. – WWW Links are created as a CINEMA 4D attribute (WWW tag). – WWW Inline Nodes are not supported. VRML 2.0 Import – Animation import, scenes in a line (references to scenes are automatically loaded). VRML1.0c and 2.0 Export – ASCII format (optionally formatted). 1072 • APPENDIX – Hierarchical saving of all objects: NURBS are converted to polygon objects. – Object names are converted, special characters are filtered/converted. – Textures: If there are any textures, the program looks for the color texture, the luminance texture and the environment texture (in that order). Color textures, even inline textures, are saved as files. – WWW links and addresses are saved: when an object is selected in the web browser, the program branches to that link. VRML 2.0 Export – Additional available animation export option. Wavefront OBJ Import – ASCII format. – Polygon objects are loaded. – Objects are given a dummy material. – UV mapping is supported. – No object hierarchy can be created. – Files to be imported need to have the extension '.OBJ' because the file itself contains no information about its origin. OBJ files without this file name extension cannot be read by CINEMA 4D. Wavefront OBJ Export – ASCII format. – Polygon objects; NURBS are converted to polygon objects, UV coordinates. FBX You can import and export FBX files. Most FBX features are supported. Sound Formats WAV Import - Only uncompressed WAV files are supported. - Markers included in the WAV files are imported into CINEMA 4D. AIFF Import - Mac sound files are also supported. APPENDIX • 1073 Support What can you do when you are stuck and the manual does not appear to help? You may want to contact technical support. MAXON, and its distributors worldwide, will help you with any technical problems you encounter. So that we can help you as efficiently as possible, please keep in mind the following: Please contact us (or your local distributor) in writing if possible, preferably by email. We have telephone lines, of course, but problems with a package as complex as CINEMA 4D may take time to solve — it is not always possible to solve the problem while you are on the phone. With email, however, our technicians can consult with colleagues for assistance — even the programmers if necessary — and get back to you as soon as possible. Email is also convenient for attaching an example of the problem and, likewise, it may be helpful for us to send you a scene. Please keep support enquiries separate to other enquiries, orders etc. Orders are dealt with by our busy Sales staff, so your support question is unlikely to be passed onto a support technician. Please allow for a reasonable response time. We operate on a queuing system basis only. Our customers are equally important and we will respond to you at the earliest opportunity. Please supply your telephone number and times when we may contact you on that number. Occasionally, we may need to contact you for further details. Please send an example scene to demonstrate the problem, if applicable. “When I click this button, I get a mess”. It is difficult to solve problems with such limited detail and sometimes we need to examine the problem scene. After all, we and our hard-working beta testers, have tested the functions many-a-time without finding a fault. Please keep any example scenes as small and as relevant as possible. For example, if only an alloy wheel is required to demonstrate the problem, please delete the rest of the car — it merely gets in the way. This saves our time and in turn we can respond to your problem sooner. Please supply us with a complete description of the relevant steps leading up to the problem. Ideally, we would like a little ‘recipe’ that generates the problem consistently. Please keep this concise. Include rendered images if relevant. Please tell us which settings you used. 1074 • APPENDIX Please tell us which programs you have running at the same time as CINEMA 4D. If you are using Mac OS, please let us know which system extensions are loaded. Sometimes, another program or a system extension (Mac OS) may cause a problem indirectly. Please include details of your hardware configuration. “I have a Macintosh/PC” is of little help on its own. Also, please let us know which version of CINEMA 4D you are using (choose Help > Info from the main menu; the version number is shown at the foot of the splash screen which appears; to close the splash screen, click it). If you have Internet access, please use the support form on our website (www.maxon.net). Tell us what other programs and system extensions you are running concurrently with CINEMA 4D. If the program crashes, it will display an error message. Please let us know the exact message. If you are using Windows, you will see many other details listed. Please ignore these extra details — they are as enlightening as the infamous Macintosh message 'Application Unknown has quit unexpectedly because of error -1'... Please let us know CINEMA 4D’s message. If you have Internet access, please check the FAQs on our website before you contact technical support. Often, you will find the answer in the FAQs. Our service is limited to technical support only. We cannot undertake subcontracting. “Can you build my spaceship model, please?” We must concentrate our resources on helping customers with genuine problems that are within the bounds of technical support. However, there are numerous web addresses where you can find additional help. Please visit our website (www.maxon.net) for links to these valuable resources. Index INDEX • 1077 Symbols 2D Sound Rendering 927 range of 927 3D Formats 1069 3D Sound Rendering 928 3D Studio 1069, 1070 import / export 77 A Absolute node 1023 accuracy and radiosity 648, 702 in network, bake particles 728 Action Safe 29 active material, find first 741 active object copy active tag to children 730 render 620 search for first 726 search Timeline 937 shading of 23 Adapter nodes 1019–1020 adaptive antialiasing 647 Adapt Thread Priority option 64 Add Point tool 526 Add To Object Buffer command 703 adjust layers, in Timeline 942 preview range 939 view in Timeline 935 After Effects 641 AIFF 1072 alert render 619 align nodes in XPresso editor 987 nodes to grid 989 Align To Path tag 698 Align To Spline tag 699 All Frames option 891 alphabetic sort materials 742 alpha channel in brick shader 827 in cloud shader 828 in cyclone shader 829 in fire shader 830 in flame shader 830 in galaxy shader 831 in Material Editor 772 in Picture Viewer 1059 in Saturnring shader 833 in sunburst shader 836 render with 639 save, in Picture Viewer 1058 separate alpha option 641 when rendering 632 Anchor tag 700 animated objects show in Timeline 932 animating animating materials 943 animation antialiasing filter 646 cycle mode 893 formats 1069 in the Attribute manager 900 in the Browser 132 menu 892 moving within hierarchy 905 number of frames when rendering 635 of render post effect 649 ping-pong mode 893 playback rate in viewport 891 preview 621 record keys in the Timeline 902 refresh, XPresso 987 time units 108 Animation Path option 24 Animation tool 480 animation toolbar 888–944 introduction 14 anisotrophy 811, 849 antialiasing 702 adaptive 647 filter 645 mode of 631 threshold 647 when rendering 644 apply material to object 737 ARB extension 72 arrange items in the Timeline 932 Arrange tool 573 ASCII animation import 606 ASCII cloud load 1051 Attribute manager 961 adding user data 971 animating parameters 964 choosing the display mode 970 context menus 964 copying and pasting values 967 keyframe selection 966 customizing interface 967, 968 editing parameters 962 Edit menu 970 enable animated parameters 65 introduction 15 keyframing 900 load parameter values 968 lock 961 Mode menu 969 navigation 962 open additional managers 961 recording keyframes 900, 964 save parameter values 968 multiple selection 968 set driven 965, 966 set driver 965 User Data menu 971 Attribute Manager Limit 66 autokeying 901 in Timeline 889 automatic backups 76 keyframing 901 Automatic mode in Timeline 933 auto light 37, 657 Auto Switch mode 465 AVI 1069 animation format 1069 axis bands changing size of 30 introduction 27 B B3D 1068 Backface culling option for VRML 1 102 backface culling 23 backgrounds for the interface 68 Background object 433 Backlight shader 807 backups automatic 76 Back Image Mode setting 71 bake object, in Timeline 937 particles 728 Bake Object command 937 Bake Texture command 624 Bake To UVW Tag option 626 baking textures 624 Band Position setting 30 1078 • INDEX Band Size setting 30 Banji shader 844 Bank 481 with Kinematic tag 705 Banzi shader 845 basic units overriding 1063 Batch Rendering command 621 Bend deformer 371 Better Boole 294 Bevel tool 552 Bezier NURBS object 231 bias handles in XPresso gradients 794 Biovision BVH import 77 blur render settings 658 to soften a texture 753 Blur Offset setting 754 Blur Scale setting 754 BMP 1067 Bones 373 and HyperNURBS 373 fixing 377 laying out a hierarchy 378 limiting influence 375, 379, 381 setting the strength 375 bones and Kinematic tag 706 fixing 728 reset 728 Bool node group 1021–1022 XPresso data type 981 Bool node 1021 Bounding Box node 995 Break Phong Shading command 602 Break Segment command 516 Brick shader 827 Bridge tool 528 Browser 124–126 Close 130 creating a catalog 125–128 delete pictures 131 Deselect All command 131 drag and drop 125 Edit menu 131 example of use 128 File menu 127 Function menu 133 Import Directory 127 Import File 127 information window 133 introduction 14 New Catalog command 127 Open Catalog command 127 preferences 131 QuickTime Recognition 132 Recurse Folders option 131 relative paths 127 Render All command 133 Save Catalog command 127 searching 134 Select All command 131 sorting 134 Brush tool 531 bubble help enable/disable 67 buffer object 702 object, add 703 Buffy shader. See Normal Direction shader Bulge deformer 383 bump map for materials 770 Bump Width setting 826 C C++ and C.O.F.F.E.E. 1065 C.O.F.F.E.E. and plugins 605 and the Console Window 681 API 1065 C.O.F.F.E.E. tag 701 Error tag 718 expression priority 696 node 1023 programming 1065 SDK 1065 support 1066 Cache Shadow Maps option 658 Calculate menu, XPresso 987 Calculate Dirt command 627 Cameras Camera mapping 878 Dependency in XPresso 981 Mapping 878 cameras 301 animating movements of 306 Camera tool 468 depth of field 304 editor camera 34 focal length 301 focus 305 Frame Active object 21 Scene 21 Scene without camera and lights 21 Selected elements 21 Glow editor 340 Glow setting 336 Lens editor 343 Lens effects 335 Render setting 650 Motion blur 651, 652 Move hotkey 9 moving 468 Projection modes 34 Bird 35 Dimetric 35 Frog 35 Gentleman 35 Isometric 35 Military 35 Parallel 34 Perspective 34 XY (front) view 35 XZ (top) view 35 YX (back) view 35 YZ view 35 ZX (bottom) view 35 ZY view 35 reversing the orbit 65 Rotate hotkey 9 rotating 469 Scene Cameras menu 307 Target Camera object 308 Use for render view 21 using 305 zooming 468 Zoom hotkey 9 Camera Dependent option expression while camera being rotated 697 Camera Rotation tool 483 cancel render 620 swap with OK button 67 caps applying materials 236 cone 172 materials 883 Capsule object 191 cartoon render setting 654 caustics 333 render settings 648 Cel render setting 654 INDEX • 1079 Chamfer tool 518 change name of material 743 channel record sub-channels 892 channels in Picture Viewer 1059 channel shaders 788 Checkerboard shader 828 Cheen shader 847 children copy tag to 730 of object, select 720 CINEMA 4D R7, loading scenes with animation 943 CINEMA 4D XML export 78, 148 Clamp node 1024 Clipboard 155 clip mapping for materials 772 close all 146 file 146 Material manager 738 the document 146 XPresso editor 985 close the Structure manager 1052 the Timeline 929 Close All command 146 Close Polygon Hole tool 534 Cloud shader 828 Collapse command 593 collect for output. See texture paths; See Save Project command Collision node 996 color background 656 correction, render setting 656 HSV model 113 of layers, in Timeline 942 of XPresso ports 978 page, in Material Editor 756 RGB model 112 specular 777 Colorizer shader 806 Colorspace node 1024 color chooser 109 color correction render setting 656 color depth of texture 748 when rendering 638 Color shader 790 Color System BP 109 Color System C4D 109 Combustion 641 Command key change to control key 66 Command manager 57. See also icon palettes allocating short-cuts 57 inserting commands 57 Compare node 1034 composite image, in Picture Viewer 1059 Compositing Background option compositing 701 Compositing tag 701 Condition node 1035 Cone object 171 configuration dialogs 47 managers 48 other settings 48 Configure All command 22 Configure command 22 Connect XPresso ports 979 connect sequence 940 Connections nodes, remove 989 nodes, types of 986 XGroups, remove 989 console window 681 constants 1064 Constant node 998 Constant shading 39 Constant XYZ Velocity option 922 construction plane 300 Context menu context menu for gradients 795 for layers 805 for ports 991 introduction 13 in Timeline 895 modifier key 66 XPresso 988 convert nodes to XGroup 989 position track to spline 937 spline to position track 938 coordinates generate UVW 731 UVW, assign to object 732 Coordinate manager 689–690 introduction 14 relative/absolute values 689 coordinate system 481 polygons 287 reset 588 copy active object 720 and move, in Timeline 905 cells in Structure manager 1053 channel 749 to clipboard 155 image in Picture Viewer 1059 in XPresso 985 keys/sequences 930 material 739 tag to children 730 correct color, render setting 656 Create Outline tool 519 Create Polygon tool 534 Create Pool 994 Cross Product node 1025 Cross Section tool 520 Cube object 175 Cubic mapping 875 current scenes 682 Custom menu, XPresso 987 cut active object 720 in XPresso 985 material 739 cells in Structure manager 1053 keys/sequences 930 to clipboard 155 Cyclone shader 829 Cylinder object 177 caps 178 Cylindrical mapping 875 D Danel shader 849 Data type of XPresso node 981 data types 981 date XPresso data type 981 Decal mapping 870–873 Decrease HN Subdivision command 602 1080 • INDEX default interpolation in F-Curves 890 layouts 677 mode 465 settings 145 XPresso layout, reset to 986 Deformed Editing option 25 deformers 369 and level of detail 704 and restriction tag 712 and UVW coordinates 731 Bend 371 Bone. See Bones Bulge 383 Explosion FX. See explosions FFD 393 Formula 394 Melt 396 Polygon Reduction. See polygon reduction Set Vertex Weights 503 Shatter 406 Shear 408 Spherify 410 Spline Deformer 411 Spline Rail 414 Taper 421 Twist 423 Use Deformers option 159 Wind 425–428 Wrap 427 delete active object 720 animation elements 931 markers, in Timeline 931 material 739 nodes, XPresso 985 port 990, 991 preview range 939 render settings 623 Timeline marker 898 XGroup 990 Delete Port command 991 DEM 1071 import 78 Deny Power Cycle 66 depth color, save with picture 1058 Depth Of Field settings 304 Depth setting color, when rendering 638 deselect all objects 720 materials 739 in Timeline 931 Diffuse Falloff setting 784 diffusion material 757 Direct3D export 80 Dirt shader 627 disable expressions 697 node 986 nodes or XGroups 991 object visibility in render 722 object visibility in viewport 722 XGroup 986 Disconnect command 521 Disc object 180 displacement material 780 Display mode for active object 23 Display tag 703 Display Tags option 23, 40, 719 Display units 107, 108 Distance node 1025 Distorter shader 809 dither when rendering 641 divide sequence, in Timeline 940 document preferences 76 Dot Product node 1026 DPI save with picture 1058 when rendering 639 drag and drop in Object manager 694 in Structure manager 1050– 1054 in Timeline 894 in Timeline, to copy and move 905 drawing pipeline 157 Duplicate materials, remove 743 DXF 1069 export 78, 148 import 79 load object 718 E Earth shader 829 edges context menu 569 filter 650 selection, restore 718 Edges tool 471 Edge Cut tool 537 edge mode 471 Edge Points option 26 edit material 737, 742 marker in Timeline 898 menu 153 menu in Object manager 720 menu in Material manager 739 menu in Structure manager 1053 menu in XPresso 985 object 726 object tag 730 tag 730 editor camera 34 XPresso 975 Editor Axis settings 31 Editor window. See viewports Edit Image command 749 Edit palettes option palette 675 effects render settings 649 enable expressions 697 node 986 object visibility in viewport 722 object visibilty in render 722 XGroup 986 environment material 767 Equal node 1035 Equal Tangent Direction command 515 Equal Tangent Length command 515 even/odd fields 636 Execute Last Plugin command 605 Expand Object Group command 726 Explode Segments command 516 explosions 385 gravity 388 rotation 389 wind effect 390 Explosion deformer 391 Explosion FX deformer 385 export 3D Studio R4 148 ASCII data 1052 CINEMA 4D XML 148 INDEX • 1081 DirectX 148 Direct 3D 148 DXF 148 FBX 148 QuickDraw 3D 148 Shockwave 3D 148 STL 149 UZR 149 VRML 1 149 VRML 2 149 Wavefront 149 Export ASCII Data command 1052 expressions evaluation order 159 expression tags 696 new XPresso 975 nodes 977 Use Expressions option 158 XPresso, camera dependency 981 XPresso, new 980 XPresso, priority 980 external compiler for C.O.F.F.E.E. 1065 Extrude Inner tool 561 Extrude NURBS object 219 caps and rounding 233 Extrude tool 558 F F-curves automatic mode 948, 952 baking 958 create from function 955 crosshairs 953 default interpolation 890 delete keys 952 description of manager 948 ease in and out 956 editing keys 949 F-Curve List 948, 950, 952 F-Curve manager 947 Curves menu 954 Edit menu 952 View menu 953 grid 953 hide selected 952 interpolation 954 introduction to 947 in the Timeline 951 manual mode 948 mirror keys 957 move keys 957 navigation short-cuts 949, 951 redo 952 relative mode 949, 953 selecting keys 952 show for selected objects 727 simplify 958 snap keys to frame 952 step and repeat keys 957, 958 straighten with clamps 957 tangents 954 undo 952 zoom 953 Falloff shader 810 FBX export 148 import/export 82 FFD deformer 393 field rendering 636 File Close 146 Close All 146 menu, main 145 Merge 146 New 145 Open 145 recent files 149 Revert to Saved 146 Save 147 Save All 147 Save As 147 Save Project 147 file logfile example 657 menu, Object manager 696 menu, XPresso 985 paths for WAV files 928 Fill Selection tool 498 Film Magnify command 20 Film Move command 20 Film Offset X setting 303 Film Offset Y setting 303 Film Zoom command 20 filter antialiasing 645 antialiasing when rendering 631 edges when rendering 650 in Picture Viewer 1060 menu, in Timeline 936 Filter shader 799 Final Cut Pro 641 final serial number 685 Find First Active Material command 741 Fire shader 830 Fixing bones 728 Fix tag 704 Flame shader 830 Flash export 609 FlashEx tag 704 Flat mapping 875 FlipFlop node 998 FloatFunc node 1026 FloatMath node node 1027 floor and reflections 633 Flush Illumination Caches command 623 fly-throughs 306 focal length with QTVR 670 Focal Length setting 301 focus of camera 305 fog 432 material 769 shader 842 visible light 315 fold hierarchy, in Timeline 937 object hierarchy 728 Font XPresso data type 982 fonts used for the interface 67 Foreground object 433 format in Picture Viewer 1058 Formula deformer 394 Formula node 1028 Formula spline types of formula 1063 Fractal landscapes 204 frames frame rate for project 115 for render 636 number to render 635 playback rate in viewport 891 playing all in viewport 891 snap to, in Timeline 932 Freeze node 999 Fresnel option 760 reflectivity of760 shader 798 Frontal mapping 875 Functions menu 573 1082 • INDEX function graphs 136 Fusion shader 801 G Galaxy shader 831 gels 350 Generate UVW coordinates 731 generators 159 Use Generators option 159 Genlocking. See clip mapping GI accuracy 702 glass rendering 632 global status bar 682 glow editor 340 object, render setting 650 page, in Material Editor 778 Gouraud shading description 38, 39 gradients context menu 795 using 794 XPresso data type 982 Gradient shader 794 graphics tablet 65 graphs See function graphs grayscale in Picture Viewer 1060 grid when slicing an object 174 XPresso, align to 989 grouping expand objects 726 materials 741 objects 726 GUI 10, 49 H handle selection, in Timeline 906 Hard Interpolation command 514 HDRI 1068 Heading 481 help 685 enable/disable 67 menu 685–686 Hexahedron 186 Hide objects in render 722 tags in Object manager 719 hierarchy arrange, in Timeline 932 fold/unfold, in Timeline 937 moving animations within 905 node 1037 object, changing 694 object, fold 728 object, unfold 728 select children of object 720 highlights. See specular Highlight Plane setting 71 hotkeys 9 HPB system 481, 482 use 108 HUD 33 introduction 138 HyperNURBS modeling 216 quads vs triangles 289 subdivide polygons 596 weighting 215 HyperNURBS Weight tag 704 I icons in menus 67 material, render 741 size, in Material manager 740 icon palettes 53 alignment 55 creating 53 creating folded groups 55 editing 56 icon size 55 introduction 13 loading 55 moving icons 54 new 675 removing icons 56 saving 54 the lock icon 56 unfolding groups 56 IFF 1066 IK Anchor tag 478 IK tag 705 Inverse Kinematics tool 477 Kinematic tag 705 multi-target kinematics 478 posing characters 477 IK tag 705 illumination page, in Material Editor 783 Illustrator import 89 load object 718 Image fit texture to 733 image alpha channel, in Picture Viewer 1059 composite, in Picture Viewer 1059 formats 1066 Import/Export settings 149 Import ASCII Data command ASCII cloud 1051 inactive object displaying 26 Increase HN Subdivision command 602 Information scene 727 selected object 727 object 727 initialization files 135 inputs nodes, configuring 986 input boxes introduction 13 Insert Preview Range command 939 Instance object 296 integer XPresso data type 982 Interactive control of objects 170 interface scheme 64 interpolation in Timeline 890 of keys in Timeline 923 of knots in gradients 794 of textures 752 spline 243 Inverse Kinematics tool 477 Invert node 1028 Iron tool 538 Isoline Editing option 25 Is Null node 1035 Iteration node 1040 J Join Segment command 516 JPEG 1067 INDEX • 1083 K key interpolation 923 new, in Timeline 923 selection, in Timeline 931 keyboard short-cuts 57 keyframing and Bake Object 937 and layers, in Timeline 896 autokeying 889 creating keys in Timeline 898 in the Atrribute manager 900 in the Timeline 902 move in Timeline 905 Kinematic tag 705 Knife tool 539 knots interpolation, XPresso gradients 794 L Landscape object 204 language choose 64 Lathe NURBS object 221 caps and rounding 233 launching 8 layers and the Texture tag 716 colors, in Timeline 942 in Timeline 896 menu, in Timeline 942 multi-pass render 664 texture 879 Layer shader 804 layouts 11, 49, 675–677 load 675 loading 123 menu, XPresso 986 reset 123, 676 reset to default 123 reset to default, XPresso 986 save 65 save as 676 saving 123 working with 123 Lens editor 343 lens effects 335 render setting 650 lens glow XPresso data type 982 level of detail 115 in the viewport 36 when rendering 661 lifetime of particles 355 lighting 309 Area light 313 auto, render setting 657 brightness 318 caustics 333 color 310 contrast 318 displaying in viewport 309 Distant light 313 falloff 319 gels 350 glows 336, 340 lens effects 335, 343 lightmaps 350 memory required 311 noise 316, 334 Omni light 312 Parallel light 313 Parallel spotlight 313 render time needed 311 shadows. See shadows Spotlight 312 Sun light 347 Target light 346 Tube light 313 types of 312 visible light 315, 324 volumetric 316 volumetric, render setting 658 volumetric light 324 lightmaps 350 LightWave 1069 import 90 Line Up command 522 link selection in Timeline to Object manager 933 XPresso data type 982 Link List node 999 Live Refresh option 68 load layout 675 material 145 object 718 point cloud 1051 scene 145 toolbar 675 XGroup, in XPresso 985 Load Image command 749 Load Layout command 123 Load Materials command 738 Load Pool command 994 Lock icon in Timeline 933 Lock UVW option 732 Loft NURBS object 223 caps and rounding 233 Logic nodes 1034–1036 log file 657 Look At Camera tag 707 loop sequence, in Timeline 921 Loop Selection tool 495 Lumas shader 811 luminance material 758 M Mabel shader 849 Macintosh simulating right mouse button 8 magnetic markers, in Timeline 898 Magnet tool 542 Magnify tool 464 Make Editable command 573 Make Preview command 621 Make Tab command 63 managers convert window to tab 63 introduction 12 pin icon 63 renaming 63 undocking 63 Manual mode in Timeline 933 mapping camera 878 decal 870–873 flat 875 frontal 875 MIP 753 SAT 753 shrink wrapping 877 spherical 875 textures 867 types of 874 UVW 875 marble Mabel shader 849 Marble shader 831 marker delete, in Timeline 931 from selection 940 1084 • INDEX in Timeline 897 magnetic, in Timeline 898 new, in Timeline 926 Timeline, navigation 898 MatchMover. See LightWave import materials add texture tag in Object manager 716 alpha channel 772 animating 943 applying to object 737 apply to object 743 bump map 770 clip mapping 772 copy 739 cubic mapping 875 cut 739 cylindrical mapping 875 delete 739 deselect all 739 diffuse falloff 784 diffusion 757 displacement map 780 edit 737, 742 environment 767 find first active 741 fog 769 fresnel 760 glow 778 grouping 741 highlights 775 load 145, 738 luminance 758 morphing 943 natural-looking 761 new 738 of active object 741 paste 739 preview 746 preview shape 746 reflection 764 remove duplicate 743 remove unused 743 rename 743 render icon 741 restrict to selection 869 save 738 select all 739 shaders 842 shaders, accessing 738 sort 742 specular 775 tag, select 743 transparency 759 Material Editor 745–786 color page 756 opening 742 Material List tab 740 Material manager 737–743 close 738 copy 739 cut 739 delete 739 edit menu 739 file menu 738 function menu 741 introduction 14 paste 739 redo 739 thumbnail 737 undo 739 Material node 1041 Math node 1029 matrix XPresso data type 982 Matrix2HPB node 1029 Matrix2Vectors node 1019 MatrixMulVector node 1030 Matrix Extrude tool 563 Maximum Size setting 77 MAXON website 685 Measure & Construction tool 583 Melt command 593 Melt deformer 396 Memory node 1000 menus editing 60 inserting commands 61 introduction 12 quick access to 62 Menu manager 60 revert to original 61 merge files 146 Merge command 146 Metaballs object 297 Metaball tag 708 metal specular on material 775 Metal shader 832 MIP Falloff option 770 MIP mapping 753 strength when rendering 647 Mirror tool 544 missing radiosity solutions 619 missing textures alert 619 Mixing Panel 110 mixing textures 879 Mix Mode 755 Mix Strength 755 mode menu in Structure manager 1054 of working, in Timeline 933 model scale hotkey 9 modeling modes 465 modeling axis 455 Model tool 473 MonoFlop node 1001 Monzoom import 91 motion blur object 651 scene 652 Motion Blur tag 708 mouse using in Object manager 695 mouse right mouse button, Macintosh 8 wheel mouse 8 move animations hierarchically 905 cells in Structure manager 1049 hotkeys 9 in Picture Viewer 1057 items in Timeline 905 sequence, in Timeline 941 Move Down Sequence command 517, 592 Move tool 453 Move Up Sequence command 517, 592 movie creating (rendering) 637 formats 671 preview 621 render as 637 render formats 637 multi-pass rendering 662–671 enable/disable 662 save 665 save with picture 1058 Multiple selection 121 N n-gons and HyperNURBS 218 introduction 287 INDEX • 1085 mode, in Structure manager 1054 retriangulating 597 N-gon Triangulation mode 466 name of port, show 990 render settings 631 navigation in Structure manager 1050– 1054 in Timeline, with markers 898 reversing the orbit 65 Negate node 1030 Neptune. See Planet shader NET Render bake particles 728 single pictures 303 new key, in Timeline 923 marker, in Timeline 926 morph track 910 parameter track 907 PLA track 913 sequence, in Timeline 920 sound track 915 time track 917 new.c4d 135, 145 New Icon Palette command 63 New Line command 1051 New Material Group command 742 nodes 977, 995–1044 Absolute 1023 align 987 align to grid 989 Bool 1021 Bounding Box 995 C.O.F.F.E.E. 1023 Clamp 1024 Collision 996 Colorspace 1024 Condition 1035 connections, types of 986 Constant 998 context menu 988 Cross Product 1025 data type 981 Degree 1025 delete 985, 990 disable 986, 991 Distance 1025 Dot Product 1026 enable 986 Equal 1035 FlipFlop 998 FloatFunc 1026 FloatMath 1027 Formula 1028 Freeze 999 Hierarchy 1037 inputs, configuring 986 Invert 1028 Is Null 1035 Iteration 1040 Link List 999 Material 1041 Math 1029 Matrix2HPB 1029 Matrix2Vectors 1019 MatrixMulVector 1030 Memory 1000 MonoFlop 1001 Negate 1030 new 988 Noise 1002 NOT 1022 Object 1004 ObjectIndex 1007 ObjectList 1042 optimize 990 Order 1036 Random 1010 Range Mapper 1031 Ray Collision 1011 Reals2Vector 1019 Reference 1013 Remark 1013 remove connections 989 Result 1014 select 985 Selection 1042 set view 989 Sound 1014 Spline 1015 Spy 1014 Switch 1022 Tag 1043 Time 1017 Trigonometric 1033 Universal 1019 Vector2Matrix 1033 Vector2Reals 1020 Vectors2Matrix 1020 Weightmap 1018 noise types of for lighting 316 Noise node 1002 Noise shader 790 noise types 793 normals 40 align 590 displaying 23 general information 591 move surfaces along 567 reverse 592 rotate polygons around 568 scale polygons along 568 Normals Scale option 30 Normal Direction shader 815 Normal Move tool 567 Normal Rotate tool 568 Normal Scale tool 568 NOT node 1022 Nukei shader 851 Null object 283 Number of points/polygons in selected object 727 number of frames to render 635 numerical input of coordinates 689 NURBS 211. See also HyperNURBS object Bezier 231 caps and rounding 233 Extrude 219 Lathe 221 Loft 223 Sweep 226 O ObjectIndex node 1007 ObjectList node 1042 Objects, types of Array 290 Atom Array 291 Background 433 Camera 301 Cone 171 Construction Plane 300 Cube 175 Cylinder 177 DDS EX 6.1 446 Disc 180 DTS 5.1 445 Environment 431 Figure 203 Floor 429 Foreground 433 Instance 296 Landscape 204 Light 309. See also lighting Loudspeaker 438 1086 • INDEX Metaball 297 Mono Microphone 440 Oil Tank 193 Particle Emitter 351. See also particles Plane 182 Polygon 184 primitives 169 Pyramid 199 Relief 208 SDDS 7.1 447 Selection 436 Sky 430 Sound objects. See Sound Sphere 186 Stage 435 Stereo 444 Stereo Microphone 443 Symmetry 299 Torus 188 Tube 196 objects and layers, in Timeline 896 apply material to selected 743 arrange along a spline 573 assin UVW coordinates to 732 bake, in Timeline 937 buffer, add 703 casting shadows 701 center (align) 580–602 children, select 720 connect 581 controling display 722 convert quads to triangles 597 convert triangles to quads 597 coordinates 167 copy 720 copy position, scale, rotation 587 copy tag to children 730 create a polygon copy 581 cut 720 deformers. See Deformers delete 720 deselect all 157, 720 duplicate 582 duplicate points 600 duplicate randomly 587 duplicate surfaces 600 edit 726 expand group 726 fit texture to 733 fold hierarchy 728 generate UVW coordinates for 731 glow, render setting 650 group 726 hierarchy, unfold 728 information 727 interaction, with Set Driven Keys 1045 load 718 make editable 573 menu, in Timeline 937 menu, Object manager 722 motion blur 651 move hotkey 9 moving 453, 463 moving multiple objects 454 object library 449 particles. See Particles paste 720 properties Basic 166 Coordinates 167 Object 167 rearrange 694 remove from Timeline 932 rename 726 rename, in Timeline 937 render active only 657 render properties, compositing tag 702 render visibility 722 rotating 460, 463 rotating multiple objects 462 save selected 719 scale hotkey 9 scaling 458, 463 scaling multiple objects 459 search for first active 726 selection, in Timeline 931 select all 157, 720 select children 157 select materials of 741 show all animated, in Timeline 932 show F-Cures of those selected 727 size 727 smoothing 709 tag, edit 730 Texture tag 716 tracks, show in Timeline 727 viewport visibility 722 visibility 722 visibility when rendered 704 XPresso data type 983 Objects menu 165 Object Axis tool 472 Object buffer 702 Object hierarchy 694 Object manager 693–734 drag-and-drop 694 edit menu 720 file menu 696 hide tags 719 introduction 14 link to Timeline 933 objects menu 722 redo 720 show tags 719 tags menu 730 texture menu 731 undo 720 using mouse 695 Object node 1004 Object tool 469 odd/even fields 636 Oil Tank object 193 OK button swap with Cancel 67 ppen file 145 in Picture Viewer 1058 scene/file 145 OpenGL Hardware Lighting 72 operators math 1064 optimize node or XGroup 990 Optimize command 595 options in render settings 657 menu in Timeline 890 order materials 742 Order node 1036 Outline Selection tool 497 P palette edit 675 panoramic render with QuickTime VR 668 parameter track 907 particles Attractor 357 baking 353 birthrate 354 Deflector 358 Destructor 360 Emitter 354 INDEX • 1087 emitter type 356 examples 366 Friction 361 Gravity 362 lifetime 355 metaparticles 367 Rotation 363 save with scene 76 seeding 355 speed 355 Turbulence 364 viewport display 355 visibility 354 Wind 365 paste cells in Structure manager 1053 from Clipboard 155 into Timeline 930 in XPresso 985 material 739 object 720 Paste Channel command 749 path for WAV file 927 spline, animation 699 Perfect sphere 187 personalize 685 Phong shading, how it works 710 Phong tag 709 PICT 1067 Picture Viewer 680, 1057–1060 alpha channel, save 1058 channels 1059 filter RGB 1060 fit image to size 1060 format image 1058 move 1057 open image 1058 render to 620 saving color depth and dpi 1058 scale 1057 zoom 1060 ping-pong animation playback mode 893 pin menu 63 Pitch 481 with Kinematic tag in Object manager 705 pixels interpolating in Material Editor 752 PLA track 913 Planet shader 832 Plane object 182 plastic specular on material 775 Platonic object 201 play mode in Timeline 893 Play Sound option 888 plugins Execute Last Plugin command 605 Flash export plugin 609 Plugins menu 605 programming 1065 SpaceMouse plugin 616 points add 526 changing size of 30 cloud 1051 context menu 569 duplication 598 mirror 544 mode, Structure manager 1054 number in scene 727 number of in selected objects 727 optimize 595 selection, restore 718 Points tool 470 Point Handle Size setting 30 Point Level Animation. See PLA point mode 470 polygons bevel 552 context menu 569 convert edges to spline 522 convert quads to triangles 597 convert triangles to quads 597 coordinate system 287 cut edges 537 duplicate selected points 598 information on selected 682 information on structure 682 mirror 544 mode, Structure manager 1054 number in scene 727 number of in selected objects 727 quads vs triangles 289 selection, restore 718 subdivide 596 Polygons tool 471 polygon mode 471 Polygon node 1009 Polygon object 286 Polygon Reduction deformer general advice 401–405 hints and tips 402 quality of mesh 399 quality preservation 401 using 398 what it does 398 why use it 398 polygon tools Add Point 526 Bevel 552 Bridge 528 Brush 531 Close Polygon Hole 534 Create Polygon 534 Edge Cut 537 Extrude 558 Extrude Inner 561 Iron 538 Knife 539 Magnet 542 Matrix Extrude 563 Mirror 544 Normal Move 567 Normal Rotate 568 Normal Scale 568 Set Point Value 546 Slide 548 Smooth Shift 566 Stitch and Sew 549 Weld 551 Pool XPresso 993 ports context menu 991 deleting 991 information 991 removing unused 990 removing wires 991 renaming 990, 991 show names 990 user data, in XPresso 978 Port Information command 991 position track to spline 937 post edit multi-pass renders 662–671 post effects animating 649 render setting 649–656 preferences 64 Browser 131 Common 64 Macintosh 66 Document 76 Import/Export 1088 • INDEX Adobe Illustrator 89 Biovision BVH 77 DEM 78 Direct3D 80 DXF 78, 79 LightWave 3D 90 Monzoom 91 QuickDraw 3D 91, 92 Shockwave 3D 93 STL 92 UZR 98 VRML 1 102, 103 VRML 2 104, 105 Wavefront 106 Interface Colors 68 Texture Paths 107 Units 107 Viewport 69 XPresso 114 premultiplied alpha 773 Preview animation 621 restrict playback to, in Timeline 893 size of in Material manager 740 preview range adjust 939 delete 939 insert 939 in Timeline 897 primitives 169 priority of expression 696 of XPresso expression 980 XPresso data type 983 programming in C.O.F.F.E.E. 1065 Project save 147 Projection different types with one texture tag 732 Projector shader 816 project settings 115 Property object, new 696 Protection tag 712 Proximal shader 817 PSD 1067 Pyramid object 199 Q quantize selections, in timeline 941 Quantize settings 513 QuickDraw 3D 1070 export 91 import 92 QuickTime 1069 recognition in the Browser 132 use 65 QuickTime VR render setting 668 quick access 62 R R7 loading scenes with animation 943 radiosity 648 accuracy 702 missing solutions 619 render settings 648 rail splines with Sweep NURBS 227 Random node 1010 Range Mapper node 1031 raytracing adaptive 647 range for 2D sound rendering 927 Ray Collision node 1011 Ray Depth setting 659 real XPresso data type 983 Reals2Vector node 1019 Realtime texture mapping 41 Save RTTM Textures 76 with OpenGL shading 71 with software shading 74 Rearrange objects, in Object manager 694 Recalculate Scene On Rewind option 65 recent files 149 recent files list 76 record autokeying 901 automatic 901 keys in the Timeline 902 sequences, in Timeline 939 sub-channels 892 Recover last saved file 146 redo in Material manager 739 in Object manager 720 in Timeline 930 in XPresso 985 Reference node 1013 reflections material property 764 rendering 632 reflection depth when rendering 660 refractive indices 760 refresh animation, XPresso 987 region fit texture to 733 register final serial number 685 relative set driven keys 1046 values in Coordinate manager 689 relief map 208 Relief object 208 Reload Image command 749 Remark node 1013 remove connections, nodes and XGroups 989 duplicate materials 743 objects from Timeline 932 port 990 unused materials 743 unused ports 990 wires from port 991 XGroup 990 Remove Material Group command 742 Remove N-gons command 598 Remove Unused Materials command 743 Remove Wires command 991 rename material 743 objects, in Timeline 937 port 991 ports and XGroups 990 Rename Ports command 991 render 2D sound 927 3D sound 928 across networks, bake particles 728 active objects only 657 alerts 619 batch 621 cancel 620 make preview 621 INDEX • 1089 properties of object, compositing tag 702 region 620 renderline during render 1060 threads 66 to Picture Viewer 620 visibility of object 704 visibility of objects 722 Render Active Object command 620 Render HUD option 658 Render menu 619–630 Render Region command 620 Render Safe 29 render settings 631–672 alpha channel 639 animate post effect 649 antialiasing 631, 644 as movie 637 blur 658 caustics 648 cel renderer 654 color correction 656 color depth 638 delete 623 dither 641 DPI 639 edges filter 650 effects 649 fields 636 filters 650 frame rate 636 image sequence 638 lens effects 650 level of detail 661 multi-pass 662–671 name 631 new 623 number of frames 635 object glow 650 object motion blur 651 options 657 QuickTime VR 668 radiosity 648 ray depth 659 reflections 632 reflection depth 660 resolution 634 save formats 637 scene motion blur 652 separate alpha 641 shadows 633 shadow depth 661 soft shadows 633 straight alpha 640 texture, enable/disable 657 threshold 661 transparency 632 with refraction 632 Render To Picture Viewer command 620 Render View command 619 reset bones 728 XPresso layout 986 Reset Layout command 123, 676 resolution save with picture 1058 Resolution setting 634 Restore selection 718 Restriction tag 712 Result node 1014 Retriangulate N-gons command 597 Reverse Orbit option 65 Reverse Sequence command 517 Revert to Original Menus command 61 Revert To Saved command 146 RGB separating in Picture Viewer 1060 right mouse button on a Macintosh 8 Ring Selection tool 497 Ripple shader 820 RLA 1068 Rotate hotkeys 9 Rotate Quads option 73 Rotate tool 460 rounding 233 when filleting 173 Round command 524 RPF 1068 RTTM. See Realtime texture mapping ruler. See Measure & Construction tool Timeline 897 Rust shader 834 S sampling of textures 752 Saturn. See Planet shader Saturn’s Ring. See Planet shader SAT mapping 753 strength when rendering 647 save active object 719 all files 147 default layout 123 file 147 layout at program end 65 material 738 multi-pass image 665 project 147 scene 147 when rendering 637 XGroup 985 Save As command 147 Save As Startup Layout command 123 Save Layout As command 123, 676 Save Project command 147 Scale hotkeys 9 MIP/SAT strength when rendering 647 Picture Viewer 1057 sequence, in Timeline 941 Scale tool 458 scenes camera 307 information 727 load 145 number of polygons/points 727 R7, loading 943 size 727 that are open 682 Scene Motion Blur effect 652 scheme choosing for interface 64 SDK 1065 seamless tiles 872 search paths 107, 619 Search First Active Object command 726 Search tool 724 segments Break Segment command 516 select all elements, in Timeline 931 all materials 739 all objects 720 children of object 720 components in Timeline 904 identical child tags 730 in Structure manager 1050, 1053 in Timeline 904, 931 1090 • INDEX layer, in Timeline 942 materials of active object 741 node 985 tags of selected materials 743 XGroup 985 selection get Time curve from 941 handles, in Timeline 906 link Timeline to Object manager 933 quantize, in Timeline 941 selections convert types 498 displaying 37 filtering 487 Freehand Selection tool 490 freeze selection 501 grow selection 500 hide 500, 501 inverting 499 Live Selection tool 490 Polygon Selection tool 490 Rectangle Selection tool 490 restore 718 selecting 487 Selection menu 487 Selection object 436, 489 select all 499 select connected 499 selective UVW Mapping 877 set selection 501 Set Vertex Weight command 503 Shrink Selection command 500 Tolerant Selection option 491 unhide 501 Selection menu 487. See also selections Selection node 1042 Select Broken Phong Edges command 602 Select Connected command 990 Separate Alpha option 641 sequence and layers, in Timeline 896 connect, in Timeline 940 divide, in Timeline 940 loop, in Timeline 921 move/scale, in Timeline 941 move in Timeline 905 new, in Timeline 920, 939 of images, when rendering 638 record 939 selection, in Timeline 931 select all, in Timeline 931 serial number entering 685 set marker, in Timeline 898 settings default 145 import/export 149 ray depth 659 render resolution 634 Set driven keys 965, 966 set driven keys 1045 Set First Point command 517 Set Point Value tool 546 Shaded Wire Color setting 167 Shaded Wire Mode setting 167 shaders Backlight 807 Banji 844 Banzi 845 Brick 827 Buffy. See Normal Direction shader channel 788 Checkerboard 828 Cheen 847 Cloud 828 Color 790 Colorizer 806 Cyclone 829 Danel 849 Dirt 627 Distorter 809 Earth 829 Falloff 810 Filter 799 Fire 830 Flame 830 Fog 842 Fresnel 798 Fusion 801 Galaxy 831 Gradient 794 Layer 804 Lumas 811 Mabel 849 Marble 831 material 842 accessing 738 Metal 832 Noise 790 Normal Direction 815 Nukei 851 Planet 832 Posterizer 807 Projector 816 Proximal 817 Ripple 820 Rust 834 Simple Noise 834 Simple Turbulence 835 Spectral 821 Spline 824 Starfield 835 Stars 836 Terrain 843 Tiles 837 Venus 840 Vertex Map 827 Water 840 Wood 841 shading modes 38 shadows 329 and objects 701 area shadow 315 color 329 density 329 hard shadow 314 no shadow 314 outline shadow 332 rendering 633 shadow cone 332 shadow maps 330 soft shadow 314 rendering 633 transparency 329 types of 314 shadow depth and materials 764 Shadow Depth setting 661 Shatter deformer 406 Shear deformer 408 Shockwave 3D export 93, 148 Shockwave 3D Double Sided tag 712 show all animated objects, in Timeline 932 F-curves of selected objects 727 name of port 990 tags in Object manager 719 Show Axis mode 467 Shrinkwrap mapping 877 Simple Noise shader 834 Simple Turbulence shader 835 size in Picture Viewer 1060 of icon in Material manager 740 of scene 727 of selected objects 727 INDEX • 1091 sky and reflections 633 SLA shader 844 Slice regular grid option 174 Slide tool 548 Smartpointer 121 Smart Live Selection option 70 Smart Window Refresh option 70 smoothing how it works 710 with antialiasing on render 644 Smooth Shift tool 566 snap settings introduction 15 mouse sensitivity 513–569 to frame, in Timeline 932 Soft Interpolation command 514 soft selections 493 sort materials 742 sound 437 2D 927 3D 928 DDS EX 6.1 object 446 DTS 5.1 object 445 formats 1072 Loudspeaker object 438 Mono Microphone object 440 no sound in movie 915 play from animation toolbar 888 playing 437 scrubbing 437 SDDS 7.1 object 447 Stereo Microphone object 443 Stereo object 444 track 915 Sound node 1014 SpaceMouse plugin 616 Spectral shader 821 specular apply diffusion map 757 metal 775 page, in Material Editor 775 plastic 775 specular color page, in Material Editor 777 Sphere object 186 Spherical mapping 875 Spherify deformer 410 splines 4-sided 265 adding points to 237 Akima 241, 246 align 522 animation from position track 937 Arc 249 B-Spline 241, 246 Bezier 241, 246 breaking segments 516 break segment 516 built-in curves 245 built-in primitives 247 chamfer 518 Circle 251 Cissoid 267 Cogwheel 269 creating 237 creating outlines 519 cross sections 520 Cubic 240, 246 Cycloid 271 define first point 517 Diamond 265 editing 514 Epicycloid 271 explode segments 516 Flower 279 Formula 275 Helix 253 Hypocycloid 271 information on selected 682 information on structure 682 information window 682 interpolation 243, 514 joining segments 516 Kite 265 Lemniscate 267 Linear 240, 246 linear 539 Magnet tool 542 n-Side 256 outlines from 2D images 263 Parallelogram 265 path, align to 699 Profile 280 project onto surfaces 523 Rectangle 258 reverse order of points 517 segments 238 spline rails 414 Star 259 Strophoid 267 tangents 241, 515 to position track 938 Text 261 Trapezium 265 types of 240 using formulas 1063 Vectorizer 263 Spline deformer 411 Spline node 1015 Spline object 237 Spline Rail deformer 414 Spline shader 824 spline tools Break Segment 516 Chamfer 518 Create Outline 519 Cross Section 520 Disconnect 521 Equal Tangent Direction 515 Equal Tangent Length 515 Explode Segments 516 Hard Interpolation 514 Join Segment 516 Line Up 522 Move Down Sequence 517 Move Up Sequence 517 Project 523 Reverse Sequence 517 Set First Point 517 Soft Interpolation 514 Split 525 Split command 525 Spotlights 312, 313 Spy node 1014 square interpolation 753 Stacked Materials option 24, 42 Starfield shader 835 Stars shader 836 starting 8 status bar 682 XPresso 986 Stick Texture tag 713 Stitch And Sew tool 549 STL import/export 92 Stop tag 714 straight alpha rendering 640 string XPresso data type 983 structure information 682 optimize 595 Structure manager 1049–1054 delete cells 1053 export ASCII data 1052 import ASCII data 1051 modes 1054 mode menu 1054 1092 • INDEX moving cells 1049 new line 1051 pasting 1053 selecting data 1053 view menu 1053 Structure menu 507 context menu 569 Sub-Polygon Displacement Memory setting 66 Subdivide command 596 Sun tag 715 surface normals 40 Sweep NURBS object 226 caps and rounding 233 Switch node 1022 T tabs introduction 13 tags Align To Path 698 Align To Spline 699 Anchor 700 C.O.F.F.E.E. 701 C.O.F.F.E.E. Error 718 Compositing 701 Display 703 expression tags 696 Fix 704 FlashEx 614, 704 HyperNURBS Weight 704 IK 705 Kinematic 477, 705 Look At Camera 707 material, apply 743 Metaball 298, 708 Motion Blur 708 of selected materials, select 743 Phong 709 Protection 712 Restriction 382, 712 Shockwave 3D Double Sided 712 Stick Texture 713 Stop 714 Sun 348, 715 Target 308, 715 Vibrate 716 WWW 717 XPresso 718 Tag node 1043 Taper deformer 421 TARGA 1067 Target Light object 346 Target tag 715 technical support 1073 template.c4d 8, 47, 135, 145 template.cat 135 template.l4d 135 Terrain shader 843 textures. See also Texture tag applying to one side only 870 baking 624 camera mapping 875, 878 color 756 color depth 748 coordinates 873 different projection types with one tag 732 enable/disable, render setting 657 error, render setting 657 hull, caps and rounding 883 interpolation 752 layers 879 menu in Object manager 731 missing alert 619 mixing 879 path to 107 position 873 rotate 873 sampling 752 scale 873 seamless tiles 872 soften with blur 753 stretching 877 tiling 871, 872 types of mapping 874 XPresso data type 983 texture axis adapt to object axis 733 adapt to view 733 mirror 734 Texture Axis tool 476 texture error render setting 657 Texture Interpolation 71 texture mapping 867 texture paths 107 texture settings 748 Texture tag 867 choosing a material 868 decal mapping 870 naming 867 projection 869, 874 seamless tiles 872 texture selected surface 869 tiling 871, 872 Texture tool 475 threshold antialiasing 702 antialiasing value 647 when rendering 661 thumbnails in Material manager 737 TIFF 1066 tiles 871, 872 seamless 872 Tiles shader 837 time XPresso data type 981, 984 Timeline adjusting layers 942 adjust preview range 939 arrange mode 932 autokeying 889 automatic mode 933 bake object 937 context menu 895 copy and move 905 delete marker 898 deselect all elements 931 drag-and-drop 894 F-curves. See F-curves file menu 907 filter menu 936 interpolation of keys 923 keyframing 902 layers 896 link to Object manager 933 manual mode 933 markers 897 morph track 910 move/scale sequences 941 new key 923 new marker 926 new sequence 920, 939 objects menu 937 options menu 890 parameter track 907 pasting 930 playing all frames in viewport 891 play mode 893 pla track 913 preview range 897 remove objects 932 ruler 897 selecting elements 904 selections 931 select vector components 904 show tracks of selected objects 727 snap 932 INDEX • 1093 sound track 915 spline convert 938 time curves 917 time track 917 view options 935 Timeline ruler 897 Time curve get from selection 941 time curves 917 Time node 1017 Time track 917 Tinted Poly Normals option 24 Tinted Poly Selection option 24 Title Safe 29 show in view 29 toggle layer, in Timeline 942 Tolerant Edge Selection option 492 toolbar animation 888–891 toolbars. See also icon palettes load 675 tools. See also Structure menu Animation 480 Camera. See cameras Coordinate System 481 Edges 471 Inverse Kinematics. See IK Magnify 464 Model 473 Move 453 Object 469, 473 Object Axis 472 Points 470 Polygons 471 Rotate 460 Scale 458 selection tools. See Selections Texture 475 Texture Axis 476 the axes tools 480 Tools menu 453. See also Tools Torus object 188 tracks and layers, in Timeline 896 convert position to spline 937 Morph 910 moving in Timeline 905 of object, show in Timeline 727 Parameter 907 PLA 913 selection, in Timeline 931 select all 931 Sound 915 Spline To Position 938 Time 917 translucency effects. See Backlight shader transparency for materials 759 when rendering 632 Trigonometric node 1033 Tube object 196 Tweak mode 466 Twist deformer 423 U Unbreak Phong Shading command 602 Undo Redo command 154 Redo View command 154 the undo buffer 153 Undo (Action) command 154 Undo command 154 Undo View command 154 undo in Material manager 739 in Object manager 720 in Structure manager 1053 in Timeline 930 in XPresso 985 undock manager 63 Undo command depth of 76 unfold object hierarchy 728 units 1063 animation 108 basic 108 display 107 Universal node 1019 Unlooped Area 922 Unpack XGroup command XGroup 989 Unused ports, remove 990 Uranus. See Planet shader URL 717 user data and XPresso 978 Use Display Tag LOD option 658 Use Isoline Editing mode 467 Use Line Polygons option 73 Use OGL Points For Handles option 73 UVW mode in Structure manager 1054 UVW coordinates assign to object 732 cannot edit them 732 generate 731 UVW mapping 875 selective 877 UZR export 98 V vector components, select in Timeline 904 XPresso data type 984 Vector2Matrix node 1033 Vector2Reals node 1020 Vectors2Matrix node 1020 Venus shader 840 vertex map mode in Structure manager 1054 Vertex Map shader 827 Vibrate tag 716 view adjust in Timeline 935 menu, XPresso 986 menu in Structure manager 1053 setting for nodes and XGroups 989 viewports 19 3D Grid 69 Action Safe 29 animation playback rate 891 arrangement of 43 Cameras menu 34 configuring 22 disable realtime refresh 65 Display menu 36 display order 160 display textures 74 Edit menu 20 force redraw 21 level of detail 36, 115 magnification 464 OpenGL shading 69, 70 pixel ratio 70 preferences 69 Redo 20 Redraw Limit 69 Refresh Active View Only 69 Render Safe 29 shading modes box 40 1094 • INDEX gouraud shading 38, 39 quick shading 39 skeleton 40 wireframe 40 show normals 23 software shading 31, 69, 74 Title Safe 29 Undo 20 View menu 43 visibility of objects 722 viewport settings 22 disable backface culling 28 disable textures 28 projection type 28 show safe frames 29 View panels 19 visibility of object 722 of objects in render 704, 722 of objects in viewport 722 visibility dots 722 visible light 315, 324–350 volumetric light 316 render setting 658 VRML 1071 VRML 1 export 102 import 103 VRML 2 export 104 import 105 W water rendering 632 Water shader 840 WAV 1072 Wavefront 1072 export 106 import 106 website MAXON 685 web browser and the URL object tag 717 Weightmap node 1018 Weld tool 551 what’s new 4 windows arranging 49 console 681 converting tabs to windows 52 displaying as tabs 52 docking 51 hiding the title 63 introduction 12 naming 51 re-sizing 12, 50 undocking 50 Window menu 675–682 Wind deformer 425 wires XPresso 979 Wood shader 841 workflow 119 world grid 300 Wrap deformer 427 WWW tag 717 X X-ray effect enable 42 X-Ray option 24 XGroup 976 align to grid 989 context menu 988 convert nodes to 989 delete 985, 990 disable 986, 991 enable 986 load 985 new 988 optimize 990 remove connections 989 rename 990 save as 985 select 985 set view 989 unpack 989 XPresso and user data 978 connections, changing 986 cut, copy, paste 985 data type of node 981 editor 975 editor, close 985 edit menu 985 expression, priority 696 menus, Editor 985 new expression 975, 980 nodes 975, 977 ports 978 priority of expression 980 status bar 986 wires 979 XGroup 976 zoom editor 986 XPresso manager 992 XPresso nodes 995–1044 XPresso Pool 993 XPresso tag 718 Z zoom in Picture Viewer 1060 XPresso editor 986

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.4
Linearized                      : Yes
Encryption                      : Standard V1.2 (40-bit)
User Access                     : Print, Annotate, Fill forms, Extract, Assemble, Print high-res
Modify Date                     : 2004:11:15 12:09:29+01:00
Create Date                     : 2002:11:13 11:47:58Z
Producer                        : Adobe PDF Library 5.0
Creator                         : Adobe InDesign 2.0.2
Trapped                         : False
Page Count                      : 1124
Creation Date                   : 2002:11:13 11:47:58Z
Mod Date                        : 2004:11:15 12:09:29+01:00
Metadata Date                   : 2004:11:15 12:09:29+01:00
Document ID                     : adobe:docid:indd:1535091f-f890-11d6-99f4-e65ea5e06ebb
Version ID                      : 1
Rendition Class                 : proof:pdf
Rendition Of Document ID        : adobe:docid:indd:1535091f-f890-11d6-99f4-e65ea5e06ebb
Rendition Of Version ID         : 1
Rendition Of Rendition Class    : default
Format                          : application/pdf
Title                           : 
Page Mode                       : UseOutlines
EXIF Metadata provided by EXIF.tools

Navigation menu