<!--
{
  "availability" : [
    "iOS: 8.0.0 - 26.0.0",
    "iPadOS: 8.0.0 - 26.0.0",
    "macCatalyst: 13.1.0 - 26.0.0",
    "macOS: 10.8.0 - 26.0.0",
    "tvOS: 9.0.0 - 26.0.0",
    "visionOS: 1.0.0 - 26.0.0",
    "watchOS: 3.0.0 - 26.0.0"
  ],
  "documentType" : "symbol",
  "framework" : "SceneKit",
  "identifier" : "/documentation/SceneKit/SCNSkinner/init(baseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:)",
  "metadataVersion" : "0.1.0",
  "role" : "Initializer",
  "symbol" : {
    "kind" : "Initializer",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNSkinner(cm)skinnerWithBaseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:"
  },
  "title" : "init(baseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:)"
}
-->

# init(baseGeometry:bones:boneInverseBindTransforms:boneWeights:boneIndices:)

Creates a skinner object with the specified visible geometry and skeleton information.

```
convenience init(baseGeometry: SCNGeometry?, bones: [SCNNode], boneInverseBindTransforms: [NSValue]?, boneWeights: SCNGeometrySource, boneIndices: SCNGeometrySource)
```

## Parameters

`baseGeometry`

The geometry whose surface the skinner’s animation skeleton deforms.

`bones`

An array of [`SCNNode`](/documentation/SceneKit/SCNNode) objects, each representing a bone or control point for the animation skeleton.

`boneInverseBindTransforms`

An array of <doc://com.apple.documentation/documentation/Foundation/NSValue> objects containing [`SCNMatrix4`](/documentation/SceneKit/SCNMatrix4-swift.struct) transforms, each of which corresponds to a node in the [`bones`](/documentation/SceneKit/SCNSkinner/bones) array. Each value is the inverse of the bone node’s transform from bind space (that is, of the concatenation of all transforms from the skeleton root down to that bone) in the skeleton’s default pose.

`boneWeights`

The geometry source defining the influence of each bone on the positions of vertices in the geometry. For details, see the [`boneWeights`](/documentation/SceneKit/SCNSkinner/boneWeights) property.

`boneIndices`

The geometry source defining the mapping from bone indices in skeleton data to the skinner’s bones array. For details, see the [`boneIndices`](/documentation/SceneKit/SCNSkinner/boneIndices) property.

## Return Value

A new skinner object.

## Discussion

To use the skinner object in a scene, assign it to the [`skinner`](/documentation/SceneKit/SCNNode/skinner) property of a node. That node’s [`geometry`](/documentation/SceneKit/SCNNode/geometry) property should reference the same [`SCNGeometry`](/documentation/SceneKit/SCNGeometry) object as the skinner’s [`baseGeometry`](/documentation/SceneKit/SCNSkinner/baseGeometry) 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)