Migrate from Simplygon 9 to Simplygon 10
The Simplygon Max plug-in exports various commands and flags that exposes Simplygon functionality through Max. From a user's point of view there aren't any significant changes in usability, other than installation and the need to upgrade the settings files from Simplygon 9 to Simplygon 10.
This guide will focus on how to migrate from Simplygon 9 to Simplygon 10.
Installation
Simplygon 10 relies on environment variables to find certain components compared to previous solution of registry and configuration files. We recommend the Simplygon installer as it not only sets everything up correctly, but also installs all necessary prerequisites. We also provide a Simplygon 10 archive for manual installation. See the Simplygon 10 plug-in installation for further instructions. Please note that Simplygon 10 relies on its own set of environment flags.
Settings / processing system
Simplygon 10 is using the Pipeline system for settings and processing which was introduced in Simplygon 9. Note that some settings might have been added, removed, renamed and / or moved to a different settings group. Please refer to the Pipeline migration documentation for information of how to migrate settings from Simplygon 9 to Simplygon 10.
Support for Quad reduction
Simplygon 10 gets support for Quad reduction through the Simplygon API, 3ds Max and Maya. A new QuadReductionPipeline has been exposed in the Simplygon UI as well as through scripting in Max and Maya.
Quad export and import in Max gets enabled automatically when at least one QuadReductionPipeline is active in the Simplygon UI. For scripting the QuadMode flag has to be specified through sgsdk_SetQuadMode(bool).
Function | Parameter(s) | Description |
---|---|---|
sgsdk_SetQuadMode | bool isEnabled | Enables quad export and import functionality (required for QuadReductionPipeline). |
Absence of QuadReductionPipeline in UI, or QuadMode flag when scripting, will result in export / import handling all data as triangles (all Quad information will get lost).
Legacy Remesher gets removed
The new Remesher that was introduced in Simplygon 9 completely replaces the old remesher in Simplygon 10. The old remesher (deprecated in Simplygon 9) has been completely removed in Simplygon 10.
Script migration
The following sections contain details of how to migrate scripts from Simplygon 9 to Simplygon 10.
Upgrade Pipeline files
Pipeline files from Simplygon 9 will need to be upgraded to work with Simplygon 10, trying to use a settings file from a previous version directly will most likely result in an error.
The Simplygon UI will upgrade supported Pipeline versions automatically when loading a Pipeline, although the Pipeline needs to be saved manually by the user (to the same or separate file).
Please use the batch import option in the Simplygon UI when you want to upgrade multiple pipelines.
If a Pipeline needs to be upgraded through script the Simplygon UI module has to be called manually. LoadPipelineFromFile will simply load the pipeline into the UI (and upgrade it automatically); while SavePipelineToFile can be used to save the changes to either the same or a new file. These functions are exposed through our proprietary UIAccessor interface and can be accessed through MaxScript and Python using dotnetobject (these are not exposed as regular script functions).
-- create UIAccessor object
ui = dotNetObject "SimplygonUI.UIAccessor"
-- use UIAccessor to call a function
bPipelineLoaded = ui.LoadPipelineFromFile "D:/Pipelines/ReductionPipeline.json"
bPipelineSaved = ui.SavePipelineToFile "D:/Pipelines/ReductionPipeline_Copy.json"
from pymxs import runtime as rt
# create UIAccessor object
ui = rt.dotNetObject('SimplygonUI.UIAccessor')
# use UIAccessor to call a function
bPipelineLoaded = ui.LoadPipelineFromFile('D:/Pipelines/ReductionPipeline.json')
bPipelineSaved = ui.SavePipelineToFile('D:/Pipelines/ReductionPipeline_Copy.json')
General Simplygon functions
There are no breaking changes, see Simplygon functions for new functions.
Pipeline functions
There are no breaking changes, see Simplygon Pipeline functions for new functions.
Shading network functions
There are no breaking changes, see Simplygon Shading Network functions for new functions.
Simplygon Python API
The Simplygon module in Simplygon 10 has changed name, all existing scripts needs to be updated to make use of Simplygon 10:
From:
from simplygon import simplygon_loader
from simplygon import Simplygon
To:
from simplygon10 import simplygon_loader
from simplygon10 import Simplygon