Rhino WIP Feature: New GH1 Components for Rendering Materials

Note: This guide requires the Rhino WIP. This is a work in progress meaning that it is meant for testing and should not be used for project critical production work. The Rhino WIP is available to anyone that owns Rhino 8.

Why add Material components to Grasshopper

For anyone that needs to additional tools to manage Rendering materials in Rhino. Previously only one material could be managed manually one at a time. Now with Grasshopper components:

  1. Create highly unusual materials with multiple effects quickly.
  2. Create and edit many materials at once.
  3. Convert Rhino, Vray and Revit Materials to share common properties.

What are material components:

Rhino Render material components to both create, edit and save materials within Grasshopper. The new components off a full range of Material properties including Material, Color and Textures.

The Render material components are located in the Rhino Toolbar > Materials section:

These new material components can be combines with new components for textures and mapping to complete the tools needed for full control over materials:

Using Material Components

Basic Material Creation

The simplest of definitions to use Render material in Grasshopper and visualize the results in Rhino. We will build on this definition thru the rest of this guide as it allows us to monitor all the changes we are making.

Note: A Material exists in Grasshopper only until it is pushed into Rhino using the Content Cache Component.

Edit Existing Material

Existing materials can be edited by inputting a material component, inputting the material to the component.

In this case an existing Material is input to the left material component. This is an Apple Gloss Paint which is a generally green color (Red = 160, Green=207, Blue=103). Passing that material to the right material component and adding a red color swatch to the base color, the resulting Base Color is more red (Red = 232, Green = 16, Blue = 16).

Anatomy of a Material in Grasshopper

Here are a couple quick examples of what makes up most materials.
The Physically Based Rendering (PBR) material is the most flexible and potentially the most complicated. When first dropped on the canvas, it looks quite compact:

Use the down arrow at the bottom of the component, or right-click on the middle of the component and select “Show All Parameters” to expand it fully to see all possible inputs for a PBR material component:

A couple notes about the inputs and outputs:

  1. Most Color Channels can also take a texture. In the case above, a Grid texture is created and pushed into the Base Color channel.
  2. Other strengths such as Metallic and Roughness are a 0.00 - 1.00 value.
  3. Outputs for the material may be a value, or a complete texture as seen in the Base Color example above. Use a Render Preview component to interrogate the output for the type and the values.

Exporting Materials

Exporting material files (.RMTL) can be done with an Export Material Component:

The component can embed all required bitmaps and textures within the RMTL file using the Embed Input.

Also, the Overwrite input must be set to TRUE if the file needs to be updated multiple times.

Importing Materials

Materials can be imported directly from a file into Grasshopper by using the Import Material component. Directly imported materials will not have a associated GUID number associated with them, as there is not a corresponding material to reference in Rhino.

Alternatively, a Material can be imported from Rhino using the Query Material Component. Because these materials are imported from Rhino, they have an associated GUID number with them.

See Also:

Download Rhino WIP…

14 Likes

I might be slightly stoned on this marbled material thing.

I work with wood and this would be something really wild to be able to see how a species of wood or marble is cut out in 3D looking for those patterns I want to achieve. I tried to model it in 3D in GH but it’s way to slow (or my PC is).

2 Likes

Marble is hard, but wood just a little more predicable. The origin and direction of the pattern normally relates to the center of the log, That is if the procedural pattern is 3d procedural or a 2D procedural.

Once we get more mapping tools, then experiments could begin.

1 Like

OK, so this is finally a node based material creator/editor for Rhino that fully supports PBR materials, right? Or am I missing something?

Great that this is finally “materialising” :grin:

Very important is the preview component in grasshopper. This makes it much more practical to use, I think. You can work on the materials in fullscreen grasshopper without switching back and forth between GH and RH, also no windows side by side necessary.

What about compatibillity with materials from Blender? Not beeing able to use the huge material ecosystem of Blender/Cycles would be a big disappointment.

1 Like

Currently we do support the PBR materials in Rhino. Full support? That is what we would like to think that is support everything in the PBR that Rhino supports. But that is yet to be seen, as everyone gives this a test.

Currently we are working on updating Cycles in Rhino to version 4.4. So, that should add to compatibility.

There is discussion here about developing an advanced custom shader API. At this time we do not have that implimented.

4 Likes

Also see:

-wim

1 Like

Hi, will it be possible to apply these materials directly to Grasshopper geometry, without pushing them to Rhino (using Custom preview, for example)?

2 Likes

It looks like this:

Of course this is a Grasshopper material that is applied to a Grasshopper box. So, that works.

2 Likes

Hi @scottd ,
That’s really needed and I like it a lot.
Just a question: would be the Render textures being used also for other construction in grasshopper?

Imagine you have an image sampler component would it be possible to use a noise texture generator instead?

This may open a whole new possibility.

This should be possible. Set a texture and then use the texture evaluator to find the pixel value you would like to use. I think those are all available now. The example below is using the noise texture.

3 Likes