<!--
{
  "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/SCNCamera",
  "metadataVersion" : "0.1.0",
  "role" : "Class",
  "symbol" : {
    "kind" : "Class",
    "modules" : [
      "SceneKit"
    ],
    "preciseIdentifier" : "c:objc(cs)SCNCamera"
  },
  "title" : "SCNCamera"
}
-->

# SCNCamera

A set of camera attributes that can be attached to a node to provide a point of view for displaying the scene.

```
class SCNCamera
```

## Overview

To display a scene, you must designate a node whose [`camera`](/documentation/SceneKit/SCNCamera/camera) property contains a camera object as the point of view.

The [`SCNNode`](/documentation/SceneKit/SCNNode) object containing a camera defines a point of view—that is, the position and orientation of the camera. A camera’s direction of view is always along the negative z-axis of the node’s local coordinate system. To point the camera at different parts of your scene, use the [`position`](/documentation/SceneKit/SCNNode/position), [`rotation`](/documentation/SceneKit/SCNNode/rotation), or [`transform`](/documentation/SceneKit/SCNNode/transform) property of the node containing it. (Alternatively, to ensure that a camera always points at a particular element of your scene even when that element moves, attach a [`SCNLookAtConstraint`](/documentation/SceneKit/SCNLookAtConstraint) object to the node containing the camera.)

An [`SCNCamera`](/documentation/SceneKit/SCNCamera) object itself defines the shape and, in part, the appearance of the rendered scene as seen from its point of view. By default, a camera defines a perspective projection, whose field of view (FOV) and near and far visibility limits you control using the properties listed in Adjusting Camera Perspective and illustrated below.

![](images/com.apple.scenekit/media-2929769@2x.png)

## Topics

### Creating a Camera

[`+  camera`](/documentation/SceneKit/SCNCamera/camera)

Creates a new camera object.

[`+  cameraWithMDLCamera:`](/documentation/SceneKit/SCNCamera/cameraWithMDLCamera:)

Creates a camera from the specified Model I/O camera object.

### Managing Camera Attributes

[`name`](/documentation/SceneKit/SCNCamera/name)

A name associated with the camera object.

### Adjusting Camera Perspective

[`zNear`](/documentation/SceneKit/SCNCamera/zNear)

The camera’s near depth limit. Animatable.

[`zFar`](/documentation/SceneKit/SCNCamera/zFar)

The camera’s far depth limit. Animatable.

[`automaticallyAdjustsZRange`](/documentation/SceneKit/SCNCamera/automaticallyAdjustsZRange)

A Boolean value that determines whether the camera automatically adjusts its [`zNear`](/documentation/SceneKit/SCNCamera/zNear) and [`zFar`](/documentation/SceneKit/SCNCamera/zFar) depth limits.

### Managing Field of View

[`fieldOfView`](/documentation/SceneKit/SCNCamera/fieldOfView)

The vertical or horizontal viewing angle of the camera.

[`focalLength`](/documentation/SceneKit/SCNCamera/focalLength)

The camera’s focal length, in millimeters.

[`sensorHeight`](/documentation/SceneKit/SCNCamera/sensorHeight)

The vertical size of the camera’s imaging plane, in millimeters.

[`projectionDirection`](/documentation/SceneKit/SCNCamera/projectionDirection)

The axis used to determine field of view or orthographic scale.

[`SCNCameraProjectionDirection`](/documentation/SceneKit/SCNCameraProjectionDirection)

Options for the axis used to determine field of view or orthographic projection.

### Managing the Projection Transform

[`projectionTransform`](/documentation/SceneKit/SCNCamera/projectionTransform)

The camera’s projection transformation.

[`usesOrthographicProjection`](/documentation/SceneKit/SCNCamera/usesOrthographicProjection)

A Boolean value that determines whether the camera uses an orthographic projection.

[`orthographicScale`](/documentation/SceneKit/SCNCamera/orthographicScale)

Specifies the camera’s magnification factor when using an orthographic projection.

