# Smooth Sharp

This operator smooths vertices that doesn't meet the **Sharpness** angle threshold. The script basically gets the vertices from sharp edges and reverses this list to instead smooth the other vertices from the selection.

{% hint style="info" %}
*The name should be **Smooth Sharp Inverse** but it's too long and I want it to be in the same word length as the **Crease Sharp** operator.*
{% endhint %}

When activated, the operator will trigger immediately and to change its result you have to use the `F9` hotkey to show the redo panel.

<figure><img src="/files/nclEtMMR8WWeVd5WZvqk" alt=""><figcaption><p>Figure 1</p></figcaption></figure>

This operator like **Crease Sharp** is also designed to work with random results that uses the subdivision modifier or if the **Copy All Modifiers** toggle is turned in the add-on **Settings** with the randomized meshes inheriting the subdivision modifier from the source mesh.

It is designed to get rid of subdvision banding when it comes to organic models when using the random operators like **Random Panels** to generate armor details for character models for example.

<figure><img src="/files/vimFHUbz4eCoqn5Q0Nas" alt=""><figcaption><p>Figure 2</p></figcaption></figure>

In Figure 2, by increasing the subdivision of the source mesh using the **Random Loop Extrude** operator, we give its randomization algorithm more faces to work with, hence more detail.

This increase in resolution though has its setbacks and that is the banding or lines on the surface of organic meshes that becomes more obvious as you increase the subdivision level.

{% hint style="info" %}
*This is native behavior of the subdivision algorithm that Blender uses in edit mode and is the one that is exposed in the script to be used by developers.*
{% endhint %}

<figure><img src="/files/A5cWIcZeGrpuTi3b4W9z" alt=""><figcaption><p>Figure 3</p></figcaption></figure>

Using the **Smooth Sharp** operator can work for most situations when getting rid of these bandings.

<figure><img src="/files/Wi8nIwweXnp2mUMRXD8K" alt=""><figcaption><p>Figure 4</p></figcaption></figure>

Here are the operator properties and what they do:

* The **Sharpness** property will filter the sharp angled edges from the entire mesh or face selection and will smooth the other vertices instead. Doing this will keep most of the structure of the random meshes.
* The **Smooth** property is the amount of smoothing for the affected vertices. Be careful of higher values as this can have an adverse effect and spike the vertices instead.
* The **Repeat** property is the number of times you want the smoothing to be repeated. This is the property you will modify more often after deciding on a proper smoothing strength.
* The **Offset** property will let you offset or inflate the smoothed vertices. Smoothing the vertices will often displace their position by "deflating" the surface so you can use this property to counter this.
* The **Smooth Boundary** toggle will let you smooth the boundary or nonmanifold edges as well.
* The **Selected Only** toggle will let you smooth selected vertices only and not the entire mesh.
* The **Invert** toggle will show up after enabling the Selected Only toggle and will smooth the inverse selection instead.

This operator is best used in combination with the **Crease Sharp** operator.

<figure><img src="/files/aGe4JdfgGLCBH38HdtIC" alt=""><figcaption><p>Figure 5</p></figcaption></figure>

After smoothing, you can crease the sharp edges on the random meshes to make these areas less softer from the effects of subdivision.

{% hint style="info" %}
*These operators are designed only for fully organic meshes and not hard surface models with curved surfaces.*
{% endhint %}


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://www.blenderguppy.com/add-ons/random-flow/functions/mesh/smooth-sharp.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
