13.06.2020, 12:03 fxtd

It is necessary to check Solve on creation frame for the packed animated static object if we use it in constraints. Or you need to set the same position of the object in the first and second frames of the simulation. This is due to the initialization of bullet attributes.


13.06.2020, 11:44 fxtd

The bounce of a structure assembled using a cone twist is strongly influenced by the bias parameter in cone twist relationship. If it is smaller, then the object rebounds less on impact.


12.06.2020, 20:04 fxtd

The light attenuation ramp must be used in tandem with the active radius. This gives a render time reduction of about 15 percent.


12.06.2020, 17:41 fxtd

Keep in mind that normals are important for rendering when using a uniform volume. If the object does not feel the volume, and it is very dense, then you need to do a reverse.


12.06.2020, 17:36 fxtd

You need to set a border = const with value = 0 for a heat field. A heat border is imported from the dynamics with a value of -0.01. This can affect shading.


12.06.2020, 17:28 fxtd

Using the VDB Combine to multiply VDB by -1 gives unpredictable results. The Volume Wrangle gives the correct result.


12.06.2020, 14:35 fxtd

Noise Name                            Min            Max

Perlin                                     0.55          1.37
Original Perlin                    -0.53          0.49
Sparse Convolution          -0.66           0.78
Alligator                                  0             0.53
Simplex                                -0.26          0.21
Zero centered perlin          -0.2            0.2
Anti-aliased                        -0.4            0.4


09.06.2020, 22:22 fxtd

An example of getting the component RZ from the object’s transform:

explodematrix(optransform("path_to_object"), "RST", "XYZ", "RZ")

09.06.2020, 11:32 fxtd

When writing regular expressions in VEX, use raw strings. Write the character r before the regex line:

string num = re_find(r"(\d+)$", s);

When using groups in the re_replace() function, also use raw strings and \1 syntax to get groups. $1 syntax from the help does not work:

s@material = re_replace(r".(.).*$", r"\1", s@name);


08.06.2020, 23:55 fxtd

Be careful with @TimeInc in VOP before the dynamics: this does not work correctly during dopnet substep simulation. Use custom expressions like 1/@FPS.