### Choosing Nodes to Be Visible to the Camera

[`categoryBitMask`](/documentation/SceneKit/SCNCamera/categoryBitMask)

A mask that defines which categories this camera belongs to.

### Adding Depth-of-Field Effects

[`wantsDepthOfField`](/documentation/SceneKit/SCNCamera/wantsDepthOfField)

A Boolean value that determines whether SceneKit renders depth-of-field blur effects for the camera.

[`focusDistance`](/documentation/SceneKit/SCNCamera/focusDistance)

The distance from the camera at which objects appear in sharp focus. Animatable.

[`fStop`](/documentation/SceneKit/SCNCamera/fStop)

The physical camera aperture simulated by SceneKit for depth-of-field effects. Animatable.

[`apertureBladeCount`](/documentation/SceneKit/SCNCamera/apertureBladeCount)

The number of physical camera aperture blades simulated by SceneKit for depth-of-field effects.

[`focalBlurSampleCount`](/documentation/SceneKit/SCNCamera/focalBlurSampleCount)

The number of pixel samples SceneKit uses to create depth-of-field blur effects.

### Adding Motion Blur Effects

[`motionBlurIntensity`](/documentation/SceneKit/SCNCamera/motionBlurIntensity)

A factor that determines the intensity of motion blur effects. Animatable.

### Adding High Dynamic Range Effects

[`wantsHDR`](/documentation/SceneKit/SCNCamera/wantsHDR)

A Boolean value that determines whether SceneKit applies High Dynamic Range (HDR) postprocessing effects to a scene.

[`exposureOffset`](/documentation/SceneKit/SCNCamera/exposureOffset)

A logarithmic bias that adjusts the results of SceneKit’s tone mapping operation, brightening or darkening the visible scene.

[`averageGray`](/documentation/SceneKit/SCNCamera/averageGray)

The luminance level to use as the midpoint of a tone mapping curve.

[`whitePoint`](/documentation/SceneKit/SCNCamera/whitePoint)

The luminance level to use as the upper end of a tone mapping curve.

[`minimumExposure`](/documentation/SceneKit/SCNCamera/minimumExposure)

The minimum exposure value to use in tone mapping.

[`maximumExposure`](/documentation/SceneKit/SCNCamera/maximumExposure)

The minimum exposure value to use in tone mapping.

### Adding Automatic HDR Exposure Adaptation

[`wantsExposureAdaptation`](/documentation/SceneKit/SCNCamera/wantsExposureAdaptation)

A Boolean value that determines whether SceneKit automatically adjusts the exposure level.

[`exposureAdaptationBrighteningSpeedFactor`](/documentation/SceneKit/SCNCamera/exposureAdaptationBrighteningSpeedFactor)

The relative duration of automatically animated exposure transitions from dark to bright areas.

[`exposureAdaptationDarkeningSpeedFactor`](/documentation/SceneKit/SCNCamera/exposureAdaptationDarkeningSpeedFactor)

The relative duration of automatically animated exposure transitions from bright to dark areas.

### Adjusting Rendered Colors

[`contrast`](/documentation/SceneKit/SCNCamera/contrast)

An adjustment factor to apply to the overall visual contrast of the rendered scene.

[`saturation`](/documentation/SceneKit/SCNCamera/saturation)

An adjustment factor to apply to the overall color saturation of the rendered scene.

[`colorGrading`](/documentation/SceneKit/SCNCamera/colorGrading)

A texture for applying color grading effects to the entire rendered scene.

### Adding Stylistic Visual Effects

[`bloomIntensity`](/documentation/SceneKit/SCNCamera/bloomIntensity)

The magnitude of bloom effect to apply to highlights in the rendered scene. Animatable.

[`bloomThreshold`](/documentation/SceneKit/SCNCamera/bloomThreshold)

The brightness threshold at which to apply a bloom effect to highlights in the rendered scene. Animatable.

[`bloomBlurRadius`](/documentation/SceneKit/SCNCamera/bloomBlurRadius)

The radius, in pixels, for the blurring portion of the bloom effect applied to highlights in the rendered scene. Animatable.

[`colorFringeIntensity`](/documentation/SceneKit/SCNCamera/colorFringeIntensity)

The blend factor for fading the color fringing effect applied to the rendered scene.

[`colorFringeStrength`](/documentation/SceneKit/SCNCamera/colorFringeStrength)

The magnitude of color fringing effect to apply to the rendered scene.

[`vignettingIntensity`](/documentation/SceneKit/SCNCamera/vignettingIntensity)

The magnitude of vignette (darkening around edges) effect to apply to the rendered scene.

[`vignettingPower`](/documentation/SceneKit/SCNCamera/vignettingPower)

The amount of the rendered scene to darken with a vignette effect.

### Adding Screen-Space Ambient Occlusion

[`screenSpaceAmbientOcclusionIntensity`](/documentation/SceneKit/SCNCamera/screenSpaceAmbientOcclusionIntensity)

The intensity of the screen-space ambient occlusion effect applied in camera rendering.

[`screenSpaceAmbientOcclusionRadius`](/documentation/SceneKit/SCNCamera/screenSpaceAmbientOcclusionRadius)

The distance, in units of scene space, at which ambient occlusion takes effect.

[`screenSpaceAmbientOcclusionBias`](/documentation/SceneKit/SCNCamera/screenSpaceAmbientOcclusionBias)

An offset for modulating ambient occlusion effects.

[`screenSpaceAmbientOcclusionDepthThreshold`](/documentation/SceneKit/SCNCamera/screenSpaceAmbientOcclusionDepthThreshold)

The maximum depth difference, in units of scene space, at which to apply ambient occlusion effects.

[`screenSpaceAmbientOcclusionNormalThreshold`](/documentation/SceneKit/SCNCamera/screenSpaceAmbientOcclusionNormalThreshold)

The magnitude of the blur effect applied to create ambient occlusion shadows.

### Deprecated

[`yFov`](/documentation/SceneKit/SCNCamera/yFov)

The camera’s field of view, in degrees, on the vertical axis. Animatable.

[`xFov`](/documentation/SceneKit/SCNCamera/xFov)

The camera’s field of view, in degrees, on the horizontal axis. Animatable.

[`focalDistance`](/documentation/SceneKit/SCNCamera/focalDistance)

The distance from the camera at which objects appear in sharp focus. Animatable.

[`focalSize`](/documentation/SceneKit/SCNCamera/focalSize)

The width of the distance range at which objects appear in sharp focus. Animatable.

[`focalBlurRadius`](/documentation/SceneKit/SCNCamera/focalBlurRadius)

The maximum amount of blurring, in pixels, applied to areas outside the camera’s depth of field. Animatable.

[`aperture`](/documentation/SceneKit/SCNCamera/aperture)

A factor that determines the transition between in-focus and out-of-focus areas. Animatable.

## Relationships

### Conforms To

[`Hashable`](/documentation/Swift/Hashable)

[`CustomStringConvertible`](/documentation/Swift/CustomStringConvertible)

[`SCNTechniqueSupport`](/documentation/SceneKit/SCNTechniqueSupport)

[`CVarArg`](/documentation/Swift/CVarArg)

[`NSObjectProtocol`](/documentation/ObjectiveC/NSObjectProtocol)

[`Equatable`](/documentation/Swift/Equatable)

[`SCNAnimatable`](/documentation/SceneKit/SCNAnimatable)

[`NSSecureCoding`](/documentation/Foundation/NSSecureCoding)

[`NSCopying`](/documentation/Foundation/NSCopying)

[`CustomDebugStringConvertible`](/documentation/Swift/CustomDebugStringConvertible)

[`NSCoding`](/documentation/Foundation/NSCoding)

### Inherits From

[`NSObject-swift.class`](/documentation/ObjectiveC/NSObject-swift.class)

---

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)