Provides bump mapping based on a 3d input. Bump3D works by evaluating the bump input at different points (P + epsilon, P + epsilon, P + epsilon). Since the only thing displaced is the point, the UV coordinates will be the same in the different lookups. These will give the same texel in the image and result in no perturbation of the normal. If you are using texture file images, you should use *bump2D* for images.

Keep in mind that each *bump3d** *node needs to evaluate the texture map four times (to get the partial derivatives in X, Y, Z).

#### Bump Map

The input used to compute the normal perturbation, provided as a float value representing the height, or directly as an RGB texture map, in which case the first component (R) will be used.

Arnold executes calculations in radiometrically linear space which means 8 and 16 bit images are linearized. By a bump map input this linearization is not necessary therefore C4DtoA automatically sets the color space of the input map to * linear*.

#### Bump Height

Scales the height of the bump map output.

#### Epsilon

Epsilon is used to remove noisy shading artifacts caused by insufficient precision in the small floating point differences between P and P+epsilon. Ideally, it should be left at its default value of 1e-5, but in problematic cases, it may be preferable to increase the epsilon, which may solve the numerical artifacts trading them for a blurrier bump.

#### Normal

Outputs a normal vector that can be linked to normal parameters in `ambocc`

, `lambert`

, `standard_surface`

and `utility`

shaders.