In this chapter we'll talk about some additional utility textures, which we haven't mentioned before - TexMaxHairInfo, TexMulti, TexTriPlanar, TexUserColor, TexUserScalar.
TexMaxHairInfo - Hair Information Map
The TexMaxHairInfo texture allows you to vary different shading properties along hair strands. It can be used together with the Hair Material material to control the look of the hair. It can be used on Hair&Fur, Ornatrix Modifier and Procedural Fur geometry.
Parameters
Example

TexMulti - Multi Sub-Object Map
The TexMulti texture allows the user to control any parameter that can be mapped based on the Object ID or Face ID on which the final material is applied. Similarly to MtlMulti, choose a texture from a list by indexing with face material ID or object ID or randomized.
Parameters
Example
The following scene is rendered by using the scene bundle and uncommenting "vrscenes/map_12 TexMulti.vrscene".

TexTriPlanar - Triplanar Texture Mapping
The TexTriPlanar texture allows quick assignment of bitmap and other 2D textures on objects that don't have suitable UV coordinates. The texture works by projecting one or more textures along the object-space axes depending on the surface normals of the shaded object. The texture works both for colors and bump maps.
Parameters
texture_mode – Specifies whether to use one or three textures for the different projection axes. - Same texture on all axes – Projects the same texture along each local axis.
- Different texture on each axis – Uses a different texture along each axis.
texture_x – Specifies the texture to project. When the texture mode is Different texture on each axis, this is the texture for the X axis. - texture_y – Specifies the texture to project along the Y axis when the texture mode is Different texture on each axis.
- texture_z – Specifies the texture to project along the Z axis when the texture mode is Different texture on each axis.
- scale – Adjusts the scale of the texture.
- blend – Controls the blend between the different projections. Lower values produce sharper transitions between projections.
- frame_offset – Moves the point relative to which the textures are projected. The 3D space for this offset depends on the space parameter.
- texture_rotation – Specifies rotation (in degrees) for the projected textures around the respective projection axis. If random texture rotation is enabled, non-zero components of this parameter specify increments for the rotation.
ref_space – Specifies the projection space: - Local object – The projection is done in local object space. When the object is moved/rotated/scaled, the texture moves with it.
- Reference to another node – The projection is done in the local space of another node in the scene. If no node is specified, world space is used. This mode is useful when several objects need to be mapped with the same triplanar texture and to show consistent mapping.
node_ref_transform – If space is set to Reference to another node, this specifies the node from the scene. If no node is specified, world space is used. - random_texture_offset – Randomizes the texture offset based on the random mode.
- texture_rotation – Randomizes the texture rotation based on the random mode. The rotation can be locked to specific increments (i.e. 45 degrees only, or 90 degrees only) by setting the texture rotation components to the desired increments for the different axes.
- random_frame_rotation – Randomly rotates the entire projection space based on the random mode.
- random_axis – Randomly permutes the projection axes based on the random mode.
random_mode –Specifies how to generate the random seed needed for the various randomizations: - By face ID – Computes the seed based on the face material ID of the mesh;
- By render ID – Computes the seed based on the render ID of the objects.
|
Examples
The following scene is rendered by using the scene bundle and uncommenting "vrscenes/map_06 TexTriplanar singleTexture.vrscene".

The following scene is rendered by uncommenting "vrscenes/map_07 TexTriplanar XYZ_Textures.vrscene".

The following scene is rendered by uncommenting "vrscenes/map_08 TexTriplanar bitmap.vrscene".

Texture Mode

Scale

Blend

Texture Rotation

Space
This example shows the effect of the space parameter; the texture used for the projection is a radial gradient map.

Randomizations
This example shows the effect of the different randomization options; the random mode is set to By render ID and the space is Reference to another node.

TexUserColor - User-Defined Color Map
The TexUserColor texture can be used to read User-Defined object properties from the currently shaded node and convert them to a color value. This allows you to use the same shading network on several different objects in the scene, but to control various aspects of the material through User-Defined properties.
Parameters
- default_color – The color that is returned if the specified user property cannot be found on the currently shaded object.
- user_attribute – A string that specifies the name of the User-Defined property of type color or float.
- color - The output texture.
|
Example
The following scene is rendered by using the scene bundle and uncommenting "vrscenes/map_11 TexUserColor.vrscene".

TexUserScalar - User-Defined Scalar Map
The TexUserScalar texture allows the user to read and return a single number value from the User-Defined properties of the currently shaded object as a result. This can be useful if the same material or texture is applied to several objects in the scene, but we want to control some of its aspects (i.e. material glossiness, or a blend between two other textures inside a Mix texture etc) with User-Defined properties
Parameters
- default_value – The value of the texture if the user property is not found on the currently shaded object.
- user_attribute – A string that defines the name of the user property of type float or color.
- scalar - Output texture of floats
|
Example
