Archived post by Ambrosiussen

How xyzdist works :

It uses a Bounding Volume Hierarchy (BVH) data structure, which consists of a tree of boxes. At the top, there’s effectively a bounding box containing everything, at each level, each box splits into 4 (hopefully) smaller boxes, and at the bottom, there’s a box for each primitive, (multiple for some primitives).

First, VEX has to build and cache the BVH. Then, it traverses the tree, visiting boxes that are close to the query point, finding the closest points on primitives in those boxes, and then visiting boxes that are a bit farther, until the closest point in a box is farther than the closest point found so far, and then it exits.

As for individual primitives, it varies, but for a triangle, the BVH caches the triangle’s normal, so if a line on the query point in the direction of the normal intersects the triangle, that’s the closest point on the triangle, and if not, it projects the query point onto each edge to find the closest there, and if those are all out of bounds, it finds the closest corner position to the query point, and that’s the closest point on a triangle.

Thought it’s quite interesting. Above is from the Dev, Neil D

Archived post by TOADSTORM

here’s what i was thinking. this would work better using point attributes as the bias instead of just a global bias. this will blend the position and orientation of packed rigid bodies back to their original positions/orientations, during the simulation so collisions are preserved.

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20191308/15/19/blend_rbd_toadstorm.hiplc

Archived post by JeffLMnT

I just like to wrap everything up to visually make sense to me

Here’s another setup that is more closer to the maps – also lets you repeat the string while keeping it centre aligned

Attachments in this post:
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20195006/12/19/char_align_along_curve_focused.hiplc
http://fx-td.com/houdiniandchill/wp-content/uploads/discord/20195006/12/19/test.JPG

Archived post by trzanko

Does it need to be a sort of formal writeup?

Cause for optimized vdb caching it’s pretty much simply: always vdb vector merge and write 16 bit floats, then usually clip vel and other fields by density and deactivate voxels, then write actual .vdb files as they are faster than bgeo