آخر الأخبار
تحدي Adventure Play Student Design Challenge يبحث عن ملاعب منخفضة التكلفةدليل تنظيم المجموعات وإجراء الرندر باستخدام Blender Python APIدعوة Mugak/ 2027 المفتوحة تقدم ميزانية قدرها 150 ألف يورو للمشاريع الثقافيةBlender 5.3, 3D Gaussian splatları içe aktarıp render edebiliyorكيفية استيراد ملفات PLY وAlembic وتصديرها في Blender؟إعداد المقاطع والرسومات ثنائية الأبعاد في Rhino 8: دليل ClippingSectionsمعرض SANAA في تايتشونغ: 30 عامًا من الإنتاج ونماذج مراحل التصميمضبط المواد في المشاهد المعمارية باستخدام Blender Python: 5 خطواتإعداد مشهد معماري في Unreal Engine باستخدام Nanite وVirtual Shadow Mapsالنمذجة بالمنحنيات في Blender: إنشاء المقاطع المعمارية على المسارات
دروس تعليميةBlender

دليل تنظيم المجموعات وإجراء الرندر باستخدام Blender Python API

توفّر وثائق Blender Python API أدوات لتنظيم المجموعات والمجموعات الفرعية، وإدارة إعدادات الظهور وLine Art، وتنفيذ عمليات الرندر. يشرح هذا الدليل الخطوات الأساسية في المشاهد المعمارية عبر أمثلة.

مساحة داخلية عصرية ومجسم معماري يوحيان بمجموعات منظمة من النماذجصورة بالذكاء الاصطناعي
صورة تعبيرية مولّدة بالذكاء الاصطناعي.الصورة: 3dsınıfı / FCA AI

باختصار

  1. يمكن استخدام بنية Collection لتنظيم العناصر والمجموعات الفرعية معًا.
  2. تُدار رؤية المجموعة في مساحة العرض وفي الرندر عبر خاصيتين منفصلتين.
  3. تشرح الوثائق خيارات المجموعات التي تحدد سلوك التضمين والاستبعاد والتقاطع في Line Art.
  4. تتضمن واجهة برمجة تطبيقات الرندر التقاط صورة للمنظور النشط وبدء رندر المشهد.

ما الذي ستتعلمه في هذا الدليل؟

مع توسّع مشاهد Blender، قد يصبح من الصعب تنظيم النماذج المعمارية والأثاث والإضاءة والعناصر المحيطة، ومتابعة الأجزاء الظاهرة أو المُضمّنة في الإخراج. تساعد بنية Collection في Blender Python API على ترتيب العناصر هرميًا ضمن مجموعات ومجموعات فرعية. في هذا الدليل، نتناول خطوة بخطوة إنشاء مجموعة وربطها بالمشهد، وضبط ظهور المجموعات، والتعرّف إلى خيارات Line Art، واستخدام معاملات الرندر.

تعتمد الأمثلة على الخصائص والعمليات الواردة في وثائق API الحالية لـ Blender. لا تحدد الوثائق رقم إصدار معيّنًا من Blender، لذلك ينبغي اختبار الأمثلة في بيئة العمل الحالية قبل استخدامها. عدّل أسماء المجموعات وبنية المشهد الواردة في الشيفرة لتناسب المشروع.

المتطلبات

  • يلزم تثبيت Blender وإمكانية الوصول إلى Python API. المصادر هي وثائق Blender API الحالية، ولا تحدد رقم إصدار معيّنًا.

  • لا تتناول المصادر شروط الحساب أو الاشتراك. كما لا توفر الوثائق معلومات عن متطلبات الأجهزة لاستخدام Blender أو مدة الرندر.

  • تعمل الأمثلة على المجموعات والعناصر الموجودة في المشهد. يُستحسن الاحتفاظ بنسخة من ملفات المشاريع المهمة وتجربة الشيفرة في مشهد اختبار صغير قبل تطبيقها.

خطوة بخطوة: تنظيم المشهد باستخدام المجموعات

1. أنشئ مجموعة جديدة واربطها بالمشهد

تنشئ الشيفرة التالية مجموعة جديدة وتربطها بالمجموعة الرئيسية للمشهد النشط. تسرد وثائق Blender API عمليات إنشاء المجموعات وربط المجموعات الفرعية. اسم «الأثاث» في المثال هو اسم توضيحي يمكن استخدامه لتجميع عناصر الأثاث في مشروع تصميم داخلي.

python
collection = bpy.data.collections.new("Mobilya")
bpy.context.scene.collection.children.link(collection)

إنشاء المجموعة لا يعني نقل عناصر المشهد إليها تلقائيًا؛ إذ يجب تنظيم عضوية العناصر في المجموعات على حدة. تشير الخاصية objects إلى العناصر الموجودة مباشرةً في المجموعة، بينما تشمل all_objects العناصر الموجودة في المجموعات الفرعية أيضًا. يساعد فهم هذا الفرق على تقييم المحتوى الإجمالي بدقة في المشاهد التي تضم مجموعة رئيسية ومجموعات فرعية.

