Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

1. How do I set up lighting?

Expand

Please see SketchUp FAQ - Lighting

2. Can I use my license on more than one computer?

...

5. How do I render an animation using Maxwell for SketchUp?

Expand

The Maxwell 4 | SketchUp plugin can be used to produce animations, provided that you have a way of creating multiple scenes in your SketchUp file, where each corresponds to a frame in the animation. There are 3rd-party animation plugins for SketchUp which produce animations this way. If you have such a file, when you export an MXS, each Scene will be exported as an individual camera; this is just how the export works. When that is the case, you can render an animation from your exported MXS by scripting Maxwell Render. This script makes Maxwell render all the cameras of an MXS file in sequence, one after the other. Here is an example script that does this:

Code Block
// This script loops through a set of cameras, specified by name and
// index. It must be customized to fit the characteristics of the given
// MXS file. As set up, it expects to find the MXS filled with cameras
// whose names begin with 'Scene '. This base name is stored below
// in the 'baseName' variable. It expects the scene numbers to begin
// at 1 and to end at 3, with these limits being stored below in the
// 'firstFrame' and 'lastFrame' variables. It will loop through the frame
// range looking for cameras which fit the pattern 'Scene 1', rendering
// each one as it is found.

var firstFrame = 1;
var lastFrame = 3;
var baseName = "Scene ";

// internal vars & events

var isRendering = 0;
var currentFrame = firstFrame;
var outputFolder = FileManager.getFileFolder(Scene.mxsPath);
RenderEvents["renderFinished()"].connect(renderHasFinished);

// render loop

while (currentFrame <= lastFrame)
{
  renderCamera(currentFrame);
  while(1)
  {
    if(isRendering == 0)
    {
        break;
    }
  }
  currentFrame++;
}

// functions

function renderCamera(frameNumber)
{
  var sceneName = baseName + frameNumber;
  Mxi.setActiveCamera(sceneName);
  if (Mxi.activeCameraName != sceneName)
  {
    Maxwell.print("The MXS contains no camera named '" + sceneName + "'!");
  }
  else
  {
    Maxwell.print("rendering Scene: " + sceneName);
    Scene.setMxiPath(outputFolder +  "\" + sceneName + ".mxi");
    Scene.setImagePath(outputFolder + "\" + sceneName + ".png");    
    isRendering = 1;
    Maxwell.startRender();
  }
}

function renderHasFinished()
{
  isRendering = 0;
  Maxwell.print("Render finished!!");
}

To use this script, you would either save it as an .ms (Maxwell Script) file, and load that file into Maxwell Render, or you directly copy, paste, and run it, directly in the Maxwell Render Script panel.

Alternatively, you can use this script from PyMaxwell (create_mxs_sequence_from_camera_list.py), to generate a single mxs file from each of the cameras included in a particular mxs file. This way you can create batch job to render them on the Network System.

...