Aspose.3D for Java 22.8 Release Notes

Improvements and Changes

KeySummaryCategory
THREEDNET-1175Fix release package file issues.Task
THREEDNET-1183Fix default installation directory of MSI packageTask
THREEDNET-1176Node with geometry translation cannot be handled properly in USDZ exporter.Bug fixing
THREEDNET-1179Aspose.3D 22.5: Exception when trying to load Vrml fileBug fixing
THREEDNET-1181Aspose.3D 22.5: Cannot convert USD to 3DSBug fixing
THREEDNET-1184AccessViolationException on some GLTF files.Bug fixing
THREEDNET-1186Add custom xform operator support in USD/USDZ importerImprovement
THREEDNET-1187Material is not working in generated USD/USDZ file.Bug fixing
THREEDNET-1188Material attributes are not exported when no texture attachedBug fixing
THREEDNET-1189Models converted from FBX to USDZ are all blackBug fixing
THREEDNET-1190Add MaterialConverter for USD/USDZ exporterImprovement
THREEDNET-1191Viewer throw exception when two primitives attached to one node.Bug fixing
THREEDNET-1192InitializationException during the initialization of render windowBug fixing
THREEDNET-1194FBX Exceptions: The given key ‘OSL’ was not present in the dictionaryBug fixing
THREEDNET-1195GLTF Exception: Input string was not in a correct format.Bug fixing
THREEDNET-1196GLTF Exception: Aspose.ThreeD.Utilities.UnexpectedTokenException: ‘Unexpected token ‘NaN’’Bug fixing
THREEDNET-1197GLTF Exception: System.ArgumentException: ‘An item with the same key has already been added. Key: pcInfoFieldName’Bug fixing
THREEDNET-1198FBX Exception: Aspose.ThreeD.ImportException: ‘Illegal property MultiLayer while deserializing Aspose.ThreeD.Entities.NullNode Armature’Bug fixing
THREEDNET-1199FBX Exception: System.InvalidCastException: ‘Unable to cast object of type ‘System.Single[]’ to type ‘Aspose.ThreeD.Utilities.DoubleList’.’Bug fixing
THREEDNET-1200USD Exception: Data type UsdTimeCode is not supportedBug fixing
THREEDNET-1201USD Exception: UsdQuatf is not implemented.Bug fixing
THREEDNET-1202USD Exception: UsdVec3h is not supportedBug fixing
THREEDNET-1203USD Exception: Inlined dictionary type is not implementedBug fixing
THREEDNET-1204USD Exception: Vec2d is not supportedBug fixing
THREEDNET-1205USD Exception: Cannot open this fileBug fixing
THREEDNET-1206USD Exception: Duplicated specifier for SdfPathBug fixing
THREEDNET-1207USD Exception: xformOp:orient is not supported.Bug fixing
THREEDNET-1208External draco encoder is not working.Bug fixing
THREEDNET-1209DAE Save to USD Exception: System.IndexOutOfRangeException: ‘Index was outside the bounds of the array.’Bug fixing

This version fixed a lot of bugs and does not have major API changes.

API changes

Added new methods in class com.aspose.threed.UsdSaveOptions:

    /**
     * Custom converter to convert the geometry's material to PBR material
     * If this is unassigned, USD exporter will automatically convert the standard material to PBR material.
     * Default value is null
     */
    public MaterialConverter getMaterialConverter();
    /**
     * Custom converter to convert the geometry's material to PBR material
     * If this is unassigned, USD exporter will automatically convert the standard material to PBR material.
     * Default value is null
     * @param value New value
     */
    public void setMaterialConverter(MaterialConverter value);

Aspose.3D has a built-in implementation to convert non PBR material to PBR material for glTF/USD/USD formats, but we also provide custom implementation to make the conversion.

Properties updated to support new FBX material definitions:

Old definitions:

    /**
     * Gets the shader language used by this technique.
     */
    public ShadingLanguage getShaderLanguage();
    
    /**
     * Sets the shader language used by this technique.
     * @param value New value
     */
    public void setShaderLanguage(ShadingLanguage value);
    /**
     * Gets the rendering API used by this technique
     */
    public RenderingAPI getRenderAPI();
    
    /**
     * Sets the rendering API used by this technique
     * @param value New value
     */
    public void setRenderAPI(RenderingAPI value);

New definitions:

    /**
     * Gets the shader language used by this technique.
     */
    public String getShaderLanguage();
    
    /**
     * Sets the shader language used by this technique.
     * @param value New value
     */
    public void setShaderLanguage(String value);
    /**
     * Gets the rendering API used by this technique
     */
    public String getRenderAPI();
    
    /**
     * Sets the rendering API used by this technique
     * @param value New value
     */
    public void setRenderAPI(String value);