By JDHill
#263634
Hello All,

Version 1.6.6 of the Maxwell for Rhino 4 plugin is now available, following is a brief overview of a few of the changes and new features.

Cameras

Until now the plugin has suffered the effects of a mismatch between the capabilities of the Maxwell Camera model, and the Rhino viewport model. Specifically, while Maxwell allows any film size, Rhino always shows perspective based on the assumption that the film being used is either 24mm high (for under-square viewports) or 24mm wide (for over-square viewports). Subsequently, it has not been possible to pre-visualize how an image would be rendered, if it used a film which was not sized in this way. If you've been paying attention, you will have noticed that when a Camera in the plugin is set to use the 'Viewport' Resolution Mode, it would automatically have its film set to reflect the current aspect-ratio of its associated viewport, that is, when you resized the viewport from under-sqare to over-square, the plugin would flip the film on its side. The new plugin still does this when it is in Viewport mode. However, in Manual mode, this automatic camera-flipping is not done - the plugin assumes that you know what you're doing, and that you mean to use a 'non-standard' film size.

Overall, things are not much different in the new plugin, but there are some subtle changes to be aware of. These changes are made mainly to enable the creation of a new tool: the Camera Heads-Up Display:

Image

When this overlay is enabled, it shows the Maxwell Camera's film sensor, in relation to the 24mm-based sensor being shown by Rhino in the viewport. In addition to showing the relative film size, it also shows the effect of any lens-shift which may be set in this Camera. At the bottom of the viewport, you will see a small readout, giving the Camera's current Film Size ('film'), Lens Shift ('offset', in percentage of film-size), Image Output Resolution ('res', in pixels), as well as the current status of the Camera's Auto-Exposure, Motion Blur, and Z-Clip switches. The color of the translucent overlay may be set using Plugin Options > Display Options > UI Preferences > HeadsUpHatchColor.

The main benefit to this tool is that the output frame is defined in units unrelated to the Rhino viewport, that is, it is defined using film-size alone. This allows to disconnect the actual pixel-size of the image output from the Rhino viewport's pixel-size and aspect ratio - while still allowing to pre-visualize the framed image accurately. Simply put, it allows you to change the Rhino viewport's size and shape without also affecting the Maxwell image output, so hitting render from the viewport shown above will produce exactly the same image as doing so from this viewport:

Image

One of the major changes is that while in previous plugins, there was a 'Lock Ratio' parameter on the Camera's Output Resolution, this has now been moved to the Film Back section. When you have a Camera with its film ratio locked, changes to the output resolution will be made in such a way as to maintain a matching image aspect ratio. When the film's ratio is unlocked, changes to film width or height will change the image output size accordingly, and vice versa.

In addition to the Heads-Up Display, there is also another new tool for working with Cameras, a conveniently-small window which is made to resemble the LCD back-panel of a digital SLR camera:

Image

This window gives a quick overview of the current Maxwell Camera's parameters, and also provides a convenient method for adjusting them (of course, all Camera parameters may be adjusted in the Scene Manager's Camera Settings page). To adjust a numeric parameter in this window, there are two methods:
  • a) place the mouse over the decimal-place you wish to edit, depress the left mouse button, and drag up or down to adjust the value
    b) hover the mouse over the decimal-place you wish to edit, roll the mouse-wheel to adjust the value one unit per wheel-detent
Changes are interactively shown in the Camera overlay, so it is extremely easy to frame a shot at any film size or lens shift. You may also toggle several Camera parameters in this window. These new tools are enabled/disabled using the first and second buttons in the Camera toolbar (their enabled/disabled states are persistent between Rhino sessions):

Image

The third button in this toolbar exposes a new plugin command: Maxwell_AutoFocusObjects. When you give this command, the plugin will prompt for an object-selection. Once the desired objects have been selected, the plugin will measure their near and far distances from the camera, and adjust focal distance and fStop to bring those objects into focus. When you use this function, it is highly recommended that the Camera have Auto-Exposure enabled, so that a suitable Shutter speed mayb be figured after the plugin sets the fStop - otherwise exposure may be much too light or dark.

The operation of the Auto-Exposure mode is this: given a constant film ISO, as either fStop or Shutter are adjusted, the plugin will set the other to maintain a constant exposure. Therefore, if this feature is used, it is best to leave the Shutter value alone, using fStop to control depth-of-field and ISO to control image exposure. This is the simplest method of exposure control for Maxwell Cameras using the plugin.


Scene Manager

The Scene Manager has not changed greatly. It is now possible to configure the plugin to show the Scene Manager either as a standalone window like in plugin versions 1.5+, or as a Rhino dockbar, as it was in the first version of the plugin. How it is shown on your machine is controlled by a new user-preference in Plugin Options: 'Dockable Scene Manager'. Please note, there are some know issues with how dockbars function - that is why a move to standalone windows was made in 1.5 - but now you have the choice to run however you see fit.

In the Scene Manager's Location Settings page, you will find that the SunView globe now remembers the name of cities between Rhino sessions.


