This page provides information about Phoenix FD Extra Attributes.
Overview
Phoenix FD Extra Attributes can be added to compatible Maya objects and provide additional options for how objects interact in Phoenix simulations.
These attributes can be brought out on scene nodes interacting with the simulation - Polygon meshes, NURBS and subdivision surfaces, VRayProxy objects, GPU caches, Maya particles and nParticles, and Phoenix Simulators which can also act as emitters or obstacles to other Simulators.
Extra Phoenix Attributes
General Properties
Solid Obstacle | phxfdObjSolid – When enabled, the object is an obstacle for the simulation and will obstruct the fluid. Otherwise, the object will be transparent to the fluid, but it still can be used as an emitter by the Source or as an attractor geometry using the Body Force.
Please ensure that your solid geometry:
- has no open edges or holes;
- does not self-intersect;
- has normals pointing outwards.
Phoenix will try to handle any geometry that does not comply with these conditions, but the simulation might not behave properly - in case of fire/smoke simulations some areas of the simulation could lose velocity and freeze for no apparent reason, and in liquid simulations particle explosions could appear.
Clear Inside | phxfdClearInside – When enabled, allows you to remove the specified grid channels or particle systems from the volume of the object. To erase only certain types of channels without affecting the motion of the simulation, you can combine this option with a non-solid object. The option produces different results depending on the type of simulation:
For fire/smoke simulations, voxels overlapped by the geometry will be cleared.
For liquid simulations where the geometry is not Solid, particles overlapped by the geometry will be cleared.
For liquid simulations, if the geometry is Solid, all particles will be erased if they enter the volume of the geometry, even if Clear Inside is off. There is a special case when Initial Fill Up and Fill Up for Ocean are both enabled. In this case, if Clear Inside is off, the grid voxels under the Initial Fill Up level will be considered full of Liquid, even if there are no Liquid Particles in them. This way ships or other vessels immersed in the simulator would have their inner volume filled by the liquid mesh and will not have visible air pockets over their surface during rendering. Otherwise, if Clear Inside is off, voxels that are inside the geometry and under the liquid level will not contain grid liquid.
Clear Channels | phxfdClearChannels – When Clear Inside is enabled, this list specifies which grid channels or particle systems to remove from the volume of the object, separated by commas. The supported elements are Liquid, Splashes, Foam, Mist, Temperature, Smoke, Fuel.
Initial Liquid Fill | phxfdObjInitialFillup – Affects only liquid simulators. Creates liquid in the entire volume of the object on simulation start. The option is available only for non-solid objects. If the Initial Liquid Fill parameter is enabled, Solid Object is automatically disabled.
The liquid emitted through the Initial Liquid Fill option will be initialized with the values set for the Default RGB and Default Viscosity parameters in the Dynamics rollout of the Simulator. If your setup requires multiple sources with different values for those options, consider using a Phoenix Liquid Source node instead.
Wetting | phxfdObjWetting – Affects only liquid simulations. This control allows you to enable/disable wetting for this specific object, in case Wetting is enabled from the Dynamics rollout of the Simulator. The option is available only when the object is Solid. If the Solid Object parameter is disabled, Wetting is automatically disabled as well.
Object Motion Velocity | phxfdObjVelocity – Determines the calculation method for the velocity of the object inside the simulator.
- Use Simulator Settings – The Object Motion Velocity calculation method for this object will be based on the Simulator Properties | Scene Interaction rollout | Object Velocity parameter.
- Transformation Only – The velocity will be calculated based on the object level transformation of the geometry (i.e. animating the translate, rotate, scale parameters on a piece of geometry).
- Per Vertex – The velocity will be calculated based on the deformation of the geometry (i.e. a skinned character whose vertices move based on the rotation of joints).
When using this option, the count and the order of the vertices must not change during the simulation. Furthermore, calculating the Per Vertex velocity for each vertex tends to be slower than using the Transformation Only option.
- Motion Vector Color set – Along with the object level transformation, Phoenix will add the velocities from the color set defined in the "Motion Vector Color Set" attribute of the mesh.
Motion Velocity Effect | phxfdObjVelocityMult – Allows you to control the impact of a moving object over the fluid. The motion could be caused by translation, rotation, scaling of the object, or by vertex animation where the vertices should push the fluid with their vertex velocities. The higher the value is, the stronger the fluid reaction to the body's motion is.
Geom Border Vox Override | phxfdObjVoxels – Affects only fire/smoke simulations. Per object control of how deep the fluid penetrates into the object. Same as the Object voxels parameter of the simulator.
Use Viewport Subdivision | phxfdViewportSubdivision – When enabled, the viewport subdivision will be used for simulation.
Active Body Properties
The settings below only affect Liquid simulations using the Active Body Solver. Active Body simulations using the Fire/Smoke Simulator are not supported yet.
When working with Active Bodies, make sure to select the original object when tweaking the Per Node Properties.
Phoenix automatically creates a Clone of the original object when you start a simulation. The Clone is a duplicate of the provided geometry whose position and orientation are stored as key-frames. When the simulation is re-started, the Clone is deleted – any changes made to the Per-Node Properties of the clone are lost.
If you want to preserve a simulated copy of an Active Body, you can make a copy of the simulated Clone using Maya's Duplicate Special where you must check 'Duplicate input connections' in order to preserve the animation keyframes. Then move the copy out of the Active Body Solver's ClonedBodies set (everything in that set gets deleted when the sim is restarted, so it does not interfere with the next simulation).
Make Active Body Static | phxfdObjStatic – When enabled will make the Active Body static. It will not be affected by gravity or influenced by the force of the fluid, but will still act as a collider for the other active bodies and the fluids.
Collider Type | phxfdObjColliderType - Specifies the shape used by the Bullet Solver to represent an object.
- Precise Concave (Slow) - The geometry is decomposed to a set of convex meshes that move together. This shape is useful when simulating concave objects such as a torus, hollow tube or fractured geometry.
- Simple Concave - The geometry is converted to a single representation of a concave mesh. This option is faster than using Precise concave, but is less precise during complex collisions.
- Convex (Fast) - A collision shape from the convex hull of the geometry.
- Capsule (Faster) - A capsule shape over the geometry.
- Box (Faster) - A bounding box over the geometry.
Using a single collision type for the majority of the colliders improves performance. This way the collision calculations will be faster.
Specify Mass | phxfdObjSpecifyMass – Enable this option to manually specify the total mass of the object using the Object Mass (kg) parameter. Use this option when you have a rough estimate of the real-world mass of the Active Body.
Object Mass (kg) | phxfdObjMass – Specifies the total mass of the Active Body, in kilograms. Note that the specified Mass will be automatically divided by the computed volume of the original object to reach the final density – as a consequence, the specified Mass is evenly distributed across the entire object. Ideally, all elements of the original object should have roughly the same Mass. E.g. when simulating a ship, it would be best to remove high-volume, low-mass geometry such as sails and ropes.
Specify Density | phxfdObjSpecifyDens – Enable this option to manually specify the Density of the object using the Object Density (kg/m3) parameter. Use this option when you have a rough estimate of the real-world density of the Active Body.
Object Density (kg/m3) | phxfdObjDens – Specifies the Density of the Active Body object. The density of an object is its total mass divided by its volume. Note that the specified Density is considered evenly distributed across the entire object. Ideally, all elements of the original object should have roughly the same Mass. E.g. when simulating a ship, it would be best to remove high-volume, low-mass geometry such as sails and ropes.
Density Presets – Provides a rough preset value for the Density of an object of a certain material. Note that the presets are for reference only - you may need to further tweak the Specify Density parameter:
- Cork (270)
- Ship Hull (500)
- Wood (700)
- Boat (800)
- Ice (920)
- Water (1000)
- Plastic(1350)
- Rubber (1520)
- Concrete (2400)
- Glass (2600)
- Steel (8000)
Friction with Active Bodies | phxfdObjToBodyFriction – Controls the amount of friction between the Active Bodies. Low amounts of friction will allow objects to slide while high amounts of friction will slow down both the objects' rotation and movement once they come into contact with another object or the ground plane.
Friction with the Fluid | phxfdObjToFluidFriction – Controls the influence of the fluid simulation over the Active Body. When the friction is low, the Active Body will act as a perfectly smooth object (e.g. a ball of wax), allowing water particles to slide across the surface. When the friction is high, the adhesive forces between the Active Body and the fluid will cause water particles to affect the movement of the object to a greater degree. Increase this value when simulating an object in a turbulent body of water whose behavior should be more chaotic.
Elasticity | phxfdObjElasticity – Controls the bounciness of the Active Body. Higher values will make the object bounce more when colliding with another Active Body or the ground plane.
Apply Gravity and Buoyancy | phxfdApplyGravityAndBuoyancy – When disabled, the body will behave as if in zero-gravity. On earth, an object floats above water because of two forces: Gravity pulling it down, and the Buoyancy of the liquid pushing it up. Depending on the densities of the liquid and the floating object, those forces balance out and the object either sinks (if denser than the liquid its submerged in) or floats. When Gravity and Buoyancy are disabled, any force applied to the Active Body will cause it to accelerate indefinitely in a single direction.
Override Center of Mass | phxfdObjOverrideCenterOfMass – Allows you to manually modify the position of the Center of Mass gizmo whose initial location is based on the computed mass of the Active Body. To simplify things, an assumption is made that all parts of the object have an equal weight which in many cases is not true (e.g. a ship's hull is much heavier than its sails). Use this option to manually tweak the position of the Center of Mass gizmo to stabilize the Active Body during the simulation.
Original Anim. Influence | phxfdObjOriginalInfluence – Phoenix Active Bodies are designed so that you can animate the originals and make them follow a trajectory. Then, as the Active Body simulation runs, the original animation can blend with the effect of the fluid on the Active Body. The Original Anim. Influence option controls the balance between the animation of the original and the effect of the fluid. If it is 0.0, then the fluid will have full control over the Active Body and any animation it has will be ignored. If this option is 1.0, then the Active Body will try to perfectly match the position of the original object. Between 0 and 1, you can have both effects at the same time. Note that if you don't have any animation for the Active Body original geometry and it is just static, then setting this option above 0.0 will allow you to weaken the effect of the fluid over the body and the Active Body will try to remain still. Additionally, if you just want to reduce the effect of the fluid on the Active Body, you can lower the Fluid Dens. Mult. option in the Active Body Solver.