# Verlet Transform Tree Settings

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

A ScriptableObject asset defining physics parameters and limiter curves for a `VerletTransformTree`. Used to configure per-depth simulation behaviour such as drag, damping, and collision influence.

The `VerletTransformTreeSettings` asset allows designers to fine-tune the physics behaviour of a transform hierarchy using a set of scaled curves. These curves are sampled per node based on relative depth, enabling smooth transitions from root to tip in drag, elasticity, angle limits, and collision responses.

***

## Public Fields

### Constant Acceleration

```csharp
public float3 constantAcceleration = new Vector3(0, -9.81f, 0);
```

A constant force applied to all nodes each simulation step. Typically represents gravity.

***

### Drag

```csharp
public ScaledAnimationCurve drag;
```

Controls how much velocity is reduced per step. A higher drag value causes the node to lose energy more quickly.

***

### Damping

```csharp
public ScaledAnimationCurve damping;
```

Applies smoothing to motion between nodes, helping prevent jitter and overshooting.

***

### Elasticity

```csharp
public ScaledAnimationCurve elasticity;
```

Defines how much a node tries to return to its rest position. Higher values increase spring-like behaviour.

***

### Stiffness

```csharp
public ScaledAnimationCurve stiffness;
```

Controls how rigidly nodes maintain their length from parent nodes. High stiffness enforces fixed bone lengths.

***

### Collision Layers

```csharp
public LayerMask collisionLayers = 0;
```

Defines which layers are checked during node collision tests. Used when collision response is enabled via the `collision` curve.

***

### Collision

```csharp
public ScaledAnimationCurve collision;
```

Controls how strongly each node responds to collisions. Typically increases toward tips of chains or leaves.

***

### Angle

```csharp
public ScaledAnimationCurve angle;
```

Limits the angle between a node’s forward vector and its rest orientation. Useful for constraining extreme bending.

***

## Example Usage

### Creating a Settings Asset

1. Right-click in the Project window
2. Select **Create → Variables → Verlet Transform Tree Settings**
3. Assign the asset to a `VerletTransformTree` component

***

### Curve Tuning Example

* Set `drag` to increase with depth to dampen motion further from the root
* Set `collision` to 0 at the root and 1 at the tips to enable impact response only on free ends
* Set `angle` curve to gently enforce pose limits on mid-chain nodes


---

# 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://kb.heathen.group/unity/physics/verlet-tools/verlet-transform-tree-settings.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.