Material Management

The tabbed interface of the Material Manager has now been removed, and replaced with three separate windows: Material Editor, MXM Browser, and Scene Materials Browser. Both the browsers also support the dual standalone/dockbar behavior of the Scene Manager, controlled by the user-preferences 'Dockable MXM Browser' and 'Dockable Material Browser'. All of these windows remember their state between Rhino sessions, unless the user-preference 'Restore Window State on Load' is disabled. I does take some time to start up the plugin's various windows, so if you find that you prefer a quicker startup to persistent window-state, just set this option to 'No'.

It is possible to drag MXMs and Materials onto objects in the viewport, either from the browsers, or from Windows Explorer. You may also drag entire folders of MXMs from the MXM Browser's folder-tree into either the Rhino viewport, or the Scene Materials Browser. You may also drag selections of MXMs from the MXM Browser or Explorer - if you drop on an object, only the first MXM in the selection will be imported, if not, the entire selection will be imported.


Improved Real Scale

Image

Real Scale Textures have previously been a bit tricky to work with in the plugin, scaling an object will scale its associated Rhino texture-mapping widget, and the plug has had difficulty keeping things in syncronization when this happens. However, in the new plugin, there have been some fundamental changes to how Real Scale textures are handled. A few points:
  • a) Real Scale is no longer restricted to Channel 0, you may turn it on for any Channel
    b) when Real Scale is enabled for any texture, any associated objects will have a cubic projection defined for them - this projection will be managed by the plugin, and not Rhino. This will not be done if the object in question already has projectors explicitly defined
    c) the plugin is able to detect changes to assigned objects, whether they be rotations or scales, and it will correct the mapping for these objects when such changes are detected
The main point to remember is that the new plugin does not need any explicit box-projection to be defined, in fact it is better if this is the case. It will still try to correct explicit projections, but as with older plugins, it is easy for these to become unsynchronized. So, if you can help it, don't apply any explicit projections to objects you want to use Real Scale textures on.

There is one other fine point to be aware of: since there are only world-coordinates for normal objects in Rhino, it is not possible for the plugin to know how an object has been rotated or scaled. Well, it is not absolutely possible, but the plugin does use some information about how the object was created to simulate the idea of a transformation history, and therefore it is able to keep the mapped textures lined up the way they were when they were applied. To be more accurate, it keeps them lined up based on how the object was created. This is important to know, because as of yet, the plugin doesn't offer any way for you to define the direction that Real Scale textures are mapped - it is always based on how the object was created. Therefore, if you are dealing with objects which need a certain direction in their mapping, it is going to be best to apply a texture right away when creating the object, to make sure that the texture will be oriented the way you want it later. In the future, I will add rotation parameters to Object Properties, to allow for modifying the mapping orientation, but as of now, it is not yet implemented.


Motion Blur

Version 1.6.0 of the plugin added support for Maxwell Motion Blur. However, only linear object-movements were supported - the new plugin adds support for 'Full-Range' Motion Blur through the Object Properties window. As noted in under the Real Scale section, since Rhino deals exclusively in world-coordinate space for objects, there is no way for the plugin to know how an object has been rotated or scaled after its initial position has been stored for Motion Blur purposes. What this means is that the plugin must store a complete copy of the object's mesh, so that the engine can correctly interpolate between the two positions - and this obviously takes alot of memory.

So, it is recommended that whenever possible, you use Linear Motion Blur - this only requires that the plugin store a single point and vector per-object. As with the previous plugin, Motion Blur data is never stored with the file - it is a run-time-only feature, so if you reopen a file, it will be necessary to reset the initial positions for Motion Blur-enabled objects. Possibly, the Named Positions feature will be helpful here. In future updates this situation may change, but this is how it works for now.


New Plugin Options

Some new Plugin Options have been added in 1.6.6:

Show InfoTips: when this option is enabled, each parameter in the Material Editor and Object Properties window will provide a popup help tooltip
Show Browser ToolTips: turning this off will disable the descriptive tooltips shown for thumbnails in the MXM and Scene Materials Browsers
Restore Windows On Load: when this option is enabled, the plugin will remember the shown/hidden state of its various windows - startup time may be reduced by turning this option off
Dockable Scene Manager/MXM Browser/Material Browser: determines whether these windows will be shown as standalone windows, or as Rhino dockbars (similar to Rhino's Object Properties and Layer windows)
MXS/Image Auto-Naming: when these options are enabled, the plugin will automatically generate incremental filenames for MXS or Image output if the target file already exists. When disabled, the 'overwrite file' confirmation dialog will obey the 'Suppress Warnings' user-preference, as it has done in previous plugins
Always Write MXI: when this is enabled, an MXI file will always be generated, even if the Write MXI and MXI Filename Render Settings have not been set. If necessary, a filename based on the MXS output filename will be generated


That's all I can think of right now, I hope you find the new features useful.

JD
Will there be a Maxwell Render 6 ?

Let's be realistic. What's left of NL is only milk[…]