Anda dapat membagi semua mata jaring adegan 3D menjadi beberapa mata jaring. Demikian juga, Anda dapat menggabungkan beberapa mesh menjadi satu mesh secara terprogram menggunakan C#. Artikel ini membahas pemisahan dan penggabungan jerat 3D dalam berbagai skenario:
- 3D Scene Meshes Splitter atau Merger – Instalasi C# API
- Pisahkan Jaring Adegan Per Materi Secara terprogram menggunakan C #
- Pisahkan Mesh dengan Bahan Tertentu Secara terprogram menggunakan C#
- Menggabungkan Jala dalam file 3D menjadi Jala Tunggal Secara terprogram dalam C#
3D Scene Meshes Splitter atau Merger – Instalasi C# API
Aspose.3D for .NET API dapat digunakan untuk membagi atau menggabungkan jaring 3D secara terprogram menggunakan C#. Anda dapat mengonfigurasi API dengan menginstalnya dari bagian Downloads, atau dengan perintah instalasi NuGet di bawah ini:
PM> Install-Package Aspose.3D
Pisahkan Jaring Adegan Per Materi Secara terprogram menggunakan C
File 3D seperti format FBX dapat berisi beberapa jaring adegan. Anda dapat membagi semua mata jaring menjadi beberapa sub mata jaring per bahan jika mata jaring belum diberi satu bahan. Silakan ikuti langkah-langkah di bawah ini untuk memisahkan jaring adegan per materi:
- Muat file 3D masukan.
- Pisahkan semua mesh dengan metode SplitMesh.
- Simpan file keluaran dengan jaring yang dibelah.
Kode berikut menunjukkan cara membagi jaring adegan per materi secara terprogram menggunakan C#:
// Muat masukan file FBX 3D
Scene scene = new Scene("test.fbx");
// Pisahkan semua jerat
PolygonModifier.SplitMesh(scene, SplitMeshPolicy.CloneData);
// Simpan file keluaran dengan jaring yang dipisah
scene.Save("test-splitted.fbx", FileFormat.FBX7500ASCII);
Pisahkan Mesh dengan Bahan Tertentu Secara terprogram menggunakan C#
Anda dapat memisahkan mesh dengan menentukan material secara manual. Dengan cara ini, Anda dapat membuat beberapa objek yang hanya berisi satu materi. Untuk tujuan demonstrasi, kode di bawah ini membuat jaring kotak dengan 6 bidang. Kemudian Anda akan memisahkan mesh primitif dengan menentukan material secara manual menggunakan langkah-langkah berikut:
- Buat jaring kotak dengan enam bidang.
- Kedua, buat elemen material dan tentukan indeks untuk setiap bidang.
- Pisahkan Mesh menggunakan pencacahan SplitMeshPolicy.
Kode di bawah ini menjelaskan cara membagi jaring dengan bahan tertentu secara terprogram menggunakan C#:
// Buat jaring kotak (Sebuah kotak terdiri dari 6 bidang)
Mesh box = (new Box()).ToMesh();
// Buat elemen material pada jala ini
VertexElementMaterial mat = (VertexElementMaterial)box.CreateElement(VertexElementType.Material, MappingMode.Polygon, ReferenceMode.Index);
// Dan tentukan indeks material yang berbeda untuk setiap pesawat
mat.Indices.AddRange(new int[] { 0, 1, 2, 3, 4, 5 });
// Sekarang pisahkan menjadi 6 sub jaring, kami menentukan 6 bahan berbeda di setiap bidang, setiap bidang akan menjadi sub jaring.
// Kami menggunakan kebijakan CloneData, setiap bidang akan memiliki informasi titik kontrol yang sama atau informasi elemen simpul berbasis titik kontrol.
Mesh[] planes = PolygonModifier.SplitMesh(box, SplitMeshPolicy.CloneData);
mat.Indices.Clear();
mat.Indices.AddRange(new int[] { 0, 0, 0, 1, 1, 1 });
// Sekarang pisahkan menjadi 2 sub mata jaring, mata jaring pertama akan berisi 0/1/2 bidang, dan mata jaring kedua akan berisi bidang 3/4/5.
// Kami menggunakan kebijakan CompactData, setiap bidang akan memiliki informasi titik kontrolnya sendiri atau informasi elemen titik berbasis titik kontrol.
planes = PolygonModifier.SplitMesh(box, SplitMeshPolicy.CompactData);
Menggabungkan Jala dalam file 3D menjadi Jala Tunggal Secara terprogram dalam C#
Anda dapat menggabungkan jaring yang berbeda menjadi satu jaring yang valid dengan langkah-langkah di bawah ini:
- Muat file adegan 3D masukan.
- Menggabungkan semua jerat.
- Terakhir, enkode mesh gabungan.
Kode berikut menjelaskan cara menggabungkan mesh menjadi satu mesh secara terprogram menggunakan C#:
// Muat adegan 3D masukan
Scene scene = new Scene("LAD-TOP.rvm");
// Menggabungkan semua jerat
Mesh mesh = PolygonModifier.MergeMesh(scene);
// Enkode jala ini ke dalam format PLY
FileFormat.PLY.Encode(mesh, "LAD-TOP.ply");
Dapatkan Lisensi Sementara Gratis
Anda bisa mendapatkan Lisensi Evaluasi Gratis untuk menguji API tanpa batasan apa pun.
Kesimpulan
Sebagai kesimpulan, Anda telah mempelajari cara menggabungkan atau memisahkan jaring adegan 3D. API memaparkan berbagai metode untuk memisahkan atau menggabungkan satu atau beberapa jaring, yang dapat Anda manfaatkan sesuai kebutuhan Anda. Selain itu, silakan kunjungi Dokumentasi di mana beberapa fitur lainnya juga dijelaskan. Silakan hubungi kami di Forum Dukungan Gratis jika ada pertanyaan.