إنشاء مشهد ثلاثي الأبعاد باستخدام C#

المشهد ثلاثي الأبعاد البسيط هو تمثيل رسومي ثلاثي الأبعاد للبيانات الهندسية. في هذه المقالة ، سوف نتعلم كيفية إنشاء مشهد ثلاثي الأبعاد باستخدام C# من البداية دون الحاجة إلى تثبيت أي برنامج لعرض النماذج أو النماذج ثلاثية الأبعاد. سنحفظ المشهد ثلاثي الأبعاد بتنسيق ملف FBX ، وهو تنسيق ملف ثلاثي الأبعاد شائع يستخدم لتبادل التنسيقات ثلاثية الأبعاد. يمكن حفظ FBX على قرص إما كملف بيانات ثنائي أو ملف ASCII.

سيتم تناول الموضوعات التالية في هذه المقالة:

  1. C# API لإنشاء مشهد ثلاثي الأبعاد - تنزيل مجاني
  2. إنشاء مشهد بسيط ثلاثي الأبعاد في C#
  3. قراءة المشهد ثلاثي الأبعاد باستخدام C#

C# API لإنشاء مشهد ثلاثي الأبعاد - تنزيل مجاني

لإنشاء وقراءة مشهد ثلاثي الأبعاد ، سنستخدم Aspose.3D for .NET API. يسمح بإنشاء وحفظ مشهد ثلاثي الأبعاد في التنسيقات المدعومة. كما أنها تمكن من العمل مع الهندسة والتسلسل الهرمي للمشهد وتحريك الكائنات في المشهد وتحويل تنسيقات الملفات ثلاثية الأبعاد.

توفر واجهة برمجة التطبيقات Scene فئة وهي كائن من المستوى الأعلى يحتوي على العقد ، والهندسة ، والمواد ، والأنسجة ، والرسوم المتحركة ، والوضعيات ، والمشاهد الفرعية ، وما إلى ذلك. طريقة CreateChildNode (Entity) ينشئ عقدة فرعية جديدة مع إرفاق كيان معين. توفر واجهة برمجة التطبيقات نموذج التظليل لـ LambertMaterial و PhongMaterial و ShaderMaterial. يضيء الضوء المشهد ، وتتيح فئة Light من واجهة برمجة التطبيقات إضافة بعض الضوء إلى المشهد.

يرجى إما تنزيل DLL من API أو تثبيته باستخدام NuGet.

PM> Install-Package Aspose.3D

إنشاء مشهد بسيط ثلاثي الأبعاد في C#

يمكننا إنشاء مشهد بسيط ثلاثي الأبعاد باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Scene.
  2. قم باستدعاء طريقة CreateChildNode() لإضافة بعض الأشكال الهندسية ، شكل يظهر على الشاشة مثل الأسطوانة.
  3. قم بتعيين خصائص العقدة الفرعية مثل المادة.
  4. تهيئة كائن فئة Light.
  5. قم باستدعاء طريقة CreateChildNode() لإضافة كيان Light.
  6. أخيرًا ، احفظ المشهد باسم FBX باستخدام طريقة Save().يأخذ مسار ملف الإخراج و FileFormat.FBX7500ASCII كوسائط.

يوضح نموذج التعليمات البرمجية التالي كيفية إنشاء مشهد بسيط ثلاثي الأبعاد باستخدام C#.

// يوضح مثال الكود هذا كيفية إنشاء مشهد بسيط ثلاثي الأبعاد في ملف FBX.
// تهيئة المشهد ثلاثي الأبعاد
var scene = new Scene();

// تهيئة كائن الأسطوانة
var cylinder = new Cylinder();
cylinder.Name = "Cylinder";

// إنشاء عقدة فرعية وإضافة كائن اسطوانة
var node = scene.RootNode.CreateChildNode(cylinder);

// تعيين خصائص العقدة الفرعية
var material = new LambertMaterial() { DiffuseColor = new Vector3(Color.LightBlue) };
material.Name = "Lambert";
node.Material = material;

// أضف كيان خفيف
var light = new Light() { LightType = LightType.Point };
light.Name = "Light";
scene.RootNode.CreateChildNode(light).Transform.Translation = new Vector3(10, 0, 10);

// مسار ملف الإخراج
var output = @"C:\Files\3D\document.fbx";

// حفظ مستند مشهد ثلاثي الأبعاد
scene.Save(output, FileFormat.FBX7500ASCII);

قراءة المشهد ثلاثي الأبعاد باستخدام C#

يمكننا قراءة مشهد ثلاثي الأبعاد من مستند FBX باتباع الخطوات الواردة أدناه:

  1. قم بإنشاء مثيل لفئة Scene.
  2. قم بتحميل مستند ثلاثي الأبعاد موجود باستخدام طريقة Open().
  3. حلقة من خلال خصائص ChildNodes
  4. أخيرًا ، اعرض قيم الخصائص.

يوضح نموذج التعليمات البرمجية التالي كيفية تحميل وقراءة مشهد ثلاثي الأبعاد باستخدام C#.

// يوضح مثال الكود هذا كيفية قراءة مشهد ثلاثي الأبعاد من ملف FBX
// تهيئة كائن فئة المشهد
Scene scene = new Scene();

// قم بتحميل مستند ثلاثي الأبعاد موجود
scene.Open(@"C:\Files\3D\document.fbx");

foreach(var node in scene.RootNode.ChildNodes)
{
    var entity = node.Entity;
    Console.WriteLine("{0}", entity.Name); 

    if (node.Material != null)
    {
        Material material = node.Material;
        Console.WriteLine("{0}", material.Name);

        PropertyCollection props = material.Properties;
        //قائمة بجميع الخصائص باستخدام foreach
        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);
        }
    }
}

احصل على رخصة مؤقتة مجانية

يمكنك الحصول على ترخيص مؤقت مجاني لتجربة Aspose.3D لـ .NET بدون قيود تقييم.

استنتاج

في هذه المقالة ، تعلمنا كيفية:

  • إنشاء مشهد ثلاثي الأبعاد برمجيًا ؛
  • إضافة كائنات / كيانات إلى المشهد ثلاثي الأبعاد مثل الأسطوانة والمواد والضوء وما إلى ذلك ؛
  • قراءة ملاحظات الطفل وخصائص المشهد ثلاثي الأبعاد في C#.

بالإضافة إلى ذلك ، يمكنك معرفة المزيد حول Aspose.3D لـ .NET API باستخدام التوثيق. في حالة وجود أي غموض ، لا تتردد في الاتصال بنا على المنتدى.

أنظر أيضا