آخر الأخبار
إعداد جداول الكميات والمواد في Revit: دليل خطوة بخطوةدليل منافذ العرض في 3ds Max 2025: ضبط المشهد المعماريكيفية تثبيت NVIDIA Instant NeRF؟ من الصور إلى مشهد ثلاثي الأبعاد خطوة بخطوةإنشاء Armature في Blender: إضافة العظام والتحريك في Pose ModeOpenAI, yapay zekâyı CAD ve simülasyon iş akışlarına taşıyorدليل Layout في Rhino 8: إعداد لوحة بمقياس رسم ومساقط تفصيليةإنشاء المواد وضبط إعداداتها الأساسية باستخدام Blender Python APIالتحكم بالحركة في الرسوم المعمارية عبر معدّلات F-Curve في Blenderإطلاق CozyBlanket Pro: أدوات Retopology وUV وBake في تطبيق واحداكتمال مكتبة East County: مكتبة Holst في أوريغون
دروس تعليميةBlender

إنشاء المواد وضبط إعداداتها الأساسية باستخدام Blender Python API

تعلّم خطوة بخطوة إنشاء كتلة بيانات مادة باستخدام Python API في Blender، وتعديل خصائصها الأساسية مثل اللون والمعدنية والخشونة. ويتناول الدليل أيضًا إعدادات الشفافية وإزالة المواد بأمان.

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

باختصار

  1. يمكن إنشاء مادة جديدة في قاعدة البيانات الرئيسية باستخدام bpy.data.materials.new(name=...).
  2. تُعد الخصائص diffuse_color وmetallic وroughness من إعدادات المظهر الأساسية للمادة.
  3. تُستخدم الخاصية surface_render_method في واجهة API الحالية للشفافية والتوافق.
  4. عند إزالة مادة، يزيل do_unlink=True روابط الاستخدام قبل الحذف.

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

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

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

المتطلبات وملاحظات الإصدار

لاستخدام الأمثلة، يلزم توفر بيئة Blender يمكن الوصول فيها إلى Python API. تعرض الوثائق المصدرية صفحات API على أنها «current»، ولا تشترط إصدارًا محددًا من Blender. لذلك، من المهم التحقق من توافق الخصائص الواردة في صفحة API مع الإصدار المستخدم في المشروع. ولا تشير المصادر إلى أي متطلبات لحساب أو اشتراك أو ترخيص منفصل.

كُتبت المقاطع البرمجية بلغة Python وتستخدم واجهة bpy في Blender. شغّلها في بيئة يمكنها الوصول إلى Python API في Blender؛ فالأمثلة لا تضمن إمكانية وصول بيئة Python خارجية إلى بيانات Blender. ويساعد إجراء التجربة الأولى على نسخة من ملف مشروع مهم في تجنب تأثير التغييرات غير المرغوبة في البيانات على المشهد الأصلي.

إنشاء مادة خطوة بخطوة

1. إنشاء كتلة بيانات مادة جديدة

تضيف BlendDataMaterials.new(name) مادة جديدة إلى قاعدة البيانات الرئيسية، وتعيد كتلة بيانات Material التي أُنشئت. تحدد المعلمة name الاسم الذي سيُمنح لكتلة البيانات الجديدة؛ ووفقًا للوثائق، لا يمكن أن تكون قيمتها None.

python
import bpy

mat = bpy.data.materials.new(name="Mimari_Materyal")

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

2. ضبط اللون وخصائص السطح

تدرج الوثائق الخصائص diffuse_color وmetallic وroughness ضمن خصائص المادة. وتُعرّف diffuse_color بأنها مصفوفة تضم أربعة عناصر. أما مقدار المعدنية والخشونة فتتراوح قيمتهما بين 0 و1؛ وتحدد الوثائق قيمة الخشونة الافتراضية بـ0,4، ومقدار المعدنية الافتراضي بـ0.

python
mat.diffuse_color = (0.72, 0.64, 0.52, 1.0)
mat.metallic = 0.0
mat.roughness = 0.4

هذه قيم بداية توضيحية، وليست وصفة مؤكدة لمنتج محدد أو لمادة بناء حقيقية. يمكنك تغيير المكونات الأربعة لمصفوفة اللون والخصائص العددية بما يلائم احتياجاتك. وعند إعداد عدة نسخ، يساعد اختيار أسماء مميزة للمواد في تسهيل إدارة العناصر داخل قاعدة البيانات.

3. اختيار طريقة الشفافية

تحدد الخاصية surface_render_method في واجهة Material الحالية كيفية مزج الأسطح ومدى توافق الطريقة مع بعض الخصائص. تورد الوثائق خيارين هما DITHERED وBLENDED. يعالج DITHERED الشفافية بتوزيع بتدرجات الرمادي، وتوضح الوثائق توافقه مع تمريرات التصيير ودعم تتبع الأشعة. أما BLENDED فيوفر شفافية ملونة، لكنه لا يمكن استخدامه مع تمريرات التصيير وتتبع الأشعة وفقًا للوثائق.