2. أنشئ تسلسلًا هرميًا باستخدام المجموعات الفرعية

يمكن إنشاء مجموعات مثل الأثاث والإضاءة داخل مجموعة رئيسية باسم «المساحات الداخلية» في ملف للتصور المعماري. وتعرّف وثائق Blender API الخاصية children بأنها قائمة المجموعات الفرعية المباشرة، بينما تسرد children_recursive جميع المجموعات الفرعية. عند استعراض التسلسل الهرمي، حدّد مستوى المحتوى الذي تحتاج إليه.

تشمل الخاصية all_objects العناصر الموجودة في المجموعة وفي مجموعاتها الفرعية، وهي للقراءة فقط. لذلك ينبغي إجراء تعديلات المحتوى عبر عمليات على عناصر المجموعة ومجموعاتها الفرعية، لا من خلال هذه الخاصية. وتشير الوثائق أيضًا إلى أن إنشاء قائمة children_recursive يستغرق وقتًا يعتمد على عدد المجموعات الفرعية؛ فضع ذلك في الحسبان عند استخدام الخاصية في تسلسل هرمي متعدد الطبقات.

3. أدر ظهور العناصر في مساحة العرض والرندر بشكل منفصل

تتيح hide_viewport تعطيل المجموعة في مساحة العرض، بينما تتيح hide_render تعطيلها عمومًا في الرندر. ولا يغني أحد الإعدادين عن الآخر. على سبيل المثال، يمكن إخفاء مجموعة في مساحة العمل مع إبقائها ظاهرة في الرندر عبر تعيين القيمتين بشكل منفصل كما يلي:

python
collection.hide_viewport = True
collection.hide_render = False

في هذا المثال، تُخفى المجموعة في مساحة العرض، لكنها لا تُعطّل في الرندر. غيّر القيم حسب احتياجك. ولا يكفي التحقق من النتيجة في موضع واحد؛ افحص مساحة العرض ومخرجات الرندر كلًا على حدة.

4. حدّد سلوك Line Art على مستوى المجموعة

توفّر وثائق Blender خيارات لتحديد طريقة تعامل حساب Line Art مع المجموعات. وتشمل الأوضاع INCLUDE وOCCLUSION_ONLY وEXCLUDE وINTERSECTION_ONLY وNO_INTERSECTION وFORCE_INTERSECTION. تعبّر هذه الخيارات عن سلوكيات مختلفة، مثل توليد الخطوط من المجموعة، أو إنشاء التراكب فقط، أو استبعادها من الحساب، أو التعامل مع خطوط التقاطع.

يختار المثال التالي وضع إنشاء التراكب فقط للمجموعة:

python
collection.lineart_usage = 'OCCLUSION_ONLY'

إذا كنت بحاجة إلى تحكم إضافي في التقاطعات، تتضمن الوثائق أيضًا الخاصيتين lineart_use_intersection_mask وuse_lineart_intersection_priority. ويمكن تحديد أولوية التقاطع عبر lineart_intersection_priority؛ وتذكر وثيقة API أن نطاق هذه القيمة من 0 إلى 255. استخدم هذه الخيارات عندما يعتمد المشهد على حساب Line Art وتكون النتيجة المطلوبة واضحة.

التقاط صورة للمنظور النشط وإجراء الرندر

توثّق واجهة API المعامل bpy.ops.render.opengl لالتقاط صورة لمساحة العرض النشطة. ويتيح الخيار write_still حفظ الصورة في مسار الإخراج عندما يكون التحريك معطّلًا:

python
bpy.ops.render.opengl(write_still=True)

هذه العملية ليست مماثلة لرندر المشهد العام. ويمكن استخدام المعامل المدرج في API باسم bpy.ops.render.render لبدء رندر المشهد. ويتضمن المثال خيار حفظ صورة واحدة:

python
bpy.ops.render.render(write_still=True)

تشمل المعلمات الموثّقة لمعامل الرندر التحريك، واستخدام مساحة العرض، واختيار المشهد، وإطاري البداية والنهاية للتحريك. وتُستخدم خيارات نطاق الإطارات لرندر التحريك. ورغم أن صفحة API تعرّف هذه العمليات والمعلمات، فإنها لا تحدد جميع إعدادات الإخراج المطلوبة للمشروع؛ لذا تحقّق من إعدادات مشهدك قبل الرندر.

