In the world of computer graphics, the use of procedurally generated textures has revolutionized the way we create and customize materials. Octane, a powerful rendering engine for Cinema 4D (C4D), offers a range of nodes specifically designed for this purpose. These nodes enable artists to effortlessly generate visually stunning textures that remain consistent and efficient, regardless of their size or scale. In this guide, we will explore the diverse array of procedural texture nodes available in Octane for C4D.
In Octane, you can find a variety of procedural shaders for creating patterned textures. We will focus on the shaders that are coloured green in the Cinema 4D plugin, indicating that they are procedurally generated. Some of these shaders can be found directly in the node list or under the c4doctane menu in the Material Manager. These include Checks, Sine Wave, Marble, Ridged Fractal, and Turbulence.
For a wider range of patterns, we will explore the Custom Pattern node group. This collection of OSL scripts is implemented into native nodes for easier use. By selecting the Custom Pattern entry and exploring the various Types in the flyout menu, you can access unique shaders that can be interchanged by selecting different options from the Type dropdown.
Within the Custom Pattern group, there is a Type called Procedural Effects, which offers approximately 20 more shaders. One notable non-green node is the Gradient Generator, located in the Custom Texture category, represented by a medium blue colour. Towards the bottom, you will find OSL scripts represented by blue OSL nodes. These provide a playground for those interested in delving into code.
Octane can also utilize Cinema 4D’s built-in shaders; however, they require an additional step of being baked down into bitmap textures. This process involves more effort to achieve desired looks or reuse textures and also consumes more VRAM compared to procedural textures. It is generally recommended to prioritize Octane-native alternatives over these built-in shaders.
Checks (top-level node): To create an alternating checkerboard pattern in Octane, you can use the Checks node. This pattern can be stretched or rotated using a Transform node, and its colours can be customized by running it through an Octane Gradient node. However, for more versatile stripe patterns, it’s recommended to use the Stripes node instead.
Stripes node is located halfway down the Custom Pattern list. It generates both horizontal (U) and vertical (V) stripes by default. To use only one direction of stripes, you can set the Thickness of the unwanted direction to 0. By adjusting the thickness, blurring, and rotation using a Transform node, and applying gradients to the colour inputs, you can create interesting and varied patterns.
Octane offers another Custom Pattern type node called Moire Mosaic. This allows you to create adjustable black-and-white offset patterns of circles, rectangles (squares), rings, or frames. It’s particularly useful for creating polka dot patterns.
Each mode within Moire Mosaic has its own set of controls, but not all controls apply to every mode. Here’s a breakdown of the controls for each mode:
- Circles mode: uses Size and Shift parameters and provides options for blurring, which is useful for creating bump maps.
- Rectangle mode: uses the Size and Shift to adjust the tile size and offset of every other row.
- Rings mode: only uses Size, not Shift. Instead, adjust the Ring Spacing.x and Ring Spacing.y parameters to achieve the desired effects. The blur slider controls the thickness and blur of the rings. The Time slider enables a sinewave-like animation, causing the tiles to expand and contract by ~50%.
- Frames mode: is the ring equivalent of rectangles. You can adjust the Corner Radius (affects the corner roundness) and Iterations (reduces the number of tiles) parameters here. Note that Frames mode does not work well with Cinema 4D’s Material Tag tiling. Therefore, it is advised to handle all transformations within the material via a Transform node.
Tile Patterns is another Custom Pattern node, providing six different modes, each with its own unique implementation. While all modes share common controls, the way they handle tile colours differs. Let’s explore these modes and their colour controls:
- Voronoi: This mode only uses Tile Color 1. It lacks options for seed, cell size/variation, or randomization. For Voronoi patterns, it is suggested to use other methods like Noise4D or Octane Noise for better results.
- Fancy Tiles and Scales: These modes use specific colors in different locations. In Fancy Tiles, color 1 represents the main tiles, while color 2 is used for accent squares. In Scales, the rows alternate between color 1 and color 2.
- Hexagons: This mode generates a pattern with three colors: color 1, color 2, and a third color that is a 50/50 mix of colors 1 and 2.
- Triangles and Bricks: These modes also create a blend between color 1 and color 2. However, they introduce more variations that appear to be randomly distributed.
To effectively colorize the Tile Patterns, it is advised to set color 1 as black and color 2 as white. After the Tile Patterns node, you can use an Octane Gradient node to assign colors based on the grayscale values generated by the Tile Patterns. This approach works particularly well for Triangles and Bricks. However, keep in mind that Hexagons will still generate only three shades of gray (which means mapping to only three colors in the gradient). Scales and Fancy Tiles have two shades of gray, while Voronoi patterns will have only one.
Built-in patterns in Octane have specific uses for surface channels like Bump, Normal, and Displacement, in addition to or instead of the Albedo channel. Flakes and Color Squares are designed with Normal Map coloring, ensuring proper functionality when applied to the Normal channel. Patterns like Scratches, Hagelslag, Rain Bump, Chainmail, and others in black and white are ideal for Bump or Displacement effects.
One advantage of procedural patterns in Octane is that they are always generated at 32-bit, eliminating any concerns about quality degradation or artefacts in displacement or normal maps. This high precision ensures a smooth and detailed appearance, enhancing the overall quality of your materials in Octane.
Gradients in the 3D world can be complex due to color spaces and how our eyes perceive values. However, there are four different nodes related to gradients in the Octane node editor. Let’s break them down:
- Magenta Octane Gradient: Is mainly a remapping tool that modifies the colors or levels of other nodes. It is not designed to create visible gradient texture data.
- Dark blue gradient.osl: Is primarily for coders who want to work with the Open Shading Language (OSL) behind it. It can be ignored if you’re not interested in coding.
- Burgundy Gradient: Is Cinema 4D’s native gradient shader, but it may not work optimally and needs to be baked to work well with texture tags.
- Medium blue Gradient Generator in Custom Textures) and green Sine Wave nodes: These are the recommended nodes for building materials with gradients. Gradient Generator, with its gamma input set to 2.2, produces smooth transitions of grays that appear even to our eyes and monitors. On the other hand, the Sine Wave node, set to Saw Wave, demonstrates a mathematically linear gradient. While it works better for linear bump and displacement channel ramps, it may not visually appear as a smooth gradient. Instead, it may have dark shades on the left, a large section of similar medium gray in the middle, and light grays on the right.
If you’re aiming for a visually pleasing gradient for the Albedo channel, you should use the Gradient Generator node and keep the gamma at 2.2. However, you can also set the gamma to 1 if you specifically desire a linear gradient.
Fractal patterns are fascinating and can be used to add noise or disrupt textures. Octane offers a range of fractal patterns with different adjustable parameters.
Additionally, Noises can be considered as fractal patterns too, and they can create intriguing effects. Cell Noise, for example, creates random squares that can be recolored. Moreover, all of Cinema 4D’s built-in noises are accessible through the Noise4D node in Octane.
Among the things that 3D artists like, space holds a special place. Octane provides several shaders specifically designed for planetary surfaces and starfields. Some of these shaders feature a time parameter, enabling the textures to animate, and adding dynamic movement to the visuals.
The Octane Gradient node is primarily used for recoloring and controlling color distribution. However, it is not suitable for generating visual textures on its own. For optimal results, it is recommended to start with a Gradient Generator node to create gray values in various patterns and then use the Octane Gradient node to colorize them.
By connecting a texture to the Octane Gradient node, we can map the colors of the texture to new colors based on the placement of gradient knots. Adjusting the spacing between knots determines the dominance of a particular color or the blending of two colors. Moving the knots allows for precise control over where secondary or tertiary colors appear in the texture.
Each gradient knot has an interpolation value, which determines the smoothness of the transition between knots and the number of intermediate colors in the final texture. While Cinema 4D has per-knot interpolation, Octane does not respect this. To change the interpolation in Octane, the Interpolation dropdown in the shader should be used, affecting all knots. Linear interpolation provides a smooth blend, while Constant offers a sharp falloff similar to C4D’s Step interpolation.
Since the Octane Gradient node is linear, it is convenient to use linear textures such as the Sine Wave or Gradient Generator set to Gamma=1 to have better control over color adjustments. Setting the gamma to 2.2 requires more experimentation with the placement of knots to achieve the desired look.
The Chaos node is an interesting recent addition to Octane. It applies a chaotic transformation to a texture by cutting it up, scaling it, twisting it, and blending it back together, resulting in a randomized appearance. This procedural approach makes it ideal for applying to textures like grass or dirt, allowing them to be spread across a large plane without the unwanted repetition that can occur with traditional tiling methods. Moreover, the Chaos node is excellent for generating intriguing patterns. By adjusting the Coverage parameter, the effect can be controlled, with a value of 0 producing more of a tiling effect rather than pure chaos.
The utilization of procedural textures in Octane for Cinema 4D offers a wide range of possibilities for creating visually captivating materials. These procedural approaches enable the creation of dynamic and non-repetitive visual elements, making them particularly suitable for large-scale applications like terrains or organic surfaces. With Octane’s powerful nodes, artists and 3D enthusiasts can unlock their creativity and bring their designs to life with stunning procedural textures.
We provide remote machine rental service, by offering flexible configurations of 1, 2, 4, 6, and 8 GPU machines using the top-tier RTX 4090 and RTX 3090. Built with powerful CPUs (AMD Ryzen™ Threadripper™ PRO 3955WX @ 3.9 – 4.2GHz and AMD Ryzen™ Threadripper™ PRO 5975WX @ 3.6 – 4.5GHz), 256GB RAM, and 2TB NVMe SSD storage, our machines can handle even the most demanding scenes in your 3D projects.
We grant you complete access to your rented machines. You can use your C4D, renderers, plugins, and/or any other software of any version on our machine. We treat your rented machines like your personal workstations – no restrictions apply. This freedom enables you, 3D artists, to realize creative visions without limitations.
As an official partner of Maxon, we provide pre-installed C4D machines to streamline your pipeline further! Each normal user can use our one C4D license and Prime users can use our combo C4D + Octane licenses, for free. Let’s see a workflow using C4D and Octane through our Desktop app.