Navegue pelos nossos produtos
Aspose.3D para Java 23.12 Notas da Versão
Melhorias e Alterações
Key | Summary | Category |
---|---|---|
THREEDNET-1458 | Permitir otimizar a malha para remover pontos de controle duplicados. | Nova Funcionalidade |
THREEDNET-1468 | Permitir especificar o sistema de eixos ao exportar modelo para STL/OBJ/PLY | Nova Funcionalidade |
THREEDNET-222 | Adicionar suporte para operações booleanas complexas em malhas | Nova Funcionalidade |
THREEDNET-1441 | Permitir que a operação booleana funcione em malha ordinal | Melhoria |
THREEDNET-1451 | Exportação de texturas OBJ incorretas. | Correção de bug |
THREEDNET-1452 | Não é possível alocar memória do dispositivo GPU para textura com tamanho 8192 * 8192 | Correção de bug |
THREEDNET-1453 | Exportação de texturas GLTF incorretas. | Correção de bug |
THREEDNET-1454 | Exportação FBX - agrupamento incorreto do modelo é exportado | Correção de bug |
THREEDNET-1461 | Pontos de ligação em objetos diferentes retornam o mesmo quando os nomes das propriedades são os mesmos. | Correção de bug |
THREEDNET-1462 | Aspose.3D gera dados de animação incompatíveis | Correçã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.