Browse our Products

Aspose.3D for Java 21.6 Release Notes

Improvements and Changes

KeySummaryCategory
THREEDNET-870Add USDC export support.New Feature
THREEDNET-891Expose zip archive file systemNew Feature
THREEDNET-892Allow FBX exporter to embed textures during the export.New feature
THREEDNET-895Fixed some characters in node’s name will cause generated GLB file failed to pass validationBug fix
THREEDNET-896Fixed empty scene cannot export to a valid glb fileBug fix
THREEDNET-890Add material/texture export in USDCImprovement
THREEDNET-899Expose the property of RelativeFilename for FBX TextureImprovement

API changes

Added USD as export type

From 21.6 you can export scene into a USD file by:

    Scene scene = new Scene();
    //...prepare your scene
    scene.save("test.usd", FileFormat.USD);

Added new class com.aspose.threed.ZipArchiveFileSystem

It’s possible for glb/fbx and other file formats that supports texture embedding to access external assets through a zip file by using a ZipArchiveFileSystem to SaveOptions.FileSystem.

Added new property to class com.aspose.threed.FbxSaveOptions

    /**
     * Gets whether to embed the texture to the final output file.
     * FBX Exporter will try to find the texture's raw data from {@link com.aspose.threed.IOConfig#getFileSystem}, and embed the file to final FBX file.
     * Default value is false.
     */
    public boolean getEmbedTextures();
    
    /**
     * Sets whether to embed the texture to the final output file.
     * FBX Exporter will try to find the texture's raw data from {@link com.aspose.threed.IOConfig#getFileSystem}, and embed the file to final FBX file.
     * Default value is false.
     * @param value New value
     */
    public void setEmbedTextures(boolean value);

Sample code:

    var scene = new Scene();
    var opt = new FbxSaveOptions(FileFormat.FBX7700ASCII);
    opt.setEmbedTextures(true);
    var tex = new Texture();
    tex.setFileName("test.png");
    var mat = new PhongMaterial();
    mat.setTexture(Material.MAP_DIFFUSE, tex);
    var planeNode = scene.getRootNode().createChildNode(new Plane());
    planeNode.setMaterial(mat);
    scene.save("plane-with-texture.fbx", opt);


 
 English