Table of Contents

Wire Setup View 

The Wire Setup View is the area within thinkingParticles where you will connect all of the various operators and conditions together in order to create a particle animation.

This view will show the currently selected DynamicSets container, so that you can enter operators and conditions within it. As you add operators from the Create Rollouts to a DynamicSets, they will also appear within the DynamicSet Tree View as well. Be aware that the order in which you add the operators will affect the final particle animation. For more information on how to read the DynamicSet Tree View, go HERE.

As the number of operators increases, you'll find that thinkingParticles provides you with more visual feedback on what kinds of nodes you are working with. All Operators have an O: at the beginning of their name while Conditions can be identified by a C: at the beginning of their name. Logically, the helper objects start with an H: as a prefix of their name. Finally, BlackBoxes will show up with a D: as they are identified as saved DynamicSets that are being reused. For more information on BlackBoxes, go HERE.

Once you've added operators and conditions to your DynamicSets, you will then use the Input and Output Data Streams to tell thinkingParticles how the various operators and conditions inter-relate to one another.

image6.jpg

DynamicSets with 5 operators wired together 

Input and Output Data Streams 

As you add operators, conditions, helpers or groups to your DynamicSets in the Wire Setup View, you will notice that they will have several Input and/or Output data streams.

image2.gif

Typical Operator in thinkingParticles

The Input Data Streams on all operators within thinkingParticles are found along the left-side of the operator, under the light blue box. These streams represent the values that can be sent (or “piped”) into the operator. Many times, values that can be set from within the Parameter Rollouts can be overridden by data that is generated from other parts of your particle animation and piped in through these ports.

Likewise, Output Data Streams are found along the right-hand side of the operator, under the darker blue box. These streams represent the values (or data) that can be sent out to other operators and conditions to use. In most cases, the Output Data Streams will carry information about a particular event, condition, rule or object to another set of rules to further act upon.

NOTE: Be aware that not all operators within thinkingParticles have Output Data Streams. Some operators have only inputs.

By default, operators and conditions come into the Wire Setup View show only the most commonly used Input and Output Data Streams. Be aware that simply because additional streams are not visible, it does not mean that they are not available. If you find yourself in need of a particular data stream that is not immediately visible, you can do several things to show them.

  1. You can right-click on the small Input and Output boxes at the top of the operator. This will result in a list pop-up that displays the currently available as shown below:

image3.gif

All Input Data Streams that are currently visible will show up with a small check mark next to them, and the others are simply listed (as shown above). If a data stream is already connected to another operator, the name will also show a greater than symbol ('>') to indicate that it is in use. All you have to do to make an additional data stream visible is click on it within this list. So for the example above, clicking on the Radius 1 Stream will result in the operator looking like this:

image4.gif

You now have easy access to the new Input Data Stream.

  1. Another way to get access to ALL of the Input and Output Data Streams is to right-click on the name of the operator in the Wire Setup View. This will bring up a node control panel, and from it, you can choose Visible All.

image7.jpg

This has the result of making all of the various Input and Output Data Streams visible at once. For someone who is new to thinkingParticles, this is an easy way to check what an operator offers. Of course, you have to be careful when using this feature. Some operators have a LOT of data streams and you will have to wade through them all after you've done this. A good rule of thumb is to make use of this manual first. The reference section for each operator shows you all of the Input and Output Data Streams, so this is also a good way to become familiar with the various connection ports you have available.
 

Connecting Operators 

Connecting the various Input and Output Data Streams between operators is a very simple process.

You can simply click on the Output Data Stream name and left-click drag with your mouse. A rubber band line will appear and can then be placed over another input port. When you release the left-mouse button, a connection will be made.

To remove a connection between nodes, you can simply hold down the Shift-key and left-click on the Input or Output data stream, and the connection will be immediately removed.
 

Data Types 

When it comes to connecting Input and Output Data Streams, the first thing to understand is that each individual Input Data Stream within an operator will require a specific type of Output data to connect to it. In order to connect the data streams, you need to match up like inputs and outputs. For example, you can feed a Particle output into a Particle input, but you can't feed a Rotation output into a Position input. While some conversion can be done, such as converting a Vector output to a Position input, you must be careful as to what you connect. In an effort to help you, thinkingParticles provides visual feedback for you in two ways.

First, if you hover your cursor over an Input or Output data stream, you will be shown the data stream type within a small pop-up window.

image8.jpg

In the example above, by hovering the mouse over the Birth Type Input Data Stream, you can see that the data type it can have piped into it is an Integer (shown in brackets). Each Input and Output Data Stream will provide you with this valuable information.

Second, as you drag wires between nodes, valid connection points will become highlighted as shown below.

image9.jpg

Input Data Streams show which are compatible with a Float Helper

As you can see, any acceptable connections will highlight to let you know that you can take one data type and connect it to another operator. So in the example above, both the On and Size Input Data Streams can take the Float Helper's Value Output Data Stream. Illegal or impossible connections will be rejected automatically by thinkingParticles so you don't have to worry about odd connections with mismatched data types.

Important:
In many situations Data types will be converted automatically so that a connection makes sense in the matter of an evaluation for thinkingParticles. However, connecting a Color to a Particle Input is not making much sense from a logic standpoint.

 

DynamicSets Validity

When you first create a new DynamicSets, within the Wire Setup View you will see that there is a large red button at the top of the view that says Invalid on it. What this means is that currently, this DynamicSets either has a problem with the operators contained within it, or that it contains no operators at all.

Invalid DynamicSets

In order to be evaluated by thinkingParticles, every DynamicSets must be checked and validated before it can be interpreted. Since a DynamicSets is nothing more than a collection of rules and operators, like any other programming language thinkingParticles needs to collect and access all of its data before the interpreter starts analyzing it. This means, you must supply every bit of data that an operator or a condition needs in order to function properly.

Now some operators have required inputs. In these cases, the Input Data Streams will automatically highlight in yellow when they are created. If you do NOT connect an appropriate Output Data Stream to the highlighted Input Data Stream, the DynamicSets will remain Invalid and will not be processed when the particle animation is generated. This can lead to unexpected results.

image10.jpg

An operator with a missing but required Input Data Stream 

As can be seen above, the Group Operator contains a required Input Data Stream called Particle. Without this particle data stream the particle Group Operator cannot function. Without it, thinkingParticles has no way of knowing how to work with this set of rules, and as a result, the DynamicSets that contains it will become Invalid until it is connected.

image11.jpg

Once the Particle Input Data Stream receives the data type it requires, the entire DynamicSets becomes Valid. Valid DynamicSets are able to be interpreted by thinkingParticles and used to create particle animation within your scene.
 

Where to go Next? 

Now that you have a bit of an understanding of how to the Wire Setup View functions, it's time to move onto the Create Rollouts. It is here that you select the various Groups, Conditions, Operators and Helpers that will be used to create your particle animation.

While it is highly recommended that you go through the Introduction material in order, if you prefer you can click on any of the topics that interest you.

   

©2024, cebas Visual Technology Inc.