List of available nodes:

**Mtlx Place2D Random**

Transform incoming UV texture coordinates in random range.

**Mtlx Place3D**

Transforms vector in 3D space.

**Mtlx Simple Place3D**

Simplified node for transforming vector in 3D space.

**Mtlx Hash23 Random**

Returns random vector.

**Mtlx Lehmer Random**

Generates random float number.

**Mtlx Infinite Tiling**

Repeating texture indefinitely without ever repeating exactly.

**Mtlx Simple UV Noise**

Offsets texture coordinates using noise.

**Mtlx Hex Tile Grid**

Generates two-dimensional grid made up of hexagon-shaped tiles.

**Mtlx Simple Triplanar**

Project textures from three axis and blends them together.

**Mtlx Frac**

Сalculates the fractional part of a value.

**Mtlx Degrees to Radians**

Converts angle from degrees to radians.

**Mtlx Radians to Degree**

Converts angle from radians to degree.

**Mtlx Round**

Round a number to the nearest whole number.

**Mtlx Round Decimals**

Rounds a given number to a specified number of decimal places.

**Mtlx Saturate to Range**

Clipping or saturating values that exceed the range limits.

**Examples**

I have also prepared a hip file with three examples:

**Triplanar projection**

**Planar projection and UV noise**

**Infinite tiling**

**How to install:**

1. Download Mtlx_Essentials_nodes_pack.zip from attachments below.

2. Extract the archive and copy to files to Houdini preference folder - otls (Houdini 19.5/otls).

**Note:**Only HDALC(indie) version of nodes is available.

3. Download MaterialX_Essentials_Examples.hiplc from attachments below.

4. Run the file to see examples.

**FAQ:**

**"How can these nodes be applied?"**

I created these nodes to be able to replicate the tutorials for Unreal Engine and Unity from Ben Cloward's youtube (https://www.youtube.com/@BenCloward) channel. You can also follow along with them.

**"Are the coordinate systems of UE and Unity compatible with Houdini?"**

MaterialX nodes resemble those of game engines, but their coordinate systems are actually different. Unity is somewhat closer to Houdini because Y points up, but in Unity, Z points in the opposite direction.

**"I don't see equivalents for some nodes, what should I do?"**

MaterialX is still in development, and some nodes may be missing, but many nodes simply have a different name or can be substituted with basic mathematical functions.

Here are some nodes from UE or Unity and their counterparts in MaterialX, for examples:

**Lerp**(UE/U) =

**Mix**(Mtlx), A = Bg (input 2), B = Fg (input 1)

**SplitComponents**(UE)/

**Split**(U) =

**Separate**(Mtlx)

**Append**(UE)/

**Combine**(U) =

**Combine**(Mtlx)

**One Minus**(UE/U) =

**Complement**(Mtlx Houdini)

**Abs**(UE) =

**Absval**(Mtlx)

**Reciprocal**(U) =

**1/X**(Math)

**Saturate**=

**Saturate to Range**(Mtlx Essentials)

**Fraction**(U) =

**Frac**(Mtlx Essentials)

**UV Transform**(U) =

**Place2D**(Mtlx)

**Vertex Color**(UE) =

**Geometry Color**(Mtlx)

**Position Vector**(U) =

**Position**(Mtlx)

**Normal Vector**(U) =

**Normal**(Mtlx)

Have fun!