python
mat.surface_render_method = 'DITHERED'

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

تُعد alpha_threshold أيضًا إحدى خصائص المادة الموثقة. تُصيّر وحدات البكسل التي تتجاوز قيمة ألفا فيها هذا الحد. تعمل الخاصية ضمن النطاق من 0 إلى 1، وتحدد الوثائق قيمة ابتدائية قدرها 0,5. إذا غيّرت هذه القيمة، فاختبر المظهر المستهدف وراجع وصف API الخاص بإصدار Blender الذي تستخدمه.

4. إزالة المادة عند الحاجة

إذا لم تعد هناك حاجة إلى مادة ما، فيمكن إزالتها من ملف blend الحالي باستخدام BlendDataMaterials.remove. تضمن do_unlink=True إزالة الروابط التي تستخدم المادة قبل حذفها. وتتعلق المعلمات الأخرى بتحديث عدادات المستخدمين ومنع الواجهة من الإشارة إلى المادة المحذوفة.

python
bpy.data.materials.remove(mat, do_unlink=True)

تأكد من أن المادة المراد إزالتها هي المادة الصحيحة قبل تشغيل هذا الكود. تزيل do_unlink=True روابط الاستخدام أيضًا قبل الحذف؛ وقد يؤدي هذا السلوك إلى نتيجة غير مرغوبة إذا كان من الضروري أن تظل المادة مستخدمة في المشهد. ويُعد اختبار خطوة الحذف أولًا على نسخة من الملف طريقة آمنة للتحقق.

أخطاء شائعة

  • اعتبار خاصية قديمة الطريقة الحالية: تُعد blend_method خاصية قديمة للأسطح الشفافة، وتوصي الوثائق باستخدام surface_render_method. عند إعداد مشروع جديد، اعتمد الطريقة الواردة في واجهة API الحالية.

  • استخدام الخاصية use_nodes كمفتاح إعداد: تشير الوثائق إلى أن هذه الخاصية أصبحت مهملة بدءًا من Blender 5.0. وتذكر أن ضبطها لا يؤثر في شيء، وأن قراءتها تعيد دائمًا True، وأن إزالتها مخططة في Blender 6.0. لذلك، لا نستخدم هذه الخاصية في سير العمل التوضيحي.

  • الخلط بين اللون والنطاقات العددية: تتكون diffuse_color من مصفوفة تضم أربعة عناصر، بينما تتراوح قيمتا metallic وroughness بين 0 و1. تحقّق من نوع البيانات والنطاقات المتوقعة في وثائق API.

  • الخلط بين إنشاء المادة وإسنادها إلى كائن: تؤدي إنشاء كتلة بيانات جديدة إلى إضافتها إلى قاعدة البيانات الرئيسية، لكنها لا تسندها تلقائيًا إلى كائن هندسي.

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

الاستخدام في سير عمل العمارة والتصور

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

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

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

بعد نجاح خطوات الإنشاء والإعداد الأساسية، راجع صفحات API الخاصة بـMaterial وBlendDataMaterials للإصدار المستخدم، بما يتوافق مع احتياجات المشروع. تسرد الوثائق أيضًا خاصية node_tree في كتلة بيانات المادة ومجموعات مختلفة تشير إلى المواد؛ لكن هذا الدليل لا يشرح كيفية تنظيمها. ويساعد الاستناد إلى الخصائص الموثقة ومتطلبات المشروع التي جرى التحقق منها عند تحديد مرحلة التطوير التالية في تقليل مشكلات التوافق.

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

أُعد هذا الدليل بتكييف صفحات BlendDataMaterials وMaterial في وثائق Blender API إلى اللغة التركية. وتُتاح كلتا الصفحتين بموجب ترخيص CC BY-SA 4.0. كُتبت الأمثلة البرمجية لهذا الدليل، ولم يُقتبس أي كود من المصادر.

المصادر

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

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

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

يمثل إنشاء المواد باستخدام Blender Python API نقطة بداية عملية للمكاتب وفرق التصور التي ترغب في توحيد الإعدادات الأساسية المتكررة. ويمكن أن يساعد تحديد قيم اللون والمعدنية والخشونة بالكود في الحفاظ على نمط بداية متسق بين الملفات.

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

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

كيف يمكن إنشاء مادة باستخدام Blender Python API؟

ينشئ الاستدعاء `bpy.data.materials.new(name="...")` مادة جديدة في قاعدة البيانات الرئيسية ويعيد كتلة بيانات المادة.

كيف يمكن ضبط قيمتي المعدنية والخشونة للمادة في Blender؟

يمكن تعيين قيمتين إلى الخاصيتين `metallic` و`roughness` في كتلة بيانات `Material`. وتحدد وثائق API النطاق من 0 إلى 1 لكلتيهما.

ما طريقة الشفافية الحالية للمواد في Blender؟

تعرض واجهة API الحالية الخاصية `surface_render_method` لتحديد طريقة المزج والتوافق. والخيارات المذكورة هي `DITHERED` و`BLENDED`.

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

أخبار ذات صلة