<!--
{
  "availability" : [
    "iOS: 15.0.0 -",
    "iPadOS: 15.0.0 -",
    "macCatalyst: 15.0.0 -",
    "macOS: 12.0.0 -",
    "tvOS: 26.0.0 -",
    "visionOS: -"
  ],
  "documentType" : "symbol",
  "framework" : "RealityKit",
  "identifier" : "/documentation/RealityKit/PhysicallyBasedMaterial/normal-swift.property",
  "metadataVersion" : "0.1.0",
  "role" : "Instance Property",
  "symbol" : {
    "kind" : "Instance Property",
    "modules" : [
      "RealityKit"
    ],
    "preciseIdentifier" : "s:17RealityFoundation23PhysicallyBasedMaterialV6normalAC6NormalVvp"
  },
  "title" : "normal"
}
-->

# normal

The normal map for the entity.

```
var normal: PhysicallyBasedMaterial.Normal { get set }
```

## Discussion

*Normal mapping* is a real-time rendering technique that captures fine
surface details for a model using a texture instead of increasing the
number of polygons in the model. It works by storing *surface normals*,
which are vectors perpendicular to the surface of the model, from a much
higher resolution version of the same 3D object. A normal map stores
each vector in the image by storing the vectors’ `X`, `Y`, and `Z`
values as the `R`, `G`, and `B` components of the corresponding pixel in
the UV-mapped image.

If you provide a normal map, RealityKit uses the normals stored in the
image to do lighting calculations. This results in much more realistic
highlights, shadows, and reflections without incurring the computational
cost of using a much higher resolution 3D model. RealityKit uses
tangent-space normal maps.

The following code loads a normal map texture and uses it to set this
property:

```swift
if let normalResource = try? TextureResource.load(named:
"entity_normals") {
    let normalMap = MaterialParameters.Texture(normalResource)
    material.normal = PhysicallyBasedMaterial.Normal(texture:normalMap)
}
```

---

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)