Using tyFlow for Animation [Example 1]
Published on 26 May 2024
Introduction
The documentation page of tyFlow says, it’s an unofficial replacement 3ds Max’s particle flow. I would say it’s more than that.
You could create animation in 3ds Max relatively easy with the tyFlow and in this piece, we’ll unfold a few features of this robust particle engine with an interesting example.
An approach to learning a huge particle engine with too many features like tyFlow may look daunting. But it could be made easier with instance based approach where you make something and learn something.
In this article we’ll delve not too deeper, but study how we can make this Taurus knot with glass material using this particle engine.
Before we start getting into the business, let me point out that tyFlow integrates with vRay, PhoenixFD, Nitrous and it does support view port instancing. It has built-in PRT/object/cache export facilities, crowd simulation tools and has the ability to convert particle trajectories, neighbors and constraints into dynamic splines.
Now, these technicals may sound mambo jumbo, but they don’t actually if you have any prior exposure to any particle flow or other engines for 3D simulation.
Let’s get down to the business.
Table of Contents
1. Install tyFlow
The installation is pretty simple with the documentation guide and download instructions. Just get to the download page and get the installer for your version of Max.
There is a free version for the plugin and the pro and studio version come with Node-locked and Floating license at fees. I am using the free version for the reference in this piece. I refer to the 2019 version of Max for following along this post.
After installation, you should see the installed files inside the Plugin folder as well the Command Palette.
One thing I should mention here. Don’t forget to get the render installer matched with your Max version, else it would throw error messages.
So you’re all set. Let’s go and create a Taurus Knot.
2. Set Up Units Preference & Render Engine for Max before you start working on
It’s really important to make it a habit of setting up your units before starting your work. Else what might happen is you may come across a situation when you’re merging a 40 feet long pencil with a 6 inch tall building!
It’s more important in case of the animated props and rigged characters where scaling up things won’t work and would rather mess things up.
To avoid that let’s go and set up the Units.
2.1 Set the Display and Scale Unit Set Up first – It’s extremely important
Go to Customize (Menu) > Units Setup
I prefer to use the Metric as the Display Unit Scale and select Centimeters. Note that this actually sets the Display of the parametric values of the Objects and doesn’t affect their absolute magnitude. It determines how 3ds Max will interpret your inputs.
So when you create a sphere of Radius 100 with Centimeters as the Metric Unit, then Max will know that you created a sphere of 100 centimeter radius. If you choose Meters as the Metric Units, Max will know if you have put 100 Meters as the Sphere’s radius.
If you select US Standard and choose Inches the inputs will be in Inches naturally. But, I stick to the Metric System selecting Centimeters.
Also remember, the Display Unit Scale doesn’t change the accuracy of 3Ds Max’s internal working and calculation. ‘This accuracy’ may see weird, but it’s not actually.
Consider building a large terrain in Max which is of miles or Kilometers long and wide and two points miles away from the origin very close to each other pose such issue in accuracy.
Max may calculate these two points as one depending on the System Unit Set up and the measure of accuracy set in the System Unit Set up. Let’s see how does that take place in the next section.
2.2 Understanding System Unit Setup in 3ds Max – Why it’s important?
It’s important to know the significance of the System Unit Set up in Max so that we don’t mess it up. Because, you may need to create different scene geometries of different scale and magnitude and the importance of accuracy would obviously be different in proportion.
Again, Go to the Customize (Menu) > Units Setup and this time click on System Unit Setup. It’ll pop up a window. Let’s focus on the Window 1 and check what is going on here. I have Meters selected and 1 Unit = 1.
Below is a slider which you can move left and right, toward and away from the origin receptively. What it is showing in the Window 1 is when you’re away from 100 cm from the origin, Max will fail to distinguish two points if they’re closer to each other than the distance stated in the Resulting Accuracy. In this case 0.0000119209 cm.
If those two points closer than this measure, then Max will recognize them as one single point. Computer programs are not infinitely accurate and it’s important to be able gauze the accuracy. You may think what’s the purpose of such accuracy at this microscopic level.
Yes, you must take this into account when you’re creating sub cellular or sub atomic particle.
Now, get to the Window 2. I have dragged the slider to the right. Notice, in this case the level of accuracy has changed proportionally.
At 204799 cms (ignoring the decimals) away from the origin, the extent of accuracy is 0.01220 cm. That means object closer than this distance would pose some issues.
Let’s not mess up with the System Unit Setup. If you use Meters, stick to that. You could change the Display Unit Scale from project to project, depending on their magnitude. But that must not be the case with System Unit Setup. I use Meters and do remain with that. So, let’s move on to the next segment of settings.
Correction: I had tried with my usual Unit Setup as Meters, but that didn’t work out right for this animation. I have changed that into Centimeters and continued working.
2.3 A few Settings in the Preference before tyFlow Setup
A quick run down with some of the settings inside File> Preference.
- Adjust the level of Undo’s as per your requirement. Mind you, increasing the levels will eat up more memories. So you have to strike a balance with your need and the RAM installed.
- Under Files, Check on ‘Convert local file paths to Relative’. It’s very important, especially when transferring project folders or files to another system. Without checking it on, the transferred files will ask to re link all the maps applied onto the materials, which is a tedious process.
- Under Gamma and LUT tab, check on ‘Enable Gamma/LUT Correction’
2.4 Set the Render Engine – vRay for this tyFlow Animation
- Go to Customize > Custom UI and Default Switcher
- Select Max.vray under the ‘Initial Settings for Tool Options’ at the top left
- Close Max and then relaunch. Any change in Default Switcher don’t see its effect unless Max is restarted.
3. Create a Taurus Knot – Extended Primitive
Before we fire up the particle engine let’s go to the Extended Primitive of the Max and and create a Taurus Knot.
You could adjust the inner radius through the values under Cross section, where I have assigned a value of 80 cms, increased the Sides to 32 for a greater detail.
Remember, the overall magnitude of the knot is controlled by the values under the ‘Base Curve’. So you may have to modify both the settings alternatively to create a decent looking Taurus Knot.
3.1 Apply Shell modifier to create a skin of the Taurus Knot
I have applied the Shell modifier on the Taurus Knot and assigned the Outer amount as 2 cms for the skin thickness. I have used ALT+X for this see through of the model to get the effect of the ‘Shell thickness’.
You can use Turbosmooth modifier before applying shell, if you don’t want to tweak the Segments and Sides of the Taurus Knot itself. The Turbosmooth Modifier will increase the smoothness of the whole surface with a greater detail.
Just note that, don’t increase the Iterations in the Turbosmooth settings (Modifier), or it could crash the system.
4. Add tyFlow in the 3ds Max scene
Pretty simple. Just Select the Standard Primitive in the Command Palette and click on the tyFlow at the bottom right, as marked. It bring the ty icon into the scene.
4.1 Helpers – Select tyFlow
First, lets get all four view ports by pressing Alt + W
- Go to Helpers
- Select tyFlow from the drop down
4.2 Add tyIcon to the Taurus Knot in the Top view port
See the Front view port and the I find the position of the tyIcon is somewhat in the middle. I like to move it up a little.
For this should use the Scene Explorer in the left to select the tyIcon inside Taurus knot and then move it up. Make sure it’s well inside the knot.
4.3 Copy tyIcon inside the other Knot of the Taurus
To make sure the particles flow down from two different sources, I have copied the tyIcon to create a replica inside the other Knot of the Taurus. You can do this in the Perspective View Port. There is no hard and fast rule, it’s just according to your adjustments.
I have finally got this. See the image below.
4.4 Adjust Time Configuration
Click on the gear icon at the right bottom to pop up the Time Configuration Window. Turn off Real Time under Playback. I have changed NTSC to PAL and then assigned 250 as the End time value.
5. Set up tyFlow
- Select tyFlow001 in the scene Explorer
- Go to Modify panel
- Click on the Editor
- Press Tab on the empty space to get the menus. items seen in the editor’s list.
- Select Birth & Press Enter
5.1 Add Position Icon below Birth Operator – Pick Two tyIcons in the Scene
- Press Tab and add Position Icon below the Berth operator
- Select Position Icon
- Click Pick
- Select two tyIcons one after another inside the Tauraus Knot. if you come across picking up the tyIcons, use Scene Explorerer to pick up those icons.
You can see the Birth of the tyFlow particles if you drag the timeline slider to the right. But these particles are now points. So you have to add another operator to make them evident.
5.2 Add Shape operator – place it above the Position icons in tyFlow Event_001
I have added two different particles, both are 3D. One is Chunk (Rounds) and another is Geosphere (Midres). Also, I have tweaked the scale and variations a little. You can find this scrolling down the right pane of the tyFlow editor.
Try experimenting with different types of shape meshes under the Mesh section. Both 2D and 3D particles are available there. Right over the Mesh section are Scale and Variations under Size. Do play with them also to get the right kind of size for your particles.
But, what is happening now is the particles born and are remaining in the same position before dying which we obviously don’t want. We want the particles to fall down inside the Knot. For that we need a force and certainly Physics.
5.3 Add Physics Shape Operator to add force to make the particles fall down
This time the particles are falling down but they are not interacting with the object i.e. the Taurus Knot as some are seen coming out of the Knot.
So, you have to make them fall inside the Knot and interacting with the inner surface as well.
5.4 Add PhysX collision to make the particles interact with the Knot’s inner surface
We have added a PhysX collision operator right beneath the PhysX Shape operator you can see in the editor.
But there are a few problems. First, the particles look colliding or falling over a plane or ground that looks somewhere half way along the height of the Knot.
And second, the particles are coming outside the Knot and are not remaining within the object, which we certainly do not want. We want the particles to remain within object and to respect the inner surface while falling down. So let’s fix these two issues one by one.
5.4.1 Issue of Unwanted Ground Collider along a tyFlow object – Fixed
To fix this, we have to select tyFlow and then go to Modifier of the Command Palette. Then go to the PhysX and under PhysX, you’ll
get Ground Collider. Either turn it off or adjust the values of Height. I have tweaked the Height and got the particles falling up to an imaginary plane apparently below a few centimeters below the Knot.
If you turn this option off, the particles will fall infinitely below object. Let’s fix the 2nd issue now.
5.4.2 Issue of Particles falling out of the object instead of remaining within – Fixed
Now, the things are looking good and the particles have started falling in place. So, what have I done here ?
- Added PhysX Collision operator and placed it right below the PhysX Shape operator.
- Clicked on ‘Pick’ and picked the Taurus Knot001 as the colliding surface.
- Changed the Hull Type to Mesh from the Drop Down. By Default it remains Convex Hull.
I have got a timeline render without any material to show what is going to come out structurally.
Now, there could be a few glitches. A few particles may still fly out of the Knot. There could be literally a few. If you see a lot of particles are coming out. Then you have to check the operators. For a few particles, which is not uncommon, there are a couple of solutions.
5.5 How to fix if a few particles still fly out of the Knot?
Solution 1 – Move the tyIcons
Try moving the tyIcons in X, Y or Z directions to make them position deep inside the Knot. You may achieve the desired position after a few attempts.
Solution 2 – Adjust Time Step
If moving the tyIcons doesn’t help, then you have to resort to adjusting ‘Time step’. You’ll find this inside tyFlow Settings (in the Command Palette). Change the settings to 1/4, 1/6 or 1/8 th of a Frame. Start from 1/2 and see how does it help!
You’ll surely require more time to render, but there is no other way.
5.6 Add Force in tyFlow to impart Gravity for a more natural fall of the particles
This time we go and press Tab with the cursor hovering over the green top bar inside the tyFlow editor and add Force operator right below the Birth operator. This imparts a more natural fall due to gravity of the particles inside the Taurus Knot.
I have assigned a value of -0.1 cm in the Strength of the Force Features (selecting it). You could tweak according to your scene props and requirement.
We’re almost closing in and are in the last lap with materials, lighting and camera to set. But before firing up Vray and Max’s own material editor, you have to add one more operator here.
Because, all the particles generated by the tyIcons are having just one color and we’re interested to produce different hues for the particles.
5.7 Add Material Id operator for the Particles
We now have to go and set up materials (Slate Material Editor) for these particles and render using vRay.
6. Set up Material in the Slate Material Editor
What have I done here? Let’s see step by step.
- We have already got the Render Engine set up with VRay.
- Invoke the Slate Material Editor.
- Create VRayMtl and adjust the Diffuse color. I have created three different materials with each having Reflection down to slightly grey (r=32, g=32,b=32). I have also cranked down the glossing to 0.9.
6.1 Create Multi-Sub-Obj Material in the Slate Material Editor
- We have created three different colors and now, it’s time to add them to a Multi/Sub-object branch inside the Slate Material Editor.
- Double click the Multi/Sub-Object Branch and set the number to 3, since we have created three different colors for the particles.
6.2 Finish creating Multi/Sub-Object Material & Set the Material Id operator in tyFlow to Random
- You attach all the materials you created to the Multi/Sub branch.
- On the tyFlow Editor, click on Material ID operator and change the Material ID type from Static to Random
- Finally, assign the Multi/Sub material to the tyFlow in the 3ds Max scene.
This could take some time to update. You also have to set the Max Random value of the Material ID operator to 3 (1-3) as we have set three different materials in the Multi/Sub branch.
You can clearly see the things are falling in place in the correct way. All we now have to do with the scene props is create a glass material for the Taurus Knot and add light and camera to the scene.
7. Create Glass Material in VRay for the Taurus Knot
It’s pretty simple. Drag a VRay material in the slate material editor. You have to change three different parameters.
- Diffuse color: Black = 0,0,0
- Reflect: Some grey to create a highly reflecting surface as usual with any glass material. I have put somewhere around 120
- Refract: Full white i.e. 255,255,255 or close tot this
- Select the Taurus Knot
- Right click on the Glass Material for the Taurus Knot
- Assign Material to Selection
We’ll render the scene shortly after setting a plane, a camera and a few lights.
8. Create a Plane and add material to the Plane
Creating plane and giving it a curvature is very easy and a widely common backdrop used in 3ds Max props render.
- Create a plane from standard primitives
- Convert it to an Editable Poly
- Select the edge (under Editable Poly or press 2) – Select Loop (Within Editable Poly Features under Modifier in the Command Palette)
- Shift Drag and raise a bit
- Again Shift drag and raise vertically upward
- Apply Turbosmooth
- Scale in Y or X direction as per requirement
- Create a Standard Material in the Slate Material Editor
- Create a Dark Diffuse color. I have made a green shade.
- Assign the material to the Scene prop i.e. the plane
Let’s now go and put some lights in the scene.
9. Create VRay Lights – Targeted to the Taurus Knot
- Create VRay lights with Targeted checked on, as shown in the modifier panel.
- Shift Drag and make instance. I have created three instances.
- I have finally set the Multiplier value as 18.
- Turned ‘Invisible’ on under Options
Let’s now quickly check the VRay Settings before having a still render pass, as rendering a whole image sequence will take a few days.
10. VRay Settings for the Render Pass
- I have set the Brute Fore as the Primary Engine and Light Cache as the secondary engine.
- Selected Bucket Rendering as the Image sampler type with Max Subdivs as 32.
- Kept the Noise Threshold at 0.01
- Render Frame 1280 X 720
You can adjust the Noise threshold, once the rendering is finished and you feel it necessary assessing the render pass.
Conclusion
This tyFlow animation example is a simple one for starting up with the robust particle engine system. It’ll take some time to render and create a whole image sequence. I’ll update this blog in a few days with that shot rendered animation.
I haven’t added the camera yet, which will be a simple VRay Camera targeted at the Taurus Knot. might create a spline in the Top View Port and add some Z-depth to it in the Front View port and bind the Camera to that path, giving it a slight movement.
You can also think of creating a helix from Max and adjust the Camera Path accordingly. The camera set up is no crucial one and anyone with basic knowledge of Max can handle this stuff.
Here is the final pass. Let me know in the comment section if you need further details about the VRay settings. As I said, I’ll update later with the animation which is interesting since the chucks will be seen falling inside the Taurus Knot.
And that’s the main effect of using tyFlow in this animation set up. Hope you liked the article. Please don’t forget to share this to encourage me write more such content.