# AddBlendShapeFrame

> Adds a new blend shape frame.

## Definition

* **Type:** Method
* **Namespace:** [UnityEngine](/engine/6000.3/script-reference/unityengine.md)
* **Assembly:** UnityEngine.CoreModule

## AddBlendShapeFrame(string, float, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Vector3>, ReadOnlySpan\<Vector3>)

Adds a new blend shape frame.

```csharp
public void AddBlendShapeFrame(string shapeName, float frameWeight, ReadOnlySpan<Vector3> deltaVertices, ReadOnlySpan<Vector3> deltaNormals, ReadOnlySpan<Vector3> deltaTangents)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the blend shape to add a frame to.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Weight for the frame being added.**** (\[ReadOnlySpan\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): Delta vertices for the frame being added.**** (\[ReadOnlySpan\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): Delta normals for the frame being added.**** (\[ReadOnlySpan\<Vector3>]\(https\://learn.microsoft.com/dotnet/api/system.readonlyspan-1)): Delta tangents for the frame being added.

### Remarks

If blend shape name does not exist, then a new blend shape is created. Blend shape frames can only be added to a new blend shape, or the last blend shape. Usually there will be a single frame for a blend shape, but the range of blending \[0-100%] may be split into multiple frames. Weight is assumed to be 100% when a shape only has one frame. Frame must be added in an increasing weight order for blend shapes having multiple frames. `deltaVertices`, `deltaNormals` and `deltaTangents` arrays must be of size = [Mesh.vertexCount](/engine/6000.3/script-reference/unityengine/mesh/vertexcount.md). Subtract Mesh vertices, normals or tangents to convert from frame full vectors to get deltas. `deltaNormals` or `deltaTangents` may be set to null if there are no normals or tangents for a frame.

## AddBlendShapeFrame(string, float, Vector3\[], Vector3\[], Vector3\[])

Adds a new blend shape frame.

```csharp
public void AddBlendShapeFrame(string shapeName, float frameWeight, Vector3[] deltaVertices, Vector3[] deltaNormals, Vector3[] deltaTangents)
```

### Parameters

**** (\[string]\(https\://learn.microsoft.com/dotnet/api/system.string)): Name of the blend shape to add a frame to.**** (\[float]\(https\://learn.microsoft.com/dotnet/api/system.single)): Weight for the frame being added.**** (\[Vector3\[]]\(/engine/6000.3/script-reference/unityengine/vector3)): Delta vertices for the frame being added.**** (\[Vector3\[]]\(/engine/6000.3/script-reference/unityengine/vector3)): Delta normals for the frame being added.**** (\[Vector3\[]]\(/engine/6000.3/script-reference/unityengine/vector3)): Delta tangents for the frame being added.

### Remarks

If blend shape name does not exist, then a new blend shape is created. Blend shape frames can only be added to a new blend shape, or the last blend shape. Usually there will be a single frame for a blend shape, but the range of blending \[0-100%] may be split into multiple frames. Weight is assumed to be 100% when a shape only has one frame. Frame must be added in an increasing weight order for blend shapes having multiple frames. `deltaVertices`, `deltaNormals` and `deltaTangents` arrays must be of size = [Mesh.vertexCount](/engine/6000.3/script-reference/unityengine/mesh/vertexcount.md). Subtract Mesh vertices, normals or tangents to convert from frame full vectors to get deltas. `deltaNormals` or `deltaTangents` may be set to null if there are no normals or tangents for a frame.
