# Interactive Curve Tools

<div align="left"><figure><img src="/files/7hVvA6m52lmMU433GNMJ" alt=""><figcaption></figcaption></figure></div>

## Overview

The Maya Interactive Curve Tools can be coupled with many other tools in the Groomer's Tool ​ (Such as Curves To Cards/Twist/Curls/Braids)

\* Before using, please make sure:

* Maya's work unit is in '**centimeter**'.  Preferences -> Settings: Working Units​

{% embed url="<https://youtu.be/5YoUKwmAyuw>" %}
Initial release demo
{% endembed %}

{% embed url="<https://youtu.be/QuOe73IshbA>" %}
Base mesh update
{% endembed %}

{% embed url="<https://youtu.be/aI99wrwNkc4>" %}
New ! Speed Boost + Features 2:10 - 6:24&#x20;
{% endembed %}

{% hint style="success" %}
Also work with [GS-Curve Tool](https://www.artstation.com/marketplace/p/zzR2/gs-curvetools-v1-3-maya-plug-in-curve-controlled-hair-cards-pipes-and-more) !&#x20;
{% endhint %}

{% embed url="<https://youtu.be/H-qam96U_s0>" %}

{% embed url="<https://youtu.be/mOom5VuXATc>" %}
V15.04.05
{% endembed %}

***

## Marking (Radial Menu)

A marking menu is also available for this tool. Please visit [Marking (Radial) Menu](/maya-groomers-tool/start/marking-radial-menu.md)

<div align="left"><figure><img src="/files/p04eGNWUo3MUZlk2JuYl" alt=""><figcaption></figcaption></figure></div>

***

## Base Mesh

<div align="left"><figure><img src="/files/X38FMUxHXbPAW1FY4t3g" alt=""><figcaption></figcaption></figure></div>

When a geometry is set in this field, the Sculpt, Add, and the Draw tools will ‘only’ use this geometry as reference, and will ignore operations on other geometries.

{% hint style="warning" %}
Please **freeze transform** on the base mesh to avoid errors.
{% endhint %}

***

## Tools

<div align="left"><figure><img src="/files/7hVvA6m52lmMU433GNMJ" alt=""><figcaption></figcaption></figure></div>

### **Sculpt**

\
There are **two** initial states:\
1\. **Curves selected:**

* When there are curves selected, all sculpting operations will only be applied to the selected curves.

2\. **No curves selected:**

* When there are no curves selected, only the curve that is 'closest' to the first cursor click will be sculpted.

**Hot Keys**

* **CTRL + LMB:** Set sculpting radius
* **LMB:** Sculpt
* **MMB:** Smooth
* **SHIFT + LMB:** Move the root and automatically snap to the defined base mesh (a geometry is required to be set in the **'base mesh'** box). Here are the steps:
  * Make sure you have a base mesh tagged.
  * Hold down Ctrl + LMB and drag to adjust the radius of the soft selection size.
  * Hold down Shift + LMB and drag to any position you like.
  * Upon mouse release, the root of the curve will be automatically snapped to the base mesh.
* **CTRL + MMB** :  Scale geometry (for Hair Tube/Card Builder strands)&#x20;
* **SHIFT + MMB** : Rotate/orient geometry (for Hair Tube/Card Builder strands)
* **G key (**&#x44;efault Maya repeat last step hotkey)**: Toggle the sculpting tool.**

**Tool Settings**

* **Lock Root**: Locking the root of the curve so the root would always stay in position.
* **Lock Root Field Box:** Determines the CV # to be locked.

<figure><img src="/files/Xki7HbtnJGZvvH1rdf0q" alt=""><figcaption></figcaption></figure>

{% hint style="warning" %}
Lock Root Field can have an effect to smoothing. Try setting the CV # field to 0 so smoothing can be applied to all CVs on selected curves.
{% endhint %}

* **Lock Length**: Locking curve length during sculpt.&#x20;
* **Retain Root Snap Curvature:** Keeps the root shape while root snapping.&#x20;

<figure><img src="/files/vDDVKSpk3DeWt5gh3TP9" alt=""><figcaption><p><strong>Retain Root Snap Curvature</strong></p></figcaption></figure>

{% hint style="warning" %}
If curve root jumps to random places, chances are that there are transform values. Check your curves, or groups and make sure there are no transforms.
{% endhint %}

* **Smooth Strength:** Intensity of the Smooth operation (MMB). If your curves are going wild at an angle, it could be due to low amount of CVs on your curves. Try rebuilding your curves to increase the CV counts.

**Falloff Settings:**

<figure><img src="/files/8y3bSpnUWOSuEJo8IAPk" alt=""><figcaption></figcaption></figure>

* Falloff Multiplier:
  * Default of 1 works in most cases. Adjust the falloff multiplier to increase or decrease section of affected curves.&#x20;
* Falloff Ramp:
  * Determines the gradient falloff, for complete rigid sculpt, remove the 2nd knob so it's flat.

**Tube/Card Settings:**

* Scale Strength: Strength when **CTRL + MMB** is used on Hair Strand Builders strands
* Rotation Strength: Strength when **SHIFT + MMB** is used on Hair Strand Builder strands
* Hide Geo While Dragging: Hide strand geometries during sculpt, this will allow faster feedback on Hair Strand Builders and GS Curve Tool Cards/Tubes.

**Normalize:** space out curve CVs along the curve.​&#x20;

***

<div align="left"><figure><img src="/files/m6ExaLbblAArTYLGAiT2" alt=""><figcaption></figcaption></figure></div>

### **Add**

\
​Add curve by clicking on a mesh, the tool uses nearby curves as reference to create an in-between curve.\
Click on **Add** to enter sculpting tool

**Hot Keys**

* **LMB:** Add an interpolated curve on click-point on the mesh.
* **MMB:** Create a straight curve on click-point on the mesh.
* **CTRL + LMB:** Adjust radius for scatter mode

**Tool Settings**

* **Use Average:** You can also choose to use the ‘Use Average’ option, which will create a curve using the average of all the nearby curves within the **Search Distance**. If you are using this option, make sure that the surrounding curves have the same CV for best results. This can be a better option to use if you wish to retain the ‘tip’ for a group of clumped curves.
* **Search Distance:** If you get an warning:​ # Warning: Can't find nearby curves to sample from, try increasing search distance’, this means that the point position you clicked on does not have any nearby curves within the interpolation range. Simply increase the ‘Interpolation Distance’ (defaulted to 5) to include more curves for interpolation.

{% hint style="info" %}
**NOTE:** If you increase this distance, processing time can take longer. Depending on the scale of your scene, and how many curves you have in your scene, if you have hundreds of curves, it is HIGHLY recommended to set this value extremely lower first (you might get a straight curve at first), and then increase the value until you start to get some interpolated curves.
{% endhint %}

* **New Curve CVs:** Cvs of the curve created by using MMB.
* **Drag Interval:** Curves are populated while dragging the mouse, this determines how far away from the previous click to populate a new set of curves.
* **Scatter Mode:** Populate curves within the brush radius.&#x20;
* **Scatter Density:** # Of curves to be created within the brush radius.
* **Scatter Align to Face Normal:** Whether or not curves to take the underlying face normal.

***

<div align="left"><figure><img src="/files/viCf7GkxhbedCeCyUQgc" alt=""><figcaption></figcaption></figure></div>

### **Drag-Cut**

\
A drag method curve cut tool.​ With curve(s) selected:

* **LMC + drag:** to see yellow dots appear on each curve selected.  The yellow dot on the top will be the cut point.&#x20;
* **Radius Influence:** Turning this option on will tell the tool to take in the 'radius' of the tool into account. If you have this turned on, only the selected curves that falls within the radius will be cut.
* **Slide Sensitivity:** How fast the the indicator (yellow dot) moves.

***

<div align="left"><figure><img src="/files/mQjdC8e2hoQU9RAEehaL" alt=""><figcaption></figcaption></figure></div>

### **Draw**

\
​To draw a curve, you will need a geometry as the base. Click on the geometry and start drawing:

* **LMC + drag:** draws curve.
* **MMC + drag:** with curve(s) selected, the tool will attach the drawn curve to the selected curve(s).
* **Rebuild when Drawn:** Curves will be rebuild based on the number entered in the 'Rebuild CV Count" slider.
* **Rebuild CV Count:** Number of CVs to apply onto the drawn curves. When drawing a longer or a more complicated curve, set this higher to retain the shape of the drawn curve.
* **Smooth Factor:** When drawing a curve, a smooth factor is applied. Set this to 0 if you do not want any smoothing effect.&#x20;

***

<div align="left"><figure><img src="/files/ApNGCGcykNp9pWwac8oi" alt=""><figcaption></figcaption></figure></div>

### **Attach**

\
​To draw a curve, you will need a geometry as the base. Click on the geometry and start drawing:

* **LMC + drag:** a yellow dot will appear on each curve selected. This is the point at which the tool will cut and, then attach, to the tip of your selected curves.​
* **Slide Sensitivity:** How fast the the indicator (yellow dot) moves.

***

<div align="left"><figure><img src="/files/cUE1sH1KFlKVm95I8Dfn" alt=""><figcaption></figcaption></figure></div>

### **Extend**

\
​This is the same function as Maya's Extend Curve. However, you will have the ability to 'rebuild' curves after extension.

* **LMC:** extend the selected curves.​
* **CTRL + LMB:** Set radius.<br>
* **Radius Influence:** Turning this option on will tell the tool to take in the 'radius' of the tool into account. If you have this turned on, only the selected curves that falls within the radius will be extended. I personally find leaving this off and manually selecting curves yields best behavior.
* **Extend Type:** Choose between Linear, Circular or Extrapolate extension types. Linear will make a straight line, but can sometimes cause issues if you have a curve with CVs too close to each other on towards the tip. In this case you can use the Circular or the Extrapolate type, which will make the extension more 'rounded' or smoothed.&#x20;
* **Extend Multiplier:** This is the multiplier from the selected curve's length. Default of 1.01 means it will extend the curve by 1% on each click/drag operation.
* **Rebuild CVs after Extend:** As this tool is built around Maya's default curve extend function. As a result, there will be a lot of CVs on the extension. Turn this on to rebuild the curve on each extend operation for cleaner/smoother CVs.

***

<div align="left"><figure><img src="/files/C6qkBzgWrJn5jjCRyjPk" alt=""><figcaption></figcaption></figure></div>

### **Move**

\
Moves curves and maintain the root of selected curves on the geometry.

* **LMC:** Move curves​
* **Orient:** Applies normal differences on curves when moving.

***

## Lite Mode

Interactive Curve Tools can be slow inside virtual machines because most VMs use **software OpenGL (llvmpipe/Mesa)** instead of a real GPU. That means every drag/selection is redrawn on the **CPU**, which is much slower than native Windows/Linux with proper NVIDIA/AMD drivers. *(For best results, run natively or use GPU passthrough.)*&#x20;

You can now toggle on Lite Mode to reduce the amount of in-view GPU drawing, which will remove some of those overhangs.

***

## Tips

With the Maya Curve Color Tool, you can now sculpt on Maya curves and feel like XGen!

{% embed url="<https://youtu.be/K8p4MwzBB3E>" %}

***

Also check out how to utilize the sculpting tool with the Braid Tool

* **If you are sculpting on Braids or Curls, please make sure your current frame is at 1. Otherwise, the curve will not move the braid!**

{% embed url="<https://youtu.be/IkMRfYMGLLE>" %}

***


---

# 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://nobraintools.gitbook.io/maya-groomers-tool/maya-tools/interactive-curve-tools.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.
