14.06.2020, 18:36 fxtd

The trail node calculates the incorrect velocity if you cache frames before $FSTART, and if the “Evaluate Within Frame Range” checkbox is checked. It must always be turned off, as is done by default.


14.06.2020, 18:31 fxtd

Do not store attributes in points for VDB primitives. They can mix or change. For example, this can happen after the VDB Combine node with a simple multiplication by a constant value for the density field.


14.06.2020, 18:25 fxtd

Deformation things are sometimes more profitable to write in alembic than in bgeo.sc. Transformations are in no way more profitable to write in alembic.
If there is repeating geometry (several repeating packed primitives with the same path), writing them to alembic with separation by the path attribute will fail, and writing in bgeo.sc will be much more optimal.
And in the case of deformation, and in the case of transformation when writing to an alembic, you need to do a hierarchy separation by the path attribute, regardless of what we write: geometry or alembic primitives. Double packing will not happen.
This is not necessary in the case of deformations – memory savings will be about a percent. But it is better to make a breakdown in both cases for a single approach.


14.06.2020, 14:07 fxtd

The SDF with positive values inside and negative outside is used for collisions. But the SDF is negative inside by default. So you need to invert it.

Always use the fill interior parameter for custom collision sdf.


14.06.2020, 13:49 fxtd

Geometry Filter Width (vm_geofilterwidth) sets a minimum rendering width, in raster space, for curves and points. Any point, or curve segment, smaller than this value, at the projected point, will instead have its opacity scaled down as a ratio of the minimum width and the actual width. This helps rendering very small points and thin curves, such as hair and fur, without having to adversely increase the pixel samples to compensate. This value should be kept at around 0.5 to 1.0. Larger values may significantly increase render time, since the geometry is wider and more transparent samples may be taken. A value of 0 disables the option.


14.06.2020, 13:43 fxtd

Wind tunnel parameter slows down smoke simulation.


14.06.2020, 13:39 fxtd

The stop condition skips the current iteration.


14.06.2020, 13:29 fxtd

When using skin with Groups of some primitives, this work slowly: the cooking time increases exponentially with an increase in the number of primitives (100.000 and more). Use foreach for some primitives (e. g., 1000):

i@skinGroup = i@primnum / 1000;


14.06.2020, 13:18 fxtd

The expression to activate the solving only in the integer value of the frame:

$FF%1 == 0

For example, if you use sub-steps for source particles once in a frame.


14.06.2020, 13:04 fxtd

The two way switch turns off the entire branch, and it is not executed. “If” block does too. But all operators must be inside it for this.
When using the switch, all inputs are executed.