PxrNormalMap
PxrNormalMap
Produces a bumped normal from a normal map (a color map encoding the normal). Bumps are applied in object space. The change in scale between object space and current space is automatically applied by the node.
Like the other texture nodes, this node takes a manifold which describes either a 2D or 3D domain to apply a the texture to. The default beahavior if no mainfold is attached, is to apply over the s,t domain defined on the geometry.
Texture atlas format files can be read in either UDIM (Mari) format or mudbox format.
Input Parameters
Bump Scale
Scale the bump effect. Typical range is from 0.0 to 2.0.
RIB: float bumpScaleDefault: 1.0
Input Normal
Specifies normal map color (this parameter is ignored if filename is provided).
RIB: color inputRGBDefault: 0.0 0.0 0.0
Filename
Normal map filename. The shader reads only one channel of the file from the Mapping Controls' Channel specified below. Note that this will be read in as the Mudbox normal map format in tangent space.
RIB: string filenameDefault: ""
Bump Overlay
Connect a PxrBump or PxrNormalMap node here if you need to combine multiple patterns.
RIB: normal bumpOverlayDefault: 0.0 0.0 0.0
Bump Orientation
Invert Bump
Invert the bump orientation. Concave becomes convex and vice versa.
RIB: int invertBumpDefault: 0
Flip X
Flips the x axis (red channel) of the normal map. There isn't any standard to encode normal maps and every application will encode them differently. This switch, combined with flipY and invertBump will allow you to set the correct orientation.
RIB: int flipXDefault: 0
Flip Y
Flips the y axis (green channel) of the normal map. There isn't any standard to encode normal maps and every application will encode them differently. This switch, combined with flipX and invertBump will allow you to set the correct orientation.
RIB: int flipYDefault: 0
Mapping Controls
Channel
Offsets the first channel to be looked up for filename.
RIB: int firstChannelDefault: 0
Atlas Style
Specifies the style of texture atlas that is being used. If you specify an atlas style, the Filename parameter must contain a _MAPID_, which will be substituted automatically according to the surface parameterization and the style of atlas. Valid styles are:
- 0: None
- 1: MARI
- 2: Mudbox
RIB: int atlasStyleDefault: 0
Invert T
Inverts the t texture coordinate for texture lookup.
RIB: int invertTDefault: 1
Blur
Specifies how much to blur the result from the texture file.
RIB: float blurDefault: 0.0
Mip Interpolate
Selects whether to interpolate between adjacent resolutions in the multi-resolution texture, resulting in smoother transitions between levels.
RIB: int lerpDefault: 1
Filter
Selects different reconstruction filters that can be used during texture lookup. The filters available for PxrNormalMap are:
- 1: Box
- 4: Mitchell
- 5: Catmullrom
- 6: Gaussian
- 7: Lagrangian
RIB: int filterDefault: 1
Manifold
Provides the range over which to apply the texture. Defaults to s,t.
RIB: struct manifold
Advanced
Reverse Normal
Reverse the resulting normal.
RIB: int reverseDefault: 0
Disabled
Use the geometric normal (ignore the modified normal).
RIB: int disableDefault: 0
Output Parameters
resultN
The bumped normal.
Normal Maps Orientation
Sometimes you might apply a normal map to your geometry and it will look wrong. Generally, it's an orientation problem and you will have to find the correct combination of Invert Bump, Flip X, and Flip Y. The best method is to start an IPR/LiveRender session and try various combinations. Once you have found the correct combination for your authoring application (ZBrush, Mudbox, 3DCoat, etc), it should be good for all maps exported from that application with the same settings.