How can we help you?

Phenix

40 min read

Phenix – Particle Animation Powerhouse for Blender

(Documentation work in progress: 2024-10-14)

 

Introduction:

Welcome to Phenix, an intuitive and powerful nodal particle system, built to maximize creativity while offering flexible control over particle simulations. Developed in Rust for high performance, Phenix is designed for efficiency.


Here are some tutorials to discover the add-on (this does not replace reading the documentation, which is more detailed): Youtube video tutorials

 

Installation and Setup:

  1. Navigate to Edit → Preferences → Add-ons → Install
  2. Choose the Phenix.zip file.
  3. Check the box labeled “Phenix” to enable the addon.
  4. Restart Blender to complete the installation.

Known issue on Windows: To uninstall the add-on, you first need to disable it, then restart Blender, and then uninstall it. Because of the way the OS handles dynamic libraries, it’s not possible to uninstall it while it’s enabled.

 

To access Phenix tools:

  • Press Shift + F3
  • Alternatively, click on the “Editor” tab and locate “Phenix Particle” in the General section.

 

General settings of Phenix:

 

 

Show Objects
Toggle on/off to display only the objects utilized in the simulation.


Show Stage
Enable to draw color on the node header, indicating its execution stage.

 

 

Help Panel

Toggle on/off to reveal detailed information about the node.

 

Statistic
Toggle on/off to view simulation statistics, such as the number of emitters, particles, objects, etc., used in the simulation.


Record
Globally disable/enable the simulation.

 

 

General workflow


Setting up the layout window

Setting up the layout window like in this way it is much easier to create particle animations.

 

 

Creating a Node Tree

Creating a Node Tree and adding nodes to that Particle Node Tree exactly like in the way you do it in Shade Editor.

 

 

Exploring Phenix Stack Features

As you create Node Trees, they seamlessly integrate into the Phenix Stack, offering a centralized hub for managing your particle animations. Here’s a guide to exploring and leveraging the features within the Phenix Stack


Icon Functionality

 

 

Camera Icon:

The Camera Icon offers a convenient option to manage the visibility of the selected node tree in the 3D Viewport.

 

Here’s how you can use it:

  • Left-clicking on the Camera Icon allows you to toggle the visibility of the selected node tree within the 3D Viewport.
  • When activated, the animation becomes visible, providing a real-time preview of its effects on your scene.

 

Edit a node tree:

Selecting a node tree (clic in the name) automatically switch to the graph.

 

Here’s a clear explanation:

  • Simply clicking on the name activates the edit mode for the chosen node tree, allowing you to make adjustments, add or remove nodes, and refine your particle animation setup.
  • Ctrl + Click: Turns on the visibility of the animation for the selected node tree, simultaneously turning off the visibility of the animation for the previously active node tree.
  • Shift + Click: Turns on the visibility of the animation for the selected node tree, leaving the visibility of the animation unchanged for the previously active node tree.
  • This ensures that modifications are intentional, providing a safeguard against unintended changes while navigating through node trees.

 

Cross Icon:

The Cross Icon offers a straightforward way to remove a node tree from the stack and will therefore not be evaluated.

 

NOTE: Any modifications made to the Node Trees or their individual nodes take effect when you play the animation from the beginning. This ensures that you observe the real-time impact of your modification in the 3D Viewport.

 

Exploring Tree Tool Features

 

 

Uncover the capabilities of the Tree Tool in Phenix, a feature designed to streamline node stage management for selected nodes. Utilize the Tree Tool to conveniently set node stages for selected nodes, enhancing control over the simulation process.

Note that not all nodes support stage assignment. For nodes with accessible stage settings, pressing the ‘F’ key on your keyboard triggers a pop-up menu, allowing you to designate the node stage.

 

Available Node Stages:

Understand the various node stages you can set:

 

