Rhinoceros Interface Plugin

Embedded Material Editor in Rhino 5

../../_images/materials-view.png

Adding a new material in Rhino

To facilitate the export of a Rhinoceros scene to Ocean, it is possible to create, edit and assign Ocean materials within Rhinoceros.

In Rhinoceros 5, the creation of a custom material is done via the Materials Panel. First open it up (Render Tools Toolbar > Toggle Materials Panel).

Clicking on the plus button opens a dialog prompting you for a file to serve as template.

../../_images/materials-moretypes.png

The ocean material is not listed here …

The dialog prompts you to create a material from various templates, but it will only create a Rhinoceros “basic” material. To create an Ocean material, you need to use the “More Types” button on the right of the dialog window.

../../_images/materials-new.png

… But there

It should provide you with the option to create a few kinds of materials. The plugin adds the OceanMaterial type to this list.

Finally choose to create an OceanMaterial

../../_images/ocean-material.png

The embedded Ocean material editor

After selecting the OceanMaterial, the Material Panel should be displaying your new material and a familiar view to edit its parameters.

Indeed, the same Ocean node structure edition panel has been used in Rhinoceros. You can edit materials almost the same way you would through the Ocean user interface.

The nodes displayed here can be copied to and pasted from the clipboard, allowing the user to copy nodes in Ocean to Rhinoceros and vice-versa.

../../_images/materials-lightmap.png

Surface lightmap editor

A lightmap can be associated with any ocean material, by checking the “Assign Lightmap” option.

On export, it will create a lightmap targetting the associated material.

The user can also set various parameters for the lightmap inside Rhino.

Environment Editor

../../_images/ocean-environment.png

The embedded Ocean environment editor

Like for the materials, it is possible to create and edit ocean environments in Rhino

Light Editor

../../_images/ocean-light.png

A light using Ocean data

Lights can be customized with ocean parameters.

When a light is selected, a panel is added in the properties tab of the object.

Clicking “Use Ocean Light” brings ocean specific parameters that can be edited.

../../_images/ocean-light-preview.png

Light color preview in the Rhino viewport

The spectrum and emitter parameters influence the preview window with approximate colors and intensities

../../_images/ocean-light-directional.png

A directional light with ocean light data

If the selected light is directional, there won’t be any “emitter” parameters ; only spectrum.

This is because the exported object will be an Ocean “Disc” environment

../../_images/ocean-light-ies.png

IES “shape” preview in Rhino viewport

It is possible to specify IES data when the light type is SpotLight.

In the preview window, a mesh is drawn around the light approximately representing the intensity of the IES in spherical coordinates.

Material Irradiance Groups

../../_images/material-irradiance-groups.png

All those spheres are now in the “Group0” material irradiance group

Material Irradiance instrument can be created by targetting multiple objects.

When one or multiple objects are selected, an Ocean object properties panel is added to the Properties tab. For now, the only option available is to attach the object to a material irradiance group.

Applying a group name to the current selection will create a Material Irradiance Instrument with clones of the material assigned to each object.

All the group names created in the document are stored so the user can quickly add an object to a group by selecting it instead of typing it.

Sensor Array

../../_images/icon-sensor-array.png

AddSensorArray button

Grids of material irradiance instruments can be created easily using the “OceanAddSensorArray” command.

../../_images/sensor-array-add.png

First, draw a rect in the viewport …

When launching the command (either typing it or clicking the button) the user needs to draw the grid area in which to place sensors.

../../_images/sensor-array-params.png

… then provide parameters in the command line interface

The command provides options to specify

  • The number of sensors in rows and columns
  • A relative padding between sensors
  • The name of the sensor group (it has to be typed in the command line interface)