Просмотрите наши продукты

Aspose.3D for Java 21,6 Примечания к выпуску

Улучшения и изменения

КлючСводкаКатегория
THREEDNET-870Добавить поддержку экспорта USDC.Новая функция
THREEDNET-891Экспозировать архивную файловую систему zipНовая функция
THREEDNET-892Разрешите экспортеру FBX встраивать текстуры во время экспорта.Новая функция
THREEDNET-895Исправлены некоторые символы в имени узла, что приведет к тому, что сгенерированный файл GLB не пройдет проверкуИсправление ошибок
THREEDNET-896Фиксированная пустая сцена не может экспортировать в допустимый файл glbИсправление ошибок
THREEDNET-890Добавить экспорт материала/текстуры в USDCУлучшение
THREEDNET-899Выставление свойства RelativeFilename для текстуры FBXУлучшение

API изменения

Добавлен USD в качестве типа экспорта

С 21,6 вы можете экспортировать сцену в файл USD по:

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

Добавлен новый класс com.aspose.threed.ZipArchiveFileSystem

Для glb/fbx и других форматов файлов, которые поддерживают встраивание текстур, можно получить доступ к внешним активам через zip-файл с помощью ZipArchiveFileSystem to SaveOptions.FileSystem.

Добавлено новое свойство в класс 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);

Код образца:

    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);


 
 Русский