Maxon Computer Cinema 4D - 9.5, Cinema 4D - 9.0 Instruction Manual

Thinking Particles
Thinking Particles
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. Layout Oliver Becker, Harald Egel, Michael Giebel, David Link, Luke Stacy, Jeff Walker. Translation Oliver Becker, Michael Giebel, Arno Löwecke, Björn Marl, Josh Miller, Janine Pauke, Luke Stacy, Marco Tillmann, Scot Wardlaw.
Copyright © 1989-2004 by MA XON Computer GmbH. All rights reserved. English translation Copyright © 2004 by MAXON Computer Ltd. All rights reserved.
This manual and the accompanying software are copyright protected. No part of this document may be translated, reproduced, stored in a retrieval system or transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission of MA XON 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 THINKING PARTICLES (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 R AM.
(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 identied 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 identications 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 t 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 tness 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 prots 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 specic 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 par ticular the serial number, from access by third parties. You are not permitted to duplicate or pass on the Software or documentation. These obligations apply equally to your employees or other persons engaged by you to operate the programs. You must pass on these obligations to such persons. You are liable for damages in all instances where these obligations have not been met. These obligations apply equally to your employees or other persons he entrusts to use the Software. The User will pass on these obligations to such persons. You are liable to pay the Licensor all damages arising from failure to abide by these terms.
10. Information
In case of transfer of the Software you are obliged to inform the Licensor of the name and full address of the transferee in writing. The address of the Licensor is stated in the manual and at the end of this contract.
11. Data Protection
For the purpose of customer registration and control of proper use of the programs the Licensor will store personal data of the Users in accordance with the German law on Data Protection (Bundesdatenschutzg esetz). This data may only be used for the above-mentioned purposes and will not be accessible to third parties. Upon request of the User the Licensor will at any time inform the User of the data stored with regard to him.
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 MA XON Computer for any reason and for all notications 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, Greeneld Bedford MK45 5DE United Kingdom
We will also be pleased to provide you with the address of your nearest supplier.

Contents

Introduction........................................................................................................................................... 1
Overview................................................................................................................................................ 3
1 Settings ..............................................................................................................7
General tab ............................................................................................................................................ 7
Channels tab........................................................................................................................................ 10
Particle Geometry object ..................................................................................................................... 10
Network rendering .............................................................................................................................. 11
2 Nodes ...............................................................................................................15
TP Initiator Group ................................................................................................................................ 15
PPass ............................................................................................................................................... 15
PPass AB .......................................................................................................................................... 16
TP Condition Group ............................................................................................................................. 19
PAge................................................................................................................................................ 19
PLight.............................................................................................................................................. 20
TP Generator Group............................................................................................................................. 23
PBlurp ............................................................................................................................................. 23
PBorn .............................................................................................................................................. 28
PDraw ............................................................................................................................................. 30
PFragment ...................................................................................................................................... 33
PMatterWaves................................................................................................................................. 37
PStorm ............................................................................................................................................ 47
TP Standard Group .............................................................................................................................. 52
PAlignment ..................................................................................................................................... 52
PDie................................................................................................................................................. 54
PGroup............................................................................................................................................ 55
PMass.............................................................................................................................................. 55
PRolling ........................................................................................................................................... 57
PScale.............................................................................................................................................. 58
PSetData ......................................................................................................................................... 60
PShape ............................................................................................................................................ 62
PSize................................................................................................................................................ 64
PSpin ............................................................................................................................................... 65
TP Dynamic Group ...............................................................................................................................68
PBubble........................................................................................................................................... 68
PDeector ....................................................................................................................................... 69
PFreeze............................................................................................................................................ 73
PFriction.......................................................................................................................................... 74
PGravity .......................................................................................................................................... 76
PMotionInheritance ........................................................................................................................ 78
PPositionFollow ..............................................................................................................................80
PRepulse&Bounce ........................................................................................................................... 82
PVelocity ......................................................................................................................................... 83
PWind ............................................................................................................................................. 85
TP Helper Group .................................................................................................................................. 88
PChronometer ................................................................................................................................ 88
PGetData ........................................................................................................................................ 89
PGroup............................................................................................................................................ 90
PSpinConvert .................................................................................................................................. 90
PSurfacePosition ............................................................................................................................. 91
PTimer............................................................................................................................................. 93
PVelocityConvert ............................................................................................................................ 95
PVolumePosition ............................................................................................................................. 96
3 Tutorials.......................................................................................................... 101
Introduction....................................................................................................................................... 101
Combining Thinking Particles with XPresso ...................................................................................... 103
Using Thinking Particles with PyroCluster ..........................................................................................117
Deforming Particles ........................................................................................................................... 121
Working with Particle Groups ........................................................................................................... 123
Index.................................................................................................................. 143
THINKING PARTICLES
INTRODUC TION 1

Introduction

Create amazing particle effects with Thinking Particles, the node-based particle system that gives you complete control over each and every particle.
Thank you for purchasing Thinking Particles, the CINEMA 4D module that makes it easy to control every aspect of particle motion. With Thinking Particles you can emit particles from any point, edge or polygon, collide particles with objects and other particles, achieve lifelike motion with forces such as gravity and wind that take the mass and size of particles into account, spawn and fragment particles and much more.
This manual is divided into a tutorial section and a reference section. Thinking Particles has dozens of powerful nodes that will require some exploring, so in order to get a feel for Thinking Particles we recommend that you work through the tutorials and, if something isn’t clear, look it up in the reference for a full description.
If you are impatient and want to get started straightaway then we recommend that you read the PStorm node section in the reference rst. Look up ‘PStorm’ in the index.
As a node-based particle system, Thinking Particles may feel strange at rst. However, with a little time and effort, you’ll soon feel right at home as you learn how to control particles with the precision of a Swiss watchmaker.
Registration
Registering your Thinking Particles module is extremely important. The serial number included with your Thinking Particles package is temporary and will expire three months after the module’s installation. To receive your nal serial number, you must register. So please ll in and return the registration form at the earliest opportunity.
Registering your Thinking Par ticles module will also entitle you to technical support via telephone, fax and email. And, by checking the appropriate box on the registration form, MA XON will keep you informed of the latest product information and updates.
You can also register online at register.maxon.net.
Installation
To install Thinking Particles, run the installation program and follow the on-screen installation instructions.
The installation program will create a ThinkingParticles folder in your CINEMA 4D Modules folder. The installation program will place all the CINEMA 4D Thinking Particles les into this ThinkingParticles folder.
Training
Training is available for Thinking Particles and other MAXON products. For details, please contact MAXON or your local MAXON distributor.
2 INTRODUC TION
THINKING PARTICLES
Web Resources
Thousands of powerful resources are available on the web, including online tutorials, discussion lists, textures, models, galleries and information on 3D books. You’ll nd links to a rich selection of these sites at www.maxon.net, MAXON’s homepage.
One website that you may wish to bookmark is www.plugincafe.com, the home of CINEMA 4D plugins. Here you will nd dozens of useful plugins, both free and commercial. For plugin developers, there are resources, including the SDK, tutorials and a free support forum.
Lastly, there is the MAXON website itself: www.maxon.net. In addition to the links mentioned above, it is from here that you can register your MAXON product, download updates, send MAXON a suggestion, check out the gallery, learn from online tutorials and much more.
Technical Support
Your local MAXON distributor will be delighted to assist you with your technical queries for Thinking Particles. You are also welcome to contact MAXON directly.
Please note that you will be entitled to technical support provided you have registered your Thinking Particles module (see Registration, above).
THINKING PARTICLES
OVERVIEW 3

Overview

Thinking Particles is a rule­based particle system that offers tremendous power and exibility, but there is no doubt that it will take some time for you to understand how to use the package. For any particular job there will be many different approaches and a number of solutions.
Here is a brief overview of Thinking Particles that should help to get you started. Please read this and then work through the tutorials – the time spent will be well worth it.
Thinking Particles is node -based and uses the CINEMA 4D XPresso Editor for the creation and editing of its various nodes; so please ensure that you understand how to use XPresso before proceeding. The other concept to master is that, once a particle has been born from an emitter, the emitter no longer has any control of it. That’s why it is important to group particles together so that you can then apply further rules and operations to the group.
OK, so rst to generate some particles – you do this with the PStorm or PBorn nodes. PStorm has many inbuilt parameters which means that you can give the particles speed, size etc. straightaway; once you have created a PStorm node you will see particles in the viewport. PBorn is simpler and you will need to apply some other rules to its particles before you can use them; you can do this with, say, the PSetData node.
Unless you have created a new group for your particles (see ‘Particle Groups’ on page 9) they will be placed in the All group (not really a group but the root of the particle tree).
Now you can add other rules (nodes) into your particle system to affect the particles; the rules are organized under headings like TP Condition (apply conditions such as age), TP Standard (for particle shape, size, mass etc.), TP Dynamic (effects such as gravity and wind) and others. Every node will affect the particle stream attached to its input port – you can see how important it is to group particles.
So it is easy to, say, give your particles shape by associating them with CINEMA 4D objects using the PShape node, or to affect them with gravity (give them weight and use a PGravity node) or have them collide with one another (use the PRepulse&Bounce node). Connect nodes via wires between their ports, as explained in the XPresso section of the CINEMA 4D Reference Manual.
Finally, please remember to plan ahead and try things out before committing yourself to a large, complex set-up. Also, keep in mind that adding shape to your particles will, naturally, slow down the viewport display speed, so it’s best to experiment before adding shape to your particles.
1 Settings
THINKING PARTICLES
SETTINGS 7

Settings

To unleash the power of Thinking Particles, you’ll frequently need to use particle groups. This is the place to create them. In addition, you can dene global and local settings for the groups, including how a group’s particles are represented in the viewport.
Choose how par ticle s are
represented in the v iewpo rt
and whe ther ob ject s used as
particles a re shown. On the
General tab yo u’ll als o nd
information s uch as the total
numbe r of particle s and the
numbe r of particle s in each
group at the curr ent fra me.
To take full advantage of the power of Thinking Particles you should always try to work with particle groups. Particle groups enable you to achieve extraordinary control over your particle effects.
For example, suppose you have created a shoal of sh from a single emitter and these sh are swimming together. Suddenly predators arrive on the scene and you want to separate the shoal into two smaller shoals that dart away in opposite directions. Particle groups give you an easy way to achieve this.
Assign half of the sh to one particle group, the other half to another group, then send the groups in opposite directions. This is just one simple example of the countless uses of particle groups. Whenever you want to treat some particles differently to others, you probably need to use particle groups. The Thinking Particles Settings is where you create these groups.
In the Thinking Particles Settings, you can also check information such as the total number of particles in a particular group at the current frame, or change how particles are displayed in the viewport and more.
To access the Thinking Particles Settings:
- From the main menu, choose Plugins > Thinking Particles > Thinking Particles Settings.

General tab

Total
The number of particles that exist at the current frame — a total count of all the particles in all of the groups.
8 SETTINGS
THINKING PARTICLES
Tree
The number of particles in the currently selected branch of the particle tree. A branch is a hierarchical level within the Thinking Particles group system. See also ‘Particle Groups’, below.
Group
Shows the number of particles that currently belong to the selected group. See also
‘Particle Groups’, below.
Max Particles
Denes the maximum number of particles that can be generated. This setting helps you to prevent situations where you accidentally create so many particles
that your computer system simply cannot cope with them all!
View Type
This parameter is a global setting that controls how the particles are represented in the viewport. The particles can be shown as akes, dots, ticks, drops, boxes or they can be hidden.
The View Type setting has no affect on how the particles will look when rendered. It is purely a visual aid to help you recognize the particles in the viewport. However, each particle group has its own settings and may use a different view type to override this global value. For more information on these settings, see ‘Particle Groups’, below.
Show Objects
Enable this option if you have used an object for particles and you want the particle objects to be shown in the viewport. Keep in mind that hundreds of complex objects may slow down the viewport’s refresh rate. This value is a global one that may be overwritten using settings of each particle group. For more information on these
local settings, see ‘Particle Groups’, below.
Force This Setting
Each particle group has its own display settings that usually override the global View Type and Show Objects settings described above. However, sometimes it can be useful to force all particle groups to use the global settings.
For example, suppose your scene has 20 particle groups, each with its local Show Object setting enabled (you access these local options by choosing Settings from the particle group’s context menu). To speed up the viewport’s refresh rate, you decide to hide the particle objects. Although you could disable Show Object for each particle group, it’s quicker to disable the global Show Objects setting and enable Force This Setting. All groups will then be forced to use the global value.
THINKING PARTICLES
SETTINGS 9
Particle Groups
To get the most out of Thinking Particles it is important to plan ahead, consider how all your particles are going to interact and, above all, assign different sets of particles to different particle groups — this way you will build in exibility, which can save a great deal of time should you decide to change things later.
The Particle Groups pane is where you add and remove particle groups, sort them and edit their local settings. The All group is created automatically. By default, all particles are assigned to the All group.
The groups are arranged in a hierarchy that works in the same way as CINEMA 4D’s XPresso manager. The advantage of this structure is that you can build an entire tree of groups, the top-most of which will contain all the groups belonging to that branch and thus the particles of these groups also.
To add a new particle group, in the Particle Groups pane, right-click (Windows) or Command-click (Mac OS) on the All group (or any other group if present) and choose Add from the context menu that appears.
The new group will be created and placed below the group in the hierarchy that you called the context menu from. New groups are named ‘Group’ followed by a number. We recommend that you rename the groups to names that are more meaningful and
less likely to be confused with other group names. To rename a group, double-click
its name, enter the new name into the dialog that opens and click OK.
You can rearrange the hierarchy by dragging and dropping groups. To delete groups, select them (Shift-click to add a group to the selection), right-click (Windows) or Command-click (Mac OS) one of the groups and choose Remove from the context menu that appears. Keep in mind that all sub-groups of the selected groups will be deleted as well. Particles belonging to the deleted groups will be transferred to the All group.
Each particle group has local
sett ings to de ne thi ngs suc h as
the color of the gr oup’s par ticl es
in the viewpor t and wh ether
particle objects are show n.
Settings
Each particle group has its own settings. To access these settings, in the Particle Groups pane, right-click (Windows) or Command-click (Mac OS) the name of the desired group and choose Settings from the context menu.
10 SETT INGS
THINKING PARTICLES
Here yo u can create dat a
channels that will enable you
to pass custom va lues to the
Think ing Par ticle s expr essio n.
In these settings, you can set a local value for the View Type and Show Object setting. For information on these two settings, see ‘View Type’, ‘Show Objects’ and ‘Force This Setting’ above.
In addition, here you can rename the group and change the color used to display the particles in the viewport. This is useful when working with multiple groups. By assigning different colors to each group, you can soon tell which particles belong to which group directly in the viewport. To change the color, click the Color box and set the color system dialog that opens to the desired color. This does not affect the color of the rendered particles!

Channels tab

You can pass your own data to a Thinking Particles effect via data channels. These operate in the same way as the user data ports of XPresso expressions.
You can add data channels as ports to P Get Data nodes and P Set Data nodes.
The data types available are the same as those for XPresso – please refer to your CINEMA 4D reference manual for a description of these data types. To remove a channel from the list, select the channel and click Remove.
You can also use XPresso’s user data ports to pass values to the expression.

Particle Geometry object

The Particle Geometry object is needed if you are going to use objects as particles.
Any object that you want to use as particles must be a below a Particle Geometry object in the hierarchy of the Object manager; it can either be a child of the Particle Geometry object or simply below it in the hierarchy.
THINKING PARTICLES
SETTINGS 11
The obj ect that you want t o use
Parti cle Geometr y obje ct in the
To create a Particle Geometry object, from the main menu, choose Plugins > Thinking Particles > Particle Geometry.
as par ticle s must be b elow a
Objec t manager.
When the Particle Geometry object is selected, its settings will be displayed in the Attribute manager (see above). Drag the name of any particle group from the Thinking Particles Settings and drop it into the Particle Group box. If Sub Groups is enabled, the sub-groups of the chosen object will also be assigned to the particle group.

Network rendering

When rendering a Thinking Particles scene over a network using the optional CINEMA 4D NET Render module, the rendering may take longer than if you were to render the scene on a single computer!
This happens when there are complex interactions between the particles, since the complete interaction of the particles must be calculated from frame to frame. In such cases, adding more machines to the network may slow down the render time further still, especially when mixing fast computers with slower ones. Avoid rendering these types of scenes over a network.
2 Nodes
THINKING PARTICLES
NODES 15

Nodes

Nodes are the building blocks of your Thinking Particles effect. The nodes are arranged by group according to their function.
To add a gravitational forc e to
particles , group the particles
and use PPass to pass the group
to a PGrav ity no de.
Thinking Particles makes use of CINEMA 4D’s XPresso system. The XPresso Editor is the place to create and edit your Thinking Particles effects.
Nodes are the building blocks of Thinking Particles effects. To create a node, in the XPresso Editor, right-click (Windows) or Command-click (Mac OS) and choose the node’s name from the New Node > Thinking Particles menu. On this menu, the nodes are arranged by group according to their function.
In this chapter you’ll nd a description of each Thinking Particles node, listed by group and then by order of appearance on the menu. For general information on using nodes and the XPresso Editor, please refer to your CINEMA 4D Reference Manual.

TP Initiator Group

PPass

This frequently-used node allows you to pass a group of particles to another node. PPass is used to control which particle groups have which effects applied to them.
For example, suppose you want to apply gravity to a particular group of particles. In this case you would rst assign the group to a PPass node and then connect the PPass node’s Particle output to the Particle input of a PGravity node.
To learn how to create particle groups, see ‘Particle Groups’ earlier in this
chapter or work through the tutorials.
Choose which group of pa rtic les
the nod e should output .
Attribute manager settings
Group
To choose which group of particles the node should output, drag the name of the desired group from the Thinking Particles settings (XPresso Editor: Custom > Thinking Particles > Settings) and drop it into this box.
16 NODES
THINKING PARTICLES
Suppose you want to set the
position of the 3 0th par ticl e
creat ed to the s ame pos ition as a
Null object . Use the node setup
shown here and s et the Co mpare
node’s Fu nctio n to ‘==’ and
You can use P PassA B to compare, say, the
positions of pa rtic les in t wo groups. In
this ex ample PPassA B passe s two groups
of particle s to PGet Data wh ich gets
the par ticles’ pos itions; thes e are the n
subtra cted one from the other.
Input 2 to 30.
Output ports
Index
The index number of the particle passed. This is especially useful when creating particles in Shot mode.
Particle Count
The number of particles passed by the node.
Particle
Connect this port to the Particle input port of the node that should receive the group of particles.

PPass AB

This node is similar to the PPass node except that it enables you to pass two groups of particles to other nodes instead of just one group. This is especially useful when you want to compare the particles in one group with the particles in another, as illustrated above. You could alternatively use two PPass nodes but this is simpler. PPassAB is essential when controlling the PRepulse&Bounce node.
To learn how to create particle groups, see ‘Particle Groups’ earlier in this
chapter or work through the tutorials.
THINKING PARTICLES
NODES 17
Choose which t wo grou ps
of particle s the node should
output.
Attribute manager settings
GroupA , GroupB
These boxes dene which particle groups the node should output. Open the Thinking Particles Settings and, from there, drag the name of one of the particle groups and drop it into the GroupA box. Drag-and-drop the name of the other par ticle group into the GroupB box.
Distance Type, Distance
These settings allow you to check the distances between particles of the two groups. The Distance Type setting controls whether the particles will be passed to the Particle A and Particle B outputs port and if so, when they will be passed.
None
Distances are not checked.
Inside, Outside
Particles in groups A and B are passed to the output ports if they are closer to each other (type set to Inside) or further apart from each other (type set to Outside)
than the Distance value.
Output ports
Distance AB
The distance between the particles in groups A and B.
Particle Count A , Particle Count B
The current number of particles of A and B.
Particle A, Particle B
Connect each of these ports to the Particle input port of the two nodes that should receive the particle groups.
18 NODES
THINKING PARTICLES
Position A, Position B
The positions of the particles.
Vector AB
The vector between the particles in groups A and B.
THINKING PARTICLES
NODES 19
Here we u se PAge to pass only cert ain
particles into a new pa rtic le grou p. For
examp le, we could use A bsolute with T1=30 and T2=45 so t hat only parti cles aged be tween 30 and 45 f rames w ill be
passe d into the n ew grou p.
Choose the type of even t that
should be chec ked. For example,
you can c heck wh ich par ticl es
have jus t been born.

TP Condition Group

PAge

This node enables you to check the age of particles or nd out which particles have just been born, have just died or have just changed groups. The node is mostly used for putting particles of a certain age into a new group, as illustrated above.
Attribute manager settings
Type, Relative T1/T2, Absolute T1/ T2
Set Type to the type of check that should be performed.
Born, Die
These settings check which particles have been born or have died respectively during the current frame.
Enters Group
Checks which particles have entered a particular group during the current frame.
Relative
Checks which particles are aged between the two limits dened by Relative T1 and Relative T2. These limits are specied as percentages, where 0% equals the time of the particle’s birth and 100% is the time of its death.
Absolute
Checks which par ticles are aged between the limits Absolute T1 and Absolute T2, which are measured in frames.
20 NODES
THINKING PARTICLES
Here we u se a PLig ht node in such a way
that when the color of its associated
light ob ject r eaches more than 90% red
the Cube i s made vi sible in the viewpor t.
There are many other, rath er more u seful,
ways of using PLight.
Additional input ports
Animation Time
Since the node’s parameters can be keyframe animated, by default the CINEMA 4D time is used internally to ensure that the values are interpolated correctly. However, you can pass your own time value to this port. Its data type should be Time, which is a Real number in the simplest case. If no value is passed, CINEMA 4D’s time is used.
Particle
Connect this port to the particle stream that you want to check, such as to the Particle output port of a PPass node or a PStorm node.
Output port
On
This port outputs a Bool value for each particle to indicate the result of the check — True if the check was positive, or False if the check was negative. For example, suppose Type is set to Born, three particles have been born during the current frame and 100 particles already existed before this frame. The node will output False for each of the 100 particles that already existed and True for each of the three new particles.
The most common use of the On port is for placing particles of a particular age into a new group (connect the On input port of a PGroup node).

PLight

Using this node, you can control actions using a light source’s color or intensity, or you can check a light’s color, intensity and more at a specied point in 3D space.
Here yo u can choose, am ong
other t hings, which li ght
intensity or c olor sh ould trigger
an acti on.
Attribute manager settings
Light
To choose which light the node will test, drag and drop the light’s name into this box.
THINKING PARTICLES
NODES 21
Threshold
With the help of this value, you can use the PLight node to control actions based on the brightness of a light source at a particular position in 3D space (dened by the Position values).
The node outputs a Bool value of either True or False depending on whether the
light’s intensity exceeds the Threshold value at this position in 3D space. The node’s On port outputs the value False if the light’s brightness is less than or the same as the Threshold, or True if it exceeds the Threshold. A Threshold of 1 equals a light intensity of 100%.
For example, suppose you want a PStorm node to emit particles only when a light’s intensity exceeds 50% at the world coordinates 200,10,-50. In this case, you would create a PLight node, drag and drop the name of the light into the Light box, set the Position values to 200,10,-50 and the Threshold value to 0.5 (0.5 x 100 = 50%). You would then connect the PLight node to the PStorm node via their On ports.
Color On, Color, Color Variation
If you want to control actions based on the color of a light source at a particular position in 3D space (dened by the Position values), enable Color and set Threshold to 0 (if you don’t set the Threshold to 0, the light’s brightness will be evaluated also).
The node will output a Bool value of True or False depending on whether the light’s color is the same as (or similar to, depending on the Color Variation setting) the color dened by the Color setting at this position in 3D space. The node’s On port outputs True if the two colors are the same/similar, otherwise it gives the value False.
The Color Variation setting denes how similar — dened as a percentage — the light’s color and the Color setting must be in order to produce a True value. For example, with a value of 0%, the colors must match exactly in order to produce an output of True, while a value of 100% means the colors will match regardless.
If you want to control actions based on a light’s color and brightness, in addition set the Threshold value to the desired brightness. See ‘Threshold’, above. The node’s On port will then only output the value True if the light’s brightness exceeds the Threshold value and the light’s color is the same /similar color as the Color setting.
Position
This value denes position at which the light’s value(s) should be checked.
Normal
A normal is a directional vector with a length of 1, which is often used to help calculate the shading of a polygon surface. A normal can be passed to this port in order to inuence the light intensity at a given position.
22 NODES
THINKING PARTICLES
If no vector is present, a normal that points towards the light source will be generated automatically. The light will thus fall orthogonally (at right-angles) onto the virtual surface and will therefore be at its maximum brightness.
Keep in mind that a normal pointing towards the light rays themselves, rather than at the light object, will cause the light to shine onto the backface of a surface. Thus an intensity of 0 may result, even if the light illuminates the exact given position.
Additional input ports
Animation Time
Since the node’s parameters can be keyframe animated, by default the CINEMA 4D time is used internally to ensure that the values are interpolated correctly. However, you can pass your own time value to this port. This should be of the data type Time, which is a Real number in the simplest case. If no value is passed, CINEMA 4D’s time is used.
Output ports
Color
Outputs the RGB color of the light at the position dened by the Position values.
Direction
Outputs the directional vector between the light’s position and the position dened by the Position values. This vector can also be calculated manually by subtracting the
light’s position from the Position values.
Intensity
Outputs the brightness of the light as a Float value at the position dened by the Position values. An Intensity value of 0 represents 0% brightness, a value of 1 represents 100% brightness.
On
Outputs a Bool value of either True or False depending on the light’s brightness and/or color at a particular position in 3D space (dened by the Position values). See
‘Threshold’ and ‘Color On, Color, Color Variation’ above.
Loading...
+ 122 hidden pages