What does Spike Removal and Edge Choke really mean?

I’d like to talk about the Unity Plugin Clean Up Filters and share some tips to get the best results.

Spike Removal

This is the maximum size a rendered triangle to be displayed. What does that mean? It is a value, that when increased, will reduce the stretched out depth artifacts along the edges of your Depthkit clip. (Sometimes we call these lasers, but only to sound cool.) When this value is set x, your mesh triangles cannot exceed x value, restraining the triangles to a reasonable size. But enough talk, let’s look at some visuals.

Spike Removal set to 0

Spike Removal set to 0

So there are a couple things to think about here. Spike Removal is designed to address edge artifacts. However, if you have more severe lasers, these may actually be caused by erroneous data from a calibration error. As you can see in the depth data below, there is a green outline on her foot. This data is clearly incorrect and drops off dramatically around her shoe. Cases like these are usually due to an offset in alignment. As a result, the Spike Removal may not remove all of the artifact, as seen in the example above.

Note: You should be conservative when setting this value. Setting it too high will erode interior triangles as seen in the above example around the knee.

Edge Choke

This is very similar to a choke in video editing. The Edge Choke will filters jagged pixels around the edge of your asset. For best results, set this after the Spike Removal.