<!--
{
  "availability" : [
    "iOS: 9.0.0 - 11.0.0",
    "iPadOS: 9.0.0 - 11.0.0",
    "macCatalyst: 13.1.0 - 13.1.0",
    "macOS: 10.11.0 - 10.13.0",
    "tvOS: 9.0.0 - 11.0.0",
    "visionOS: 1.0.0 - 1.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "ModelIO",
  "identifier" : "/documentation/ModelIO/MDLTransform/init(identity:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "Model I/O"
    ],
    "preciseIdentifier" : "c:objc(cs)MDLTransform(im)initWithIdentity"
  },
  "title" : "init(identity:)"
}
-->

# init(identity:)

Initializes a transform object to the identity transformation.

```
convenience init(identity: ())
```

## Return Value

A new transform object.

## Discussion

A transform matrix defines the local coordinate space transformations for a 3D object—that is, its position, orientation, shear, and scale. The identity transform is equivalent to no transformation, so an object affected by the transform uses the same coordinate space as its parent.

After initializing a transform object, you can use the [`translation`](/documentation/ModelIO/MDLTransform/translation), [`rotation`](/documentation/ModelIO/MDLTransform/rotation), [`shear`](/documentation/ModelIO/MDLTransform/shear), and [`scale`](/documentation/ModelIO/MDLTransform/scale) properties to individually work with those factors of the transform (or the corresponding methods listed in Using Factors of an Animated Transform to associate time-based transformation with each factor). To work with the complete transform matrix defined by those factors, use the [`matrix`](/documentation/ModelIO/MDLTransformComponent/matrix) property.

---

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)