ضبط الخصائص ثلاثية الأبعاد في المشاهد ثلاثية الأبعاد

مقدمة

غالبًا ما يتطلب إنشاء مشاهد ثلاثية الأبعاد آسرة القدرة على التعامل مع الخصائص المختلفة، وإضافة العمق والواقعية إلى مشاريعك. يوفر Aspose.3D for .NET مجموعة أدوات قوية لتحقيق ذلك، مما يسمح لك بتعيين وتعديل الخصائص ثلاثية الأبعاد داخل المشاهد ثلاثية الأبعاد الخاصة بك دون عناء. في هذا البرنامج التعليمي، سنستكشف العملية خطوة بخطوة، مما يعزز فهمك لكيفية الاستفادة من Aspose.3D لـ .NET بشكل فعال.

المتطلبات الأساسية

قبل الغوص في البرنامج التعليمي، تأكد من أن لديك المتطلبات الأساسية التالية:

  • Aspose.3D لـ .NET: تأكد من تثبيت المكتبة في مشروع .NET الخاص بك. يمكنك تنزيله هنا .

  • دليل المستندات: قم بإنشاء دليل لتخزين مستنداتك ثلاثية الأبعاد.

الآن بعد أن أصبحت لديك الأساسيات، دعنا نستكشف عملية تعيين الخصائص ثلاثية الأبعاد في المشاهد ثلاثية الأبعاد باستخدام Aspose.3D لـ .NET.

استيراد مساحات الأسماء

للبدء، قم باستيراد مساحات الأسماء الضرورية إلى مشروعك. توفر مساحات الأسماء هذه الفئات والأساليب المطلوبة للعمل مع الخصائص ثلاثية الأبعاد في Aspose.3D لـ .NET.

using Aspose.ThreeD;
using Aspose.ThreeD.Shading;
using Aspose.ThreeD.Utilities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

الخطوة 1: تحميل المشهد ثلاثي الأبعاد

ابدأ بتحميل مشهد ثلاثي الأبعاد. في هذا المثال، نستخدم ملف FBX مع مادة مضمنة.

//ExStart: Load3DScene
string dataDir = "Your Document Directory";
Scene scene = new Scene(dataDir + "EmbeddedTexture.fbx");
//النهاية: Load3DScene

الخطوة 2: الوصول إلى خصائص المواد

قم بالوصول إلى خصائص المواد للمشهد ثلاثي الأبعاد المحمل لمعالجة خصائصه.

//ExStart: AccessMaterialProperties
Material material = scene.RootNode.ChildNodes[0].Material;
PropertyCollection props = material.Properties;
//ExEnd: AccessMaterialProperties

الخطوة 3: قائمة كافة الخصائص

قم بإدراج جميع خصائص المادة باستخدام حلقة foreach أو حلقة for ترتيبية.

//ExStart: ListAllProperties
foreach (var prop in props)
{
    Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}

//أو باستخدام الترتيبي للحلقة
for (int i = 0; i < props.Count; i++)
{
    var prop = props[i];
    Console.WriteLine("{0} = {1}", prop.Name, prop.Value);
}
//ExEnd: ListAllProperties

الخطوة 4: الحصول على الخاصية وتعديلها حسب الاسم

استرداد وتعديل خاصية معينة حسب اسمها.

//ExStart: GetModifyPropertyByName
var diffuse = props["Diffuse"];
Console.WriteLine(diffuse);

//تعديل قيمة الخاصية بالاسم
props["Diffuse"] = new Vector3(1, 0, 1);
//ExEnd: GetModifyPropertyByName

الخطوة 5: الحصول على مثيل الخاصية بالاسم

قم باسترداد نسخة خاصية باسمها لمزيد من المعالجة.

//ExStart: GetPropertyInstanceByName
Property pdiffuse = props.FindProperty("Diffuse");
Console.WriteLine(pdiffuse);
//ExEnd: GetPropertyInstanceByName

الخطوة 6: اجتياز خصائص الملكية

منذProperty ورثت منA3DObject، يمكنك اجتياز خصائص العقار.

//ExStart: TraversePropertyProperties
Console.WriteLine("Property flags = {0}", pdiffuse.GetProperty("flags"));

//وبعض الخصائص المحددة فقط في ملف FBX:
Console.WriteLine("Label = {0}", pdiffuse.GetProperty("label"));
Console.WriteLine("Type Name = {0}", pdiffuse.GetProperty("typeName"));

//من الممكن اجتياز ممتلكات العقار
foreach (var pp in pdiffuse.Properties)
{
    Console.WriteLine("Diffuse.{0} = {1}", pp.Name, pp.Value);
}
//ExEnd: TraversePropertyProperties

خاتمة

تهانينا! لقد أتقنت الآن فن تعيين الخصائص ثلاثية الأبعاد في المشاهد ثلاثية الأبعاد باستخدام Aspose.3D لـ .NET. قم بتجربة خصائص وقيم مختلفة لإضفاء الحيوية على مشاريعك ثلاثية الأبعاد.

الأسئلة الشائعة

س 1: هل يمكنني استخدام Aspose.3D لـ .NET مع تنسيقات ملفات ثلاثية الأبعاد أخرى؟

ج1: نعم، يدعم Aspose.3D العديد من تنسيقات الملفات ثلاثية الأبعاد، بما في ذلك FBX وSTL وغيرها الكثير.

س2: كيف يمكنني الحصول على ترخيص مؤقت لـ Aspose.3D لـ .NET؟

ج2: زيارة هنا للحصول على ترخيص مؤقت.

س3: هل يوجد منتدى مجتمعي لمستخدمي Aspose.3D؟

ج3: نعم، يمكنك العثور على الدعم والمناقشات على منتدى Aspose.3D .

س4: أين يمكنني العثور على الوثائق التفصيلية لـ Aspose.3D لـ .NET؟

ج4: راجع توثيق للحصول على إرشادات شاملة.

س5: هل يمكنني تجربة Aspose.3D لـ .NET مجانًا قبل الشراء؟

ج5: بالتأكيد! تحميل نسخة تجريبية مجانية لاستكشاف ميزاته.