أخطاء شائعة

  • الخلط بين إعدادات مساحة العرض والرندر: الخاصيتان hide_viewport وhide_render مختلفتان. تحقّق من الظهور المطلوب في الموضعين.

  • إغفال المجموعات الفرعية: تعرض objects العناصر المباشرة؛ ولأخذ المجموعات الفرعية في الحسبان، راعِ نطاق الخاصية all_objects.

  • اختيار وضع Line Art عشوائيًا: تحدد الخيارات سلوكيات مختلفة للخطوط والتقاطعات. اختر الوضع وفق النتيجة المطلوبة واختبره في مشهد صغير.

  • اعتبار صورة مساحة العرض رندرًا للمشهد: يعرض bpy.ops.render.opengl المنظور النشط؛ أما الرندر العام فله معامل منفصل.

  • افتراض سلوك غير وارد في وثائق API: لا توضح المصادر إعدادات مشروعات بعينها أو سرعة الرندر أو متطلبات الأجهزة. اختبر هذه التفاصيل في مشهدك وبيئة عملك.

أثر ذلك في سير عمل العمارة والتصور

يمكن لمكاتب العمارة وفرق التصور تجميع النماذج والأثاث والإضاءة والعناصر المحيطة في مجموعات، بما يجعل التسلسل الهرمي للمشهد أوضح. كما يتيح الفصل بين إعدادات الظهور في مساحة العرض والرندر إخفاء العناصر غير الضرورية أثناء العمل، مع إبقاء محتوى الإخراج مختلفًا. وفي العروض التي تعتمد على Line Art، تساعد الأوضاع على مستوى المجموعة في تحديد كيفية مشاركة المجموعات في حساب الخطوط.

لا تضمن وثائق API التوافق مع إضافة معيّنة أو مستوى عتاد أو إصدار محدد من Blender. قبل إعداد أتمتة للملفات المشتركة في المكاتب، اختبر الشيفرة في بيئة Blender المستخدمة وضمن ملف تجريبي صغير. وراعِ أيضًا أن وثائق المصدر مرخّصة بموجب CC BY-SA 4.0؛ وينطبق هذا الترخيص على استخدام محتوى الوثائق.

الخطوات التالية

ابدأ بإنشاء تسلسل هرمي للمجموعات في مشهد اختبار صغير، ثم غيّر إعدادات مساحة العرض والرندر كلًا على حدة وقارن النتيجة. بعد ذلك، إذا كنت تستخدم Line Art، فحدّد الوضع المناسب وافحص الخطوط في المخرجات. تحقّق من إعدادات إخراج المشهد قبل الانتقال إلى معاملات الرندر. وتسرد وثائق API أيضًا عمليات إنشاء ذاكرة التخزين المؤقت لقوام Cycles وتنظيفها؛ وهي معاملات منفصلة عن تنظيم المجموعات وسير عمل الرندر الأساسي.

المصدر والترخيص

أُعدّ هذا الدليل بتكييف وثائق Blender Python API الخاصة بـ Collection ومعاملات الرندر إلى التركية. والمصدران متاحان بموجب ترخيص CC BY-SA 4.0.

المصادر

2 مصادر
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.types.Collection.html
ملخص
D(
docs.blender.org (CC BY-SA 4.0)docs.blender.org/api/current/bpy.ops.render.html
ملخص

لا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.

رأي 3dsınıfı
3dتقييم المحرر

بالنسبة إلى مكاتب العمارة وفرق التصور في تركيا، يمكن أن تجعل إدارة المجموعات عبر API مهام تنظيم المشهد المتكررة أكثر اتساقًا. وقد يسهل الاحتفاظ بالنماذج والأثاث والعناصر المحيطة في مجموعات منفصلة تتبّع التسلسل الهرمي للملفات.

لكن الوثائق لا تقدم ضمانًا بشأن الأداء أو متطلبات الأجهزة أو التوافق مع إصدار محدد من Blender. لذا من المهم تجربة الأتمتة أولًا في مثال صغير والتحقق منها في بيئة العمل المستخدمة. وثائق المصدر مرخّصة بموجب CC BY-SA 4.0، لكنها لا توفر معلومات عن التكاليف المحتملة.

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

كيف أعطّل ظهور مجموعة في الرندر في Blender؟

فعّل الخاصية `hide_render` للمجموعة. أما `hide_viewport` فتدير ظهورها في مساحة العرض بشكل منفصل.

هل يمكن التقاط صورة للمنظور النشط باستخدام Blender Python API؟

نعم. تعرّف وثائق API المعامل `bpy.ops.render.opengl` بأنه يلتقط صورة لمساحة العرض النشطة. ويمكن للخيار `write_still` حفظ الصورة في مسار الإخراج عندما يكون التحريك معطّلًا.

ما الخيارات المتاحة لـ Line Art في مجموعات Blender؟

تتضمن الأوضاع الموثّقة `INCLUDE` و`OCCLUSION_ONLY` و`EXCLUDE` و`INTERSECTION_ONLY` و`NO_INTERSECTION` و`FORCE_INTERSECTION`.

التعليقات والمنتدى باللغة التركية.شارك في النقاش
+

أخبار ذات صلة