إدارة المشهد

إدارة المشاهد

الفئة Scene هي نقطة الدخول لجميع محتوى 3D في Aspose.3D لـ .NET. توفر طرقًا لإنشاء المشاهد من الصفر، وتحميل الملفات الموجودة بأي تنسيق مدعوم، وحفظها إلى أي تنسيق هدف، وفحص بيانات تعريف المشهد.


إنشاء وفتح المشاهد

أنشئ مشهدًا فارغًا باستخدام new Scene()، أو حمّله من ملف:

using Aspose.ThreeD;

// Empty scene
var empty = new Scene();

// Load from file — format is detected automatically
var scene = Scene.FromFile("model.fbx");

// Load using Scene.Open with explicit format
var scene2 = new Scene();
scene2.Open("model.obj", FileFormat.WavefrontOBJ);

// Load from a stream (useful when reading from memory or network)
using var stream = System.IO.File.OpenRead("model.stl");
var scene3 = new Scene();
scene3.Open(stream, FileFormat.STLBinary);

Scene.FromFile يكتشف التنسيق تلقائيًا من امتداد الملف والبايتات السحرية. استخدم التحميل الزائد FileFormat عندما يكون الامتداد غير واضح أو غير موجود.


حفظ المشاهد

احفظ مشهدًا إلى ملف أو تدفق بأي تنسيق إخراج مدعوم:

// Save to file — format determined from extension
scene.Save("output.gltf");

// Save with explicit format
scene.Save("output.bin", FileFormat.GLTF2_Binary);

// Save to a stream
using var output = System.IO.File.Create("output.fbx");
scene.Save(output, FileFormat.FBX7700Binary);

// Save with format-specific options
var opts = new Aspose.ThreeD.Formats.ObjSaveOptions();
opts.PointCloud = false;
scene.Save("output.obj", opts);

مسح محتوى المشهد

لإزالة جميع العقد والأصول من المشهد مع الحفاظ على كائن Scene:

// Remove all direct children of the root node
scene.RootNode.ChildNodes.Clear();

// Or replace the scene entirely
scene = new Scene();

Scene.Clear() متاح ويمسح محتوى المشهد، مع استعادة الإعدادات الافتراضية؛ بدلاً من ذلك، أنشئ نسخة جديدة من Scene كما هو موضح أعلاه.


بيانات تعريف المشهد

خاصية AssetInfo على Scene تعرض بيانات التعريف المضمنة في الصيغ المدعومة (FBX، Collada، glTF):

var info = scene.AssetInfo;
Console.WriteLine("Author:       " + info.Author);
Console.WriteLine("Creation UTC: " + info.CreationTime);
Console.WriteLine("Units:        " + info.UnitName + " @ " + info.UnitScaleFactor);

حدد بيانات التعريف قبل الحفظ للحفاظ عليها في ملف الإخراج:

scene.AssetInfo.ApplicationName = "My Application 1.0";
scene.AssetInfo.UnitName = "meter";
scene.AssetInfo.UnitScaleFactor = 1.0;
scene.Save("output_with_meta.fbx");

API Quick Reference

Memberوصف
new Scene()إنشاء مشهد فارغ
Scene.FromFile(path)مساعد ثابت: افتح ملفًا وأرجع المشهد المحمّل
scene.Open(path, format?)حمّل ملفًا في مشهد موجود
scene.Open(stream, format)تحميل من تدفق
scene.Save(path, format?)حفظ إلى ملف
scene.Save(stream, format)حفظ إلى تدفق
scene.RootNodeجذر Node من هيكل المشهد
scene.AssetInfoكتلة البيانات الوصفية (المُنشئ، الطوابع الزمنية، الوحدات)
scene.AssetInfo.ApplicationNameاسم التطبيق مدمج في الملف
scene.AssetInfo.UnitScaleFactorمقياس وحدة المشهد بالنسبة إلى الأمتار

انظر أيضاً

 العربية