<!--
{
  "availability" : [
    "iOS: 27.0.0 -",
    "iPadOS: 27.0.0 -",
    "macCatalyst: 27.0.0 -",
    "macOS: 27.0.0 -",
    "tvOS: 27.0.0 -",
    "visionOS: 27.0.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/SampledAnimation/SkeletalAnimationOperation/convertToAdditive(baseAnimation:)",
  "metadataVersion" : "0.1.0",
  "role" : "Type Method",
  "symbol" : {
    "kind" : "Type Method",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation16SampledAnimationVA2A15JointTransformsVRszrlE08SkeletalD9OperationV17convertToAdditive04baseD0AGyAE_GAA0D8ResourceC_tFZ"
  },
  "title" : "convertToAdditive(baseAnimation:)"
}
-->

# convertToAdditive(baseAnimation:)

Converts animation to additive format by subtracting a base animation.

```
static func convertToAdditive(baseAnimation: AnimationResource) -> SampledAnimation<Value>.SkeletalAnimationOperation
```

## Parameters

`baseAnimation`

Base animation to subtract.

## Return Value

A [`SampledAnimation.SkeletalAnimationOperation`](/documentation/RealityKit/SampledAnimation/SkeletalAnimationOperation) that, when processed, produces a
`SampledAnimation<JointTransforms>` in additive format.

## Discussion

Creates a delta animation that represents the difference between this animation and
the provided base animation. You can layer the resulting animation on top of other
animations using additive blending.

If the base animation has more samples than the target animation, the function subtracts the last
sample from each remaining sample in the target.

The function throws an error if the base and target animations do not have the same frame interval (sample rate).

---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)