Jelajahi Produk kami

Catatan Rilis Aspose.3D untuk Node.js melalui Java 24.2

Peningkatan dan Perubahan

KeyRingkasanKategori
THREEDJAVA-329Tambahkan InputStream/OutputStream asli untuk operasi IO ScenePeningkatan
THREEDNET-1499OBJ ke GLTF - sejumlah besar vertexPeningkatan
THREEDNET-1509Tingkatkan dukungan .net 1.0 ke .net 8.0Peningkatan
THREEDNET-1460Node kerangka yang diekspor dari Fbx tidak memiliki transformasi tetapi memiliki pose sebagai gantinyaPerbaikan bug
THREEDNET-1494Menambahkan dukungan ekstensi KHR_mesh_quantization saat mengimpor GLTFPerbaikan bug
THREEDNET-1495Mengekspor animasi dari GLB ke FBX dapat menyebabkan Slerp gagalPerbaikan bug
THREEDNET-1496Tipe atribut yang tidak didukung dapat menyebabkan pengimpor Maya berhentiPerbaikan bug
THREEDNET-1497Primitive tanpa nilai properti yang valid dapat gagal dimuat di USDPerbaikan bug
THREEDNET-1498Masalah referensi eksternal 3MF di elemen buildPerbaikan bug
THREEDNJS-115Menambahkan metode ’toRadian’ ke MathUtils di Node.jsPeningkatan

Perubahan API

Versi ini terutama versi perbaikan bug, beberapa perubahan API:

Ditambahkan anggota ke kelas com.aspose.threed.Mesh:

    /**
     *  Mengembalikan mesh yang diretriangulasi
     *
     * @return Mesh saat ini jika mesh saat ini sudah diretriangulasi, jika tidak mesh baru akan dihitung dan dikembalikan
     *
     */
    public Mesh triangulate()

Fungsi ini memungkinkan Anda untuk meretriangulasi mesh dengan cara sederhana.

Contoh kode

        //Mesh plane hanya memiliki satu poligon dengan 4 titik kontrol
        Mesh mesh = (new Plane()).toMesh();
        //Setelah diretriangulasi, persegi panjang mesh baru akan menjadi 2 segitiga.
        Mesh triangulated = mesh.triangulate();

Ditambahkan anggota ke kelas com.aspose.threed.TriMesh:

    /**
     *  Menambahkan segitiga baru
     *
     * @param a Indeks vertex pertama
     * @param b Indeks vertex kedua
     * @param c Indeks vertex ketiga
     */
    public void addTriangle(int a, int b, int c);

    /**    
     * Menulis data vertex ke stream yang ditentukan    
     *    
     * @param stream Stream tempat data vertex akan ditulis    
     */    
    public void writeVerticesTo(OutputStream stream)    throws IOException;

    /**    
     * Menulis data indeks sebagai integer 16bit ke stream    
     *    
     * @param stream     
     * </pre>    
     *    
     */    
    public void write16bIndicesTo(OutputStream stream)    throws IOException;
        
    /**    
     * Menulis data indeks sebagai integer 32bit ke stream    
     *    
     * @param stream     
     */    
    public void write32bIndicesTo(OutputStream stream)    throws IOException;

Fungsi ini memungkinkan Anda untuk secara manual menambahkan segitiga ke TriMesh.

Contoh kode


  int[] indices = new int[] { 0,  1,  2 };
  byte[] vertices = new byte[]{
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 191,
      0, 0, 0, 191,
      0, 0, 0, 0,
      0, 0, 0, 63,
      0, 0, 0, 63,
      0, 0, 0, 0,
      0, 0, 0, 63
  };

  VertexDeclaration vd = new VertexDeclaration();
  vd.addField(VertexFieldDataType.F_VECTOR3, VertexFieldSemantic.POSITION);
  //buat TriMesh kosong dengan deklarasi vertex yang ditentukan
  var triMesh = new TriMesh("", vd);
  //memuat vertex langsung dari byte
  triMesh.loadVerticesFromBytes(vertices);
  triMesh.addTriangle(0, 1, 2);

Ditambahkan anggota ke kelas com.aspose.threed.Scene:

    /**    
     *  Membuka scene dari stream yang diberikan menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param format Format file.    
     * @param cancellationToken Token pembatalan ke tugas pemuatan    
     *    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Membuka scene dari stream yang diberikan menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param format Format file.    
     */    
    public static Scene fromStream(InputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Membuka scene dari stream yang diberikan menggunakan konfigurasi IO yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param options Konfigurasi yang lebih rinci untuk membuka stream.    
     * @param cancellationToken Token pembatalan ke tugas pemuatan    
     */    
    public static Scene fromStream(InputStream stream, LoadOptions options, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Membuka scene dari stream yang diberikan menggunakan konfigurasi IO yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param options Konfigurasi yang lebih rinci untuk membuka stream.    
     */    
    public void open(InputStream stream, LoadOptions options)    
            throws IOException    
    /**    
     *   Membuka scene dari stream yang diberikan    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     */    
    public void open(InputStream stream)    
            throws IOException    
    /**    
     *  Menyimpan scene ke stream menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param format Format.    
     */    
    public void save(OutputStream stream, FileFormat format)    
            throws IOException    
    /**    
     *  Menyimpan scene ke stream menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param format Format.    
     * @param cancellationToken Token pembatalan ke tugas penyimpanan    
     */    
    public void save(OutputStream stream, FileFormat format, Cancellation cancellationToken)    
            throws IOException    
    /**    
     *  Menyimpan scene ke stream menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param options Opsi yang lebih rinci untuk menyimpan stream.    
     */    
    public void save(OutputStream stream, SaveOptions options)    
            throws IOException    
    /**    
     *  Menyimpan scene ke stream menggunakan format file yang ditentukan.    
     *    
     * @param stream Input stream, pengguna bertanggung jawab untuk menutup stream.    
     * @param options Opsi yang lebih rinci untuk menyimpan stream.    
     * @param cancellationToken Token pembatalan ke tugas penyimpanan    
     */    
    public void save(OutputStream stream, SaveOptions options, Cancellation cancellationToken)    
            throws IOException    

Ada hanya versi Stream dari simpan/buka/dariStream sebelumnya, sekarang kami mendukung InputStream/OutputStream dari JDK.


 
 Indonesia