Color Name Description
CONSTRUCTOR Evaluated once at the beginning of the simulation.
CONSTRUCTOR_END Evaluated once after Constructor.
FRAME_CONSTRUCTOR Evaluated before updating each frame.
MODIFIER Evaluated for every frame after Frame Constructor.
FRAME_END Evaluated for every frame after Modifier.
FINISHED Evaluated once at the end of the simulation.


NOTE: Each node has its default stage where it is best suited, so you don’t have to change it. Unless you are looking for specific behavior.

 

 

Exploring Node Snippet Features

Node Snippet in Phenix Particle is a powerful tool designed to simplify your particle animation workflow. It functions like a preset, offering numerous features to enhance your creative process.

 

Here’s how you can leverage the capabilities of Node Snippet:

 

Preset Node Groups:

Node Snippet contains various pre-arranged groups of nodes, serving as presets. Choose the node group that aligns with your project requirements to kickstart your animation effortlessly.


Create Custom Node Snippet:

Tailor Node Snippet to your needs by selecting specific nodes and creating custom groups. This feature allows you to efficiently organize and reuse node setups in future projects.


Export and Share:

Share your creative setups by exporting Node Snippet. This enables collaboration and allows others to benefit from your unique configurations. We chose the .json format to export the Node Snippet because it is widely used for storing and exchanging structured data. It’s easy to share, for example by email, takes up little space, and is human-readable.


Import Node Snippet:

Likewise, enrich your library by importing Node Snippet shared by others. Expand your toolkit and experiment with diverse node configurations.


Delete Unwanted Snippets:

Maintain a clutter-free workspace by deleting Node Snippets that are no longer needed. This ensures a streamlined and organized Node Snippet library.

 

Node Snippet is your go-to resource for accelerating your particle animation projects, offering flexibility, collaboration possibilities, and efficient management of your creative assets in Phenix Particle.

 

 

 

Baking the Particle Animation

Before initiating the particle animation baking process in Phenix, ensure you follow these steps for a smooth experience:

Save Your Blend File:

Begin by saving your Blender project file to secure your progress.

 

Un-Mute the Bake Particle System Node:

If the Bake Particle System Node is muted (if it is, the node will be greyed out), unmute it by pressing the ‘M’ key on your keyboard. This ensures the system is ready for baking.

 

Set Path in Bake Particle System Node:

Access the Bake Particle System Node and set the desired path for the animation bake. This defines where the baked data will be stored.

 

Initiate Baking:

To commence the baking process, add a “Bake Particle System” node and toggle the “attributes” button to select the properties to send to the geometry node. You then have the option to bake by clicking the “Bake” button on the node, or to bake the entire stack using the operator under the Stack panel.

 

 


NOTE: The particles system preview node works the same way to accelerate the playback speed, with the difference that it will write a cache in the machine’s temporary folder. This file will be deleted as soon as the particle system is baked. Or if you use the remove (all) cache operator under the stack panel.

Final setting for Rendering the Animation

As you approach the final stages in Phenix, prepare for rendering by making a small adjustment in the modifier. as illustrated in the GIF

 

Here’s the reasons you need to do this manually at the end:

 

Render Optimization in Cycles:

Phenix Particle is optimized for rendering billion-point clouds in the Cycles render engine. Leverage this efficiency when working with extensive particle setups.


Eevee Considerations:

Note that the optimized cycle setting may not be supported in Eevee. In such cases, instances or alternative models can be used to achieve performance with reduced computational demands.


Instance Replacement:

Consider replacing mesh instances with lightweight models, such as a fly model for intricate patterns or a bird for boid FX simulations. This helps balance performance and visual impact.


Integrating Rotation Nodes:

Introduce rotation nodes within the particle graph and bake rotation attributes for instances. This enhances control over the orientation of the instances, crucial for achieving specific visual effects.


By understanding these considerations and manually adjusting settings as needed, you tailor Phenix Particle Animation to meet the specific demands of your particle animation, rendering efficiently across different scenarios and rendering engines.

 

 

 

