Ürünlerimize göz atın

Aspose.3D for Node.js via Java 24.1 Yayın Notları

Geliştirmeler ve Değişiklikler

AnahtarÖzetKategori
THREEDNET-1458Optimize edilmiş ağ, yinelenen kontrol noktalarını kaldırmak için izin verin.Yeni Özellik
THREEDNET-1468Modeli STL/OBJ/PLY’ye aktarırken eksen sistemini belirtme izni verinYeni Özellik
THREEDNET-222Karmaşık örgü işlemleri desteği ekleyinYeni Özellik
THREEDNET-1441Boolean işlemi, sıralı ağ üzerinde çalışabilirİyileştirme
THREEDNET-1451OBJ aktarımı yanlış dokular.Hata düzeltme
THREEDNET-1452Dokusu 8192 * 8192 boyutu olan bir cihaz belleği GPU için ayrılamıyorHata düzeltme
THREEDNET-1453GLTF aktarımı yanlış dokular.Hata düzeltme
THREEDNET-1454FBX aktarımı - yanlış model gruplandırması aktarımıHata düzeltme
THREEDNET-1461Farklı nesnelerdeki bağlama noktaları, özellik adları aynı olduğunda aynı değerleri döndürür.Hata düzeltme
THREEDNET-1462Aspose.3D uyumsuz animasyon verisi oluşturuyorHata düzeltme

API Değişiklikleri

com.aspose.threed.AxisSystem sınıfı eklendi

Belirli dosya biçimleri olan OBJ, STL ve PLY, aktarım işlemi sırasında koordinat sistemini, yukarı vektörünü ve ön vektörünü tanımlamanıza olanak tanır. Bu bilgiyi sağlamak ve buna göre yapılandırmak için bu sınıfı kullanabilirsiniz.

com.aspose.threed.CoordinatedSystem sınıfı com.aspose.threed.CoordinateSystem olarak yeniden adlandırıldı

com.aspose.threed.AnimationNode sınıfına üyeler eklendi:

    /**
     * Hedef ve ada göre bağlama noktasını bulur.
     * @param target Bulunacak bağlama noktasının hedefi.
     * @param name Bulunacak bağlama noktasının adı.
     * @return Bağlama noktası.
     */
    public BindPoint findBindPoint(A3DObject target, String name)

Güncellenen aşırı yüklemeler artık hem hedefi hem de adı belirtmenize olanak tanırken, önceki uygulama yalnızca sağlanan ada göre bir arama yapıyordu.

com.aspose.threed.AssetInfo sınıfına üyeler eklendi:

    /**
     * Bu varlıkta kullanılan ön vektörü alır.
     */
    public Axis getFrontVector()
    
    /**
     * Bu varlıkta kullanılan ön vektörü ayarlar.
     * @param value Yeni değer
     */
    public void setFrontVector(Axis value)
    
    /**
     * Varlık bilgisinin koordinat sistemini/yukarı vektörünü/ön vektörünü alır.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Varlık bilgisinin koordinat sistemini/yukarı vektörünü/ön vektörünü ayarlar.
     * @param value Yeni değer
     */
    public void setAxisSystem(AxisSystem value)

FBX gibi bazı formatlar, FBX dosyasının içinde özel ön vektör tanımlayabilir.

com.aspose.threed.Axis sınıfına üyeler eklendi:

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

Eklenen enum değerleri, eksen sistemi oluştururken eksenlerin yönü için daha kesin bir belirtim sunar.

com.aspose.threed.BoneLinkMode sınıfı eklendi

com.aspose.threed.Bone sınıfına üyeler eklendi:

    /**
     * Bir kemiğin bağlantı modu, hiyerarşik bir yapı içindeki bir kemiğin ebeveyn kemiğe nasıl bağlandığını veya bağlandığını ifade eder.
     */
    public BoneLinkMode getLinkMode()
    
    /**
     * Bir kemiğin bağlantı modu, hiyerarşik bir yapı içindeki bir kemiğin ebeveyn kemiğe nasıl bağlandığını veya bağlandığını ifade eder.
     * @param value Yeni değer
     */
    public void setLinkMode(BoneLinkMode value)

Bağlantı Modu özelliği, uygulamadaki FBX uyumlu bağlantı modları için kemik sağlar.

Örnek kod

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

com.aspose.threed.Mesh sınıfına üyeler eklendi:

    /**
     * Yinelenen kontrol noktalarını ortadan kaldırarak ağın bellek kullanımını optimize edin
     * @param vertexElements Yinelenen köşe elemanı verilerini optimize edin
     * @return Kompakt bellek kullanımı olan yeni ağ örneği
     */
    public Mesh optimize(boolean vertexElements)

Örnek kod

        Mesh mesh = (new Box()).toMesh();
        // 1341 bayt, 24 köşe,  24 normal, 24 doku koordinatı,
        (new Scene(mesh)).save("unoptimized.obj");

        // Yinelenen kontrol noktalarını ve köşe elemanı verilerini ortadan kaldırarak aynı vektörü yeniden kullanın.
        Mesh optimizedMesh = mesh.optimize(true);
        // 640 bayt, 8 köşe,  6 normal, 4 doku koordinatı
        (new Scene(optimizedMesh)).save("optimized.obj");

com.aspose.threed.ObjSaveOptions sınıfına üyeler eklendi:

    /**
     * Aktarılan dosyada kullanılan eksen sistemini alır.
     */
    public AxisSystem getAxisSystem()
    
    /**
     * Aktarılan dosyada kullanılan eksen sistemini ayarlar.
     * @param value Yeni değer
     */
    public void setAxisSystem(AxisSystem value)

Bir sahneyi özel bir eksen sistemi kullanırken bir OBJ dosyasına dönüştürmek için örnek kod.

Örnek kod

        StlSaveOptions opt = new StlSaveOptions();
        opt.setAxisSystem(new AxisSystem(CoordinateSystem.RIGHT_HANDED, Axis.Y_AXIS, Axis.X_AXIS));
        opt.setFlipCoordinateSystem(true);
        scene.save("test.stl", opt);

com.aspose.threed.Transform sınıfına üyeler eklendi:

    /**
     * Ölçeği alır
     */
    public Vector3 getScaling()
    
    /**
     * Ölçeği ayarlar
     * @param value Yeni değer
     */
    public void setScaling(Vector3 value)
    
    /**
     * Ölçek ofseti alır
     */
    public Vector3 getScalingOffset()
    
    /**
     * Ölçek ofseti ayarlar
     * @param value Yeni değer
     */
    public void setScalingOffset(Vector3 value)

    /**
     * Döner ofseti alır
     */
    public Vector3 getRotationOffset()
    
    /**
     * Döner ofseti ayarlar
     * @param value Yeni değer
     */
    public void setRotationOffset(Vector3 value)

ÖlçekOfset, ÖlçekPivot, DönerOfset ve DönerPivot özellikleri, daha hassas bir dönüş ve ölçek tanımı sağlayarak Maya/3ds Max standartlarıyla uyumluluğu sağlar.


 
 Türkçe