Encodes geometry into the Wavefront OBJ format.
@example:
# Settings class used to control parameters for exporting models to OBJ
exportSettings = OBJExportModelSettings()
exportSettings.setOutputPath(ce.toFSPath("models/batchExportTests"))
exportSettings.setBaseName("obj_batchexport_0")
wsThisFile = __file__[len(ce.toFSPath("/python"))+1:]
wsThisFile = wsThisFile.replace("\\", "/")
exportSettings.setScript(wsThisFile)
exportSettings.setMeshGranularity("AS_GENERATED")
exportSettings.setLocalOffset("SHAPE_CENTROID")
exportSettings.setGlobalOffset([-5000,0,-2000])
exportSettings.setTerrainLayers(exportSettings.TERRAIN_NONE)
ce.export(ce.selection()[0], exportSettings)
Methods defined here:
getAtlasAddWrapBorder
getAtlasAddWrapBorder(self):
Gets AtlasAddWrapBorder field. Add a border of clamped pixels to protect against wrap mode bleeding.
@return: Value of AtlasAddWrapBorder field. [True/False]
getBaseName
getBaseName(self):
Gets BaseName field. The base name for all files.
@return: Value of BaseName field. [str]
getCollectTextures
getCollectTextures(self):
Gets CollectTextures field. Collects all used textures and copies them into the target folder. All texture references are adjusted accordingly.
@return: Value of CollectTextures field. [True/False]
getCreateTextureAtlases
getCreateTextureAtlases(self):
Gets CreateTextureAtlases field. Creates texture atlases which combine a set of textures into one, thus reducing the number of textures and materials. All textures except COLORMAPs are removed.
@return: Value of CreateTextureAtlases field. [True/False]
getExistingFiles
getExistingFiles(self):
Gets ExistingFiles field. Specifies how files should be written during the export run. The log file will be written anyways.
@return: Value of ExistingFiles field. ["OVERWRITE", "SKIP"] [str]
getExportGeometry
getExportGeometry(self):
Gets ExportGeometry field. Choose what geometry is exported. 'Models with Shape Fallback' writes the Start Shape if the Model generation fails. 'Models' skips to the next export item if the Model generation fails. 'Shapes' always writes the Start Shape and disregards the Model generation.
@return: Value of ExportGeometry field. ["MODEL_GEOMETRY_FALLBACK", "MODEL_GEOMETRY", "SHAPE_GEOMETRY"] [str]
getExportLog
getExportLog(self):
Returns a dictionary containing details of the export.
@return: A dictionary containing details about the finished export.
getFacesWithHoles
getFacesWithHoles(self):
Gets FacesWithHoles field. Specifies how faces with holes should be handled during the export.
@return: Value of FacesWithHoles field. ["TRIANGULATE_FACES_WITH_HOLES", "DISCARD_HOLES", "CONVERT_HOLES_TO_FACES"] [str]
getFileGranularity
getFileGranularity(self):
Gets FileGranularity field. Specifies the partition of the generated geometry into files.
@return: Value of FileGranularity field. ["MEMORY_BUDGET", "START_SHAPE"] [str]
getGlobalOffset
getGlobalOffset(self):
Gets GlobalOffset field. Global (= for all shapes/models) offset for exported geometry.
@return: Value of GlobalOffset field. [sequence of float]
getIncludeMaterials
getIncludeMaterials(self):
Gets IncludeMaterials field. Exports material definitions (e.g. color, textures, ...).
@return: Value of IncludeMaterials field. [True/False]
getLocalOffset
getLocalOffset(self):
Gets LocalOffset field. Local (= per shape or model) offset for exported geometry.
@return: Value of LocalOffset field. ["NONE", "MODEL_CENTROID", "MODEL_CENTROID_BOTTOM", "SHAPE_CENTROID", "SHAPE_CENTROID_BOTTOM"] [str]
getMaxAtlasDim
getMaxAtlasDim(self):
Gets MaxAtlasDim field. Specifies the maximal dimension of the texture atlases in power-of-2 pixels, e.g. 11 gives a 2048x2048 Atlas.
@return: Value of MaxAtlasDim field. [int]
getMemoryBudget
getMemoryBudget(self):
Gets MemoryBudget field. Specifies the size limit in megabytes per exported file (value 0 = unlimited). Please note: The size is measured on the unoptimized geometry, i.e. the final size may vary. The check is only performed per input shape.
@return: Value of MemoryBudget field. [int]
getMergeNormals
getMergeNormals(self):
Gets MergeNormals field. Finds parallel normals (using the precision distance) and shares their index.
@return: Value of MergeNormals field. [True/False]
getMergeTexcoords
getMergeTexcoords(self):
Gets MergeTexcoords field. Finds identical texture coordinates (using the precision distance) and shares their index.
@return: Value of MergeTexcoords field. [True/False]
getMergeVertices
getMergeVertices(self):
Gets MergeVertices field. Finds co-incidental vertices (using the precision distance) and shares their index.
@return: Value of MergeVertices field. [True/False]
getMeshGranularity
getMeshGranularity(self):
Gets MeshGranularity field. Specifies the processing of meshes.
@return: Value of MeshGranularity field. ["AS_GENERATED", "PER_MATERIAL"] [str]
getNormalPrecision
getNormalPrecision(self):
Gets NormalPrecision field. Specifies the output precision for normals.
@return: Value of NormalPrecision field. [float]
getOutputPath
getOutputPath(self):
Gets OutputPath field. Output directory for all exported files.
@return: Value of OutputPath field. [str]
getScript
getScript(self):
Gets Script field. Python script to use for export callbacks.
@return: Value of Script field. [str]
getShapeNameDelimiter
getShapeNameDelimiter(self):
Gets ShapeNameDelimiter field. Delimiting character for resolution of shape name clashes.
@return: Value of ShapeNameDelimiter field. [str]
getSimplifyTerrainMeshes
getSimplifyTerrainMeshes(self):
Gets SimplifyTerrainMeshes field. Perform geometry simplification on terrains.
@return: Value of SimplifyTerrainMeshes field. [True/False]
getTerrainLayers
getTerrainLayers(self):
Gets TerrainLayers field. Choose how terrain layers are exported.
@return: Value of TerrainLayers field. ["TERRAIN_ALL_VISIBLE", "TERRAIN_ALL_SELECTED", "TERRAIN_ALL", "TERRAIN_NONE"] [str]
getTexcoordPrecision
getTexcoordPrecision(self):
Gets TexcoordPrecision field. Specifies the output precision for texels.
@return: Value of TexcoordPrecision field. [float]
getTextureCoordinates
getTextureCoordinates(self):
Gets TextureCoordinates field. Choose which - if any - texture coordinate layers to export.
@return: Value of TextureCoordinates field. ["NONE", "FIRST"] [str]
getTriangulateMeshes
getTriangulateMeshes(self):
Gets TriangulateMeshes field. Triangulate resulting meshes.
@return: Value of TriangulateMeshes field. [True/False]
getVertexNormals
getVertexNormals(self):
Gets VertexNormals field. Controls the export of vertex normals.
@return: Value of VertexNormals field. ["PASS", "NONE", "SET_MISSING", "SET_ALL"] [str]
getVertexPrecision
getVertexPrecision(self):
Gets VertexPrecision field. Specifies the output precision for vertices.
@return: Value of VertexPrecision field. [float]
getWriteLog
getWriteLog(self):
Gets WriteLog field. Write log file with statistics about this export session.
@return: Value of WriteLog field. [True/False]
load
load(self, name):
Load the named settings from the current scene file.
@param name: The name of the settings to load. [str]
@return: result. [OBJExportModelSettings]
save
save(self, name):
Save the named settings to the current scene file.
@param name: The name of the settings to save. [str]
setAtlasAddWrapBorder
setAtlasAddWrapBorder(self, booleanValue):
Sets AtlasAddWrapBorder field. Add a border of clamped pixels to protect against wrap mode bleeding.
@param booleanValue: the new value. [True/False]
setBaseName
setBaseName(self, stringValue):
Sets BaseName field. The base name for all files.
@param stringValue: the new value. [str]
setCollectTextures
setCollectTextures(self, booleanValue):
Sets CollectTextures field. Collects all used textures and copies them into the target folder. All texture references are adjusted accordingly.
@param booleanValue: the new value. [True/False]
setCreateTextureAtlases
setCreateTextureAtlases(self, booleanValue):
Sets CreateTextureAtlases field. Creates texture atlases which combine a set of textures into one, thus reducing the number of textures and materials. All textures except COLORMAPs are removed.
@param booleanValue: the new value. [True/False]
setExistingFiles
setExistingFiles(self, stringValue):
Sets ExistingFiles field. Specifies how files should be written during the export run. The log file will be written anyways.
@param stringValue: the new value ["OVERWRITE", "SKIP"]. [str]
setExportGeometry
setExportGeometry(self, enumValue):
Sets ExportGeometry field. Choose what geometry is exported. 'Models with Shape Fallback' writes the Start Shape if the Model generation fails. 'Models' skips to the next export item if the Model generation fails. 'Shapes' always writes the Start Shape and disregards the Model generation.
@param enumValue: the new value ["MODEL_GEOMETRY_FALLBACK", "MODEL_GEOMETRY", "SHAPE_GEOMETRY"]. [str]
setFacesWithHoles
setFacesWithHoles(self, stringValue):
Sets FacesWithHoles field. Specifies how faces with holes should be handled during the export.
@param stringValue: the new value ["TRIANGULATE_FACES_WITH_HOLES", "DISCARD_HOLES", "CONVERT_HOLES_TO_FACES"]. [str]
setFileGranularity
setFileGranularity(self, stringValue):
Sets FileGranularity field. Specifies the partition of the generated geometry into files.
@param stringValue: the new value ["MEMORY_BUDGET", "START_SHAPE"]. [str]
setGlobalOffset
setGlobalOffset(self, floatArrayValue):
Sets GlobalOffset field. Global (= for all shapes/models) offset for exported geometry.
@param floatArrayValue: the new value. [sequence of float]
setIncludeMaterials
setIncludeMaterials(self, booleanValue):
Sets IncludeMaterials field. Exports material definitions (e.g. color, textures, ...).
@param booleanValue: the new value. [True/False]
setLocalOffset
setLocalOffset(self, stringValue):
Sets LocalOffset field. Local (= per shape or model) offset for exported geometry.
@param stringValue: the new value ["NONE", "MODEL_CENTROID", "MODEL_CENTROID_BOTTOM", "SHAPE_CENTROID", "SHAPE_CENTROID_BOTTOM"]. [str]
setMaxAtlasDim
setMaxAtlasDim(self, intValue):
Sets MaxAtlasDim field. Specifies the maximal dimension of the texture atlases in power-of-2 pixels, e.g. 11 gives a 2048x2048 Atlas.
@param intValue: the new value. [int]
setMemoryBudget
setMemoryBudget(self, intValue):
Sets MemoryBudget field. Specifies the size limit in megabytes per exported file (value 0 = unlimited). Please note: The size is measured on the unoptimized geometry, i.e. the final size may vary. The check is only performed per input shape.
@param intValue: the new value. [int]
setMergeNormals
setMergeNormals(self, booleanValue):
Sets MergeNormals field. Finds parallel normals (using the precision distance) and shares their index.
@param booleanValue: the new value. [True/False]
setMergeTexcoords
setMergeTexcoords(self, booleanValue):
Sets MergeTexcoords field. Finds identical texture coordinates (using the precision distance) and shares their index.
@param booleanValue: the new value. [True/False]
setMergeVertices
setMergeVertices(self, booleanValue):
Sets MergeVertices field. Finds co-incidental vertices (using the precision distance) and shares their index.
@param booleanValue: the new value. [True/False]
setMeshGranularity
setMeshGranularity(self, stringValue):
Sets MeshGranularity field. Specifies the processing of meshes.
@param stringValue: the new value ["AS_GENERATED", "PER_MATERIAL"]. [str]
setNormalPrecision
setNormalPrecision(self, floatValue):
Sets NormalPrecision field. Specifies the output precision for normals.
@param floatValue: the new value. [float]
setOutputPath
setOutputPath(self, stringValue):
Sets OutputPath field. Output directory for all exported files.
@param stringValue: the new value. [str]
setScript
setScript(self, stringValue):
Sets Script field. Python script to use for export callbacks.
@param stringValue: the new value. [str]
setShapeNameDelimiter
setShapeNameDelimiter(self, stringValue):
Sets ShapeNameDelimiter field. Delimiting character for resolution of shape name clashes.
@param stringValue: the new value. [str]
setSimplifyTerrainMeshes
setSimplifyTerrainMeshes(self, booleanValue):
Sets SimplifyTerrainMeshes field. Perform geometry simplification on terrains.
@param booleanValue: the new value. [True/False]
setTerrainLayers
setTerrainLayers(self, enumValue):
Sets TerrainLayers field. Choose how terrain layers are exported.
@param enumValue: the new value ["TERRAIN_ALL_VISIBLE", "TERRAIN_ALL_SELECTED", "TERRAIN_ALL", "TERRAIN_NONE"]. [str]
setTexcoordPrecision
setTexcoordPrecision(self, floatValue):
Sets TexcoordPrecision field. Specifies the output precision for texels.
@param floatValue: the new value. [float]
setTextureCoordinates
setTextureCoordinates(self, stringValue):
Sets TextureCoordinates field. Choose which - if any - texture coordinate layers to export.
@param stringValue: the new value ["NONE", "FIRST"]. [str]
setTriangulateMeshes
setTriangulateMeshes(self, booleanValue):
Sets TriangulateMeshes field. Triangulate resulting meshes.
@param booleanValue: the new value. [True/False]
setVertexNormals
setVertexNormals(self, stringValue):
Sets VertexNormals field. Controls the export of vertex normals.
@param stringValue: the new value ["PASS", "NONE", "SET_MISSING", "SET_ALL"]. [str]
setVertexPrecision
setVertexPrecision(self, floatValue):
Sets VertexPrecision field. Specifies the output precision for vertices.
@param floatValue: the new value. [float]
setWriteLog
setWriteLog(self, booleanValue):
Sets WriteLog field. Write log file with statistics about this export session.
@param booleanValue: the new value. [True/False]
Constants
This class defines the following constants:
AS_GENERATED = 'AS_GENERATED'
CONVERT_HOLES_TO_FACES = 'CONVERT_HOLES_TO_FACES'
DISCARD_HOLES = 'DISCARD_HOLES'
FIRST = 'FIRST'
MEMORY_BUDGET = 'MEMORY_BUDGET'
MODEL_CENTROID = 'MODEL_CENTROID'
MODEL_CENTROID_BOTTOM = 'MODEL_CENTROID_BOTTOM'
MODEL_GEOMETRY = 'MODEL_GEOMETRY'
MODEL_GEOMETRY_FALLBACK = 'MODEL_GEOMETRY_FALLBACK'
NONE = 'NONE'
OVERWRITE = 'OVERWRITE'
PASS = 'PASS'
PER_MATERIAL = 'PER_MATERIAL'
SET_ALL = 'SET_ALL'
SET_MISSING = 'SET_MISSING'
SHAPE_CENTROID = 'SHAPE_CENTROID'
SHAPE_CENTROID_BOTTOM = 'SHAPE_CENTROID_BOTTOM'
SHAPE_GEOMETRY = 'SHAPE_GEOMETRY'
SKIP = 'SKIP'
START_SHAPE = 'START_SHAPE'
TERRAIN_ALL = 'TERRAIN_ALL'
TERRAIN_ALL_SELECTED = 'TERRAIN_ALL_SELECTED'
TERRAIN_ALL_VISIBLE = 'TERRAIN_ALL_VISIBLE'
TERRAIN_NONE = 'TERRAIN_NONE'
TRIANGULATE_FACES_WITH_HOLES = 'TRIANGULATE_FACES_WITH_HOLES'