Overview of Nodes of Phenix:

 

Phenix features distinct categories of nodes, acting as the building blocks where creativity comes to life in animations. These categories are like specialized tool sets, each unlocking unique capabilities for shaping and refining your creation of animation. Let’s take a closer look at these categories, breaking down the technical aspects into easily understandable terms.

 

Particle System

This category of nodes allows you to create the particle system and setup the core.

Particle System

Particle System allows you to create a particle system

Inputs

  • Sub Frames: Aditional sub frames to simulate
  • Use Auto Sleep: Take into auto sleep consideration
  • FPS: Frames per second
  • Commands: Commands to apply to the particle system

Outputs

  • Bake: Bake the particle system using a bake node
Zone

Command

Command contain pre-built FX to use in your animation.

Attractor

Attractor Force that can be applied to particles

Inputs

  • Type: Attractor type: - Lorenz A sigma, B rho, C beta - Rossler A, B, C - Halvorsen A - Twisted Torus Rotor: A is main radius, B the small radius, C twist
  • Scale: Scale of the attractor
  • Max Speed: Maximum speed of the attractor
  • A: A value of the attractor
  • B: B value of the attractor
  • C: C value of the attractor
  • Weight: Weight of the attractor
  • Filter: Filter the particles to apply the attractor to

Outputs

  • Output: Attractor command
Zone

Procedure

This category allows you to talk directly to the Phoenix using a set of rules that define a custom command. You need to use the node 'Apply Procedure (proc)' to send the command to the program.

Apply Procedure (proc)

Apply Procedure allows you to apply operation to a particle attribute

Inputs

  • Proc: Procedure to apply
  • Filter: Filter the particles to apply the procedure to

Outputs

  • Command: Command to apply the procedure
Zone

Filter

These nodes allow you to filter the particles based on various criteria. They enable you to shape and enhance the aesthetics of your animations, bringing your creative vision into focus.

Filter

Filter allows you to filter particles based on their attributes

Inputs

  • Type: The type of comparison to perform: Equal: == Not Equal: != Less Than: < Greater Than: > Less Than or Equal: <= Greater Than or Equal: >= Modulus Zero: particle_attribute % threshold == 0 Sin: Cycle sin to the threshold value
  • Invert: Invert the filter
  • Threshold: Threshold is the value to compare against
  • Epsilon: Allow a tolerance for the comparison
  • Attribute: The attribute to filter on, one component at a time. To get the blue channel use ColorB
  • Zone: The zone to filter on

Outputs

  • Output: Filter result, can be combined using Combine Filters node for better tuning
Zone

Input

Input nodes allow you to seamlessly incorporate user inputs, making your animations respond to external actions.

Image

Image Node allows you to select an image from bpy.data and send its data to Phenix

Inputs

  • Image: The selected image

Outputs

  • Image: The selected image from bpy.data
Zone

Utils

Utils are like the handy tools in your animation toolbox.

Combine Command

Combine Command allows you to combine multiple commands into one command

Inputs

  • Commands: Commands to combine

Outputs

  • Output: Combined commands
Zone

Math

Math nodes bring precision to your animations. They allow you to use mathematical operations to control various aspects.

Bool

Bool allows you to input a boolean value

Inputs

  • Value: Bool value

Outputs

  • Value: Bool value
Zone

Import / Export

Bridge the gap between Phenix and external assets. The Import/Export nodes facilitate seamless integration, allowing you to import and export data effortlessly, enriching your animations with external elements.

Bake Particle System

Bake Particle System allows you to bake the particle system to a cache file for faster playback

Inputs

  • Particle Attributes: Select the particle attributes to bake
  • Bake: Bake the particle system linked to this node
  • Bake Type: The type of the cache file
  • File Path: The path to the folder where the cache file will be saved

Outputs

  • Output: Enable attribute to bake from the node properties tab
Zone

Layout

Layout nodes help you organize your animations effectively.