CSG v1 allows for corners/edges where you union to be smoothed out, while CSG v2 chooses to keep them sharp. Both cases have their use. So we decided to release a new beta Studio feature to allow you to control it with a new property of PartOperation.
To use this feature, you must go to File -> Beta Features in Studio and enable this:
PartOperation(s) now will have a “SmoothAngle” property (see the screenshot below) that allows you to specify an angle in degrees. Changing the angle will instantly affect the smooth shading of selected CSG part(s). You can quickly try a few angle values to find the best one.
The angle specifies a threshold value between face normals. If the normal difference is less than the value, normals will be adjusted to smooth the difference. Usually a value between 30 and 70 degrees will produce a good result. Values between 90 and 180 degrees are allowed but not encouraged. We are evaluating if angles >= 90 degrees should be allowed. 0 degree leads to sharp edges.
The left train with ridges is the result of 0 degree angle. On the right is the same train in 40 degrees.
The faceted cylinder is the result of four CSGv2 subtract boolean operations. By changing the angle to 50 degrees, all side faces are smoothed, but not between top face, where normals differ 90 degrees.
- Smoothing will not affect the normals between different materials or different colors.
We hope this feature fully addresses smoothing shading issues for CSG v2. CSGv1 has been deprecated for a while. We want to make sure there aren’t any issues if v1 is disabled.
Please let us know if you encounter any part that takes a while to finish the smoothing operation.