Navegue pelos nossos produtos

Aspose.3D para Java 23.12 Notas da Versão

Melhorias e Alterações

KeySummaryCategory
THREEDNET-1458Permitir otimizar a malha para remover pontos de controle duplicados.Nova Funcionalidade
THREEDNET-1468Permitir especificar o sistema de eixos ao exportar modelo para STL/OBJ/PLYNova Funcionalidade
THREEDNET-222Adicionar suporte para operações booleanas complexas em malhasNova Funcionalidade
THREEDNET-1441Permitir que a operação booleana funcione em malha ordinalMelhoria
THREEDNET-1451Exportação de texturas OBJ incorretas.Correção de bug
THREEDNET-1452Não é possível alocar memória do dispositivo GPU para textura com tamanho 8192 * 8192Correção de bug
THREEDNET-1453Exportação de texturas GLTF incorretas.Correção de bug
THREEDNET-1454Exportação FBX - agrupamento incorreto do modelo é exportadoCorreção de bug
THREEDNET-1461Pontos de ligação em objetos diferentes retornam o mesmo quando os nomes das propriedades são os mesmos.Correção de bug
THREEDNET-1462Aspose.3D gera dados de animação incompatíveisCorreção de bug

Alterações na API

Classe adicionada com.aspose.threed.AxisSystem

Certos formatos de arquivo, como OBJ, STL e PLY, permitem que você defina o sistema de coordenadas, vetor para cima e vetor frontal durante o processo de exportação. Você pode usar esta classe para fornecer e configurar essas informações de acordo.

Classe renomeada com.aspose.threed.CoordinatedSystem para com.aspose.threed.CoordinateSystem

Membros adicionados à classe com.aspose.threed.AnimationNode:

    /**
     * Encontra o ponto de ligação por alvo e nome.
     * @param target Alvo do ponto de ligação a ser encontrado.
     * @param name Nome do ponto de ligação a ser encontrado.
     * @return O ponto de ligação.
     */
    public BindPoint findBindPoint(A3DObject target, String name)

As sobrecargas atualizadas agora permitem que você especifique tanto o alvo quanto o nome, enquanto a implementação anterior realizava uma pesquisa apenas com base no nome fornecido.

Membros adicionados à classe com.aspose.threed.AssetInfo:

    /**
     * Obtém o vetor frontal usado neste ativo.
     */
    public Axis getFrontVector()
    
    /**
     * Define o vetor frontal usado neste ativo.
     * @param value Novo valor
     */
    public void setFrontVector(Axis value)
    
    /**
     * Obtém o sistema de coordenadas/vetor para cima/vetor frontal das informações do ativo.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Define o sistema de coordenadas/vetor para cima/vetor frontal das informações do ativo.
     * @param value Novo valor
     */
    public void setAxisSystem(AxisSystem value)

Alguns formatos, como FBX, podem definir um vetor frontal personalizado dentro do arquivo FBX.

Membros adicionados à classe com.aspose.threed.Axis:

    /**
     * O eixo -X.
     */
    NEGATIVE_X_AXIS,
    /**
     * O eixo -Y.
     */
    NEGATIVE_Y_AXIS,
    /**
     * O eixo -Z.
     */
    NEGATIVE_Z_AXIS;

Os valores enum adicionais agora oferecem uma especificação mais precisa da direção para os eixos ao construir um sistema de eixos.

Classe adicionada com.aspose.threed.BoneLinkMode

Membros adicionados à classe com.aspose.threed.Bone:

    /**
     * O modo de ligação de um osso se refere à maneira como um osso está conectado ou ligado ao seu osso pai dentro de uma estrutura hierárquica.
     */
    public BoneLinkMode getLinkMode()
    
    /**
     * O modo de ligação de um osso se refere à maneira como um osso está conectado ou ligado ao seu osso pai dentro de uma estrutura hierárquica.
     * @param value Novo valor
     */
    public void setLinkMode(BoneLinkMode value)

O recurso LinkMode oferece modos de ligação compatíveis com FBX para ossos no contexto da aplicação.

Código de exemplo

        Bone boneToLimbNode1 = new Bone("");
        bone.setNode(limbNode1);
        bone.setLinkMode(BoneLinkMode.TOTAL_ONE);

Membros adicionados à classe com.aspose.threed.Mesh:

    /**
     * Otimize o uso de memória da malha eliminando pontos de controle duplicados
     * @param vertexElements Otimize dados duplicados do elemento de vértice
     * @return Nova instância de malha com uso compacto de memória
     */
    public Mesh optimize(boolean vertexElements)

Código de exemplo

        Mesh mesh = (new Box()).toMesh();
        // 1341 bytes, 24 vértices,  24 normais, 24 coordenadas de textura,
        (new Scene(mesh)).save("unoptimized.obj");

        // Elimine os pontos de controle duplicados e dados do elemento de vértice reutilizando o mesmo vetor.
        Mesh optimizedMesh = mesh.optimize(true);
        // 640 bytes, 8 vértices,  6 normais, 4 coordenadas de textura
        (new Scene(optimizedMesh)).save("optimized.obj");

Membros adicionados à classe com.aspose.threed.ObjSaveOptions:

    /**
     * Obtém o sistema de eixos no arquivo exportado.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Define o sistema de eixos no arquivo exportado.
     * @param value Novo valor
     */
    public void setAxisSystem(AxisSystem value)

Código de exemplo para converter uma cena em um arquivo OBJ enquanto utiliza um sistema de eixos personalizado.

Código de exemplo

        Scene scene = Scene.fromFile("input.fbx");
        ObjSaveOptions opt = new ObjSaveOptions();
        opt.setAxisSystem(new AxisSystem(CoordinateSystem.RIGHT_HANDED, Axis.Y_AXIS, Axis.X_AXIS));
        opt.setFlipCoordinateSystem(true);
        scene.save("test.obj", opt);

Membros adicionados à classe com.aspose.threed.Transform:

    /**
     * Obtém a escala
     */
    public Vector3 getScaling()
    
    /**
     * Define a escala
     * @param value Novo valor
     */
    public void setScaling(Vector3 value)
    
    /**
     * Obtém o deslocamento da escala
     */
    public Vector3 getScalingOffset()
    
    /**
     * Define o deslocamento da escala
     * @param value Novo valor
     */
    public void setScalingOffset(Vector3 value)

    /**
     * Obtém o deslocamento da rotação
     */
    public Vector3 getRotationOffset()
    
    /**
     * Define o deslocamento da rotação
     * @param value Novo valor
     */
    public void setRotationOffset(Vector3 value)

As propriedades ScalingOffset, ScalingPivot, RotationOffset e RotationPivot permitem uma definição mais precisa da rotação e da escala, garantindo a compatibilidade com os padrões Maya/3ds Max.


 
 Português