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

# SCNFloor

A plane that can optionally display a reflection of the scene above it.

```
class SCNFloor
```

## Overview

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

By default, a floor extends infinitely in the x- and z-axis dimensions of its local coordinate space, and is located in the plane whose y-coordinate is zero. To position and orient a floor in a scene, attach it to the [`geometry`](/documentation/SceneKit/SCNNode/geometry) property of an [`SCNNode`](/documentation/SceneKit/SCNNode) object. Often, you use a floor to provide a background for a scene.

If a floor’s [`reflectivity`](/documentation/SceneKit/SCNFloor/reflectivity) property is greater than zero, SceneKit automatically renders reflections for all geometries above it. Optionally, you can add an opacity gradient so that reflections of scene contents closer to the floor appear more clearly than those of scene contents further from it. You control the floor’s reflectivity using the properties listed in Adding Reflections to a Floor.

## Topics

### Creating a Floor

[`+  floor`](/documentation/SceneKit/SCNFloor/floor)

Creates a floor geometry.

### Adding Reflections to a Floor

[`reflectivity`](/documentation/SceneKit/SCNFloor/reflectivity)

The intensity of the scene’s reflection on the floor. Animatable.

[`reflectionFalloffEnd`](/documentation/SceneKit/SCNFloor/reflectionFalloffEnd)

The distance from the floor at which scene contents are no longer reflected. Animatable.

[`reflectionFalloffStart`](/documentation/SceneKit/SCNFloor/reflectionFalloffStart)

The distance from the floor at which scene contents are reflected at full intensity. Animatable.

[`reflectionResolutionScaleFactor`](/documentation/SceneKit/SCNFloor/reflectionResolutionScaleFactor)

The resolution scale factor of the offscreen buffer that SceneKit uses to render reflections.

[`reflectionCategoryBitMask`](/documentation/SceneKit/SCNFloor/reflectionCategoryBitMask)

A mask that defines which categories of other objects show reflections on the floor.

### Adjusting a Floor’s Size

[`width`](/documentation/SceneKit/SCNFloor/width)

The extent of the floor along its x-axis. Animatable.

[`length`](/documentation/SceneKit/SCNFloor/length)

The extent of the floor along its z-axis. Animatable.

## Relationships

### Conforms To

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

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

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

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

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

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

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

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

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

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

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

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

### Inherits From

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

---

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)