## VEX: Spinning Particles

The titles should really be how to rotate the orient attribute but spinning particles is more catchy. Rotation can be a tricky beast and when it comes to particles there are a bunch of ways to control their direction, and when you are stacking multiple rotations things can become a little hairy! I suggest using quaternions to control direction because the qmultiply function makes it very simple to modify the current orient.

## Groups to Attribute with VEX

Today at work I was loading some really heavy geometry into Houdini that needed FX added to it. Its came in from Maya with thousands of primitive groups for different numbered parts of the geometry. If you tried it before you will know that unpacking heavy geometry with a lot of groups is any easy way to fill up your ram. In this cache filling 64GB and the cracking Houdini after filling the swap as well.

Continue reading “Groups to Attribute with VEX”

## Quick Tip: Rounding To Decimals

This is going to scaling sets of numbers so if you are bored already now is a good time to go and browse something else. A friend at work asked how do I round a set of values to the nearest value with an increment of 0.5. Why would you want that you might ask? Its useful for scaling data by specific increments like for driving values along a curve.u value to create stepped noise without using a ramp. Here is how you do it.

Continue reading “Quick Tip: Rounding To Decimals”

## VEX : How to Measure Polyline Length

There are a couple of ways to get the length of a poly line primitive segment, the Measure SOP does this out of the box. And in most cases just use that it works perfectly and its fast. That being said here is how to do it in VEX if you need it in the middle of a block of code or want to calculate it in another network like DOPs. Continue reading “VEX : How to Measure Polyline Length”

## Quick Tip Code: Extracting a Vector From a Quaternion

Usually I am doing the opposite operation building an orient attribute from a set of vectors.