باختصار
- يكون التشغيل التلقائي للنصوص البرمجية في ملفات .blend معطّلًا افتراضيًا في Blender.
- يتيح خيار Trusted Source في متصفح الملفات إدارة السماح بالتشغيل التلقائي لكل ملف على حدة.
- يُفعّل الخياران -y أو --enable-autoexec التشغيل من سطر الأوامر، بينما يعطّله الخياران -Y أو --disable-autoexec.
- تضيف Collection.objects.link() عنصرًا إلى مجموعة، بينما تزيله unlink() منها.
ما الذي ستتعلمه في هذا الدليل؟
قد يكون تضمين نصوص Python داخل ملفات Blender مفيدًا للأعمال المتقدمة، مثل إعداد الهياكل العظمية والأتمتة. ويُقصد بإعداد الهيكل العظمي إنشاء أنظمة الحركة والتحكم لشخصية أو عنصر. لكن إمكانات نصوص Python داخل الملف غير محدودة؛ لذا فإن تشغيل نص برمجي مجهول المصدر قد يشكل خطرًا أمنيًا.
في هذا الدليل، ستتعلم كيفية التعامل مع تحذير النصوص البرمجية الذي يظهر عند فتح ملف .blend، وإدارة التشغيل التلقائي على مستوى الملف والإعدادات العامة، والتعرّف إلى وظيفة خيارات سطر الأوامر. وفي القسم الأخير، سنتناول العلاقة بين المجموعات والعناصر في واجهة Blender Python API. لا تثبت هذه الخطوات أن النص البرمجي آمن؛ بل ينبغي تقييم مصدر الملف وإذن التشغيل بعناية.
المتطلبات والتحضير
يستند الدليل إلى وثيقة أمان النصوص البرمجية في Blender ووثائق Blender Python API. وتحمل إحدى صفحات وثائق API عنوان Blender 5.2 Python API Documentation. لا تذكر المصادر متطلبات للأجهزة أو شروطًا لحساب المستخدم. إذا كنت تستخدم إصدارًا آخر من Blender، فقارن استخدام API بوثائق الإصدار المعني.
قبل البدء، قيّم مصدر الملف وما إذا كان تشغيل النصوص البرمجية المضمّنة فيه ضروريًا. توصي وثائق الأمان في Blender بتشغيل النصوص البرمجية التي تعرف مصدرها وتثق بها فقط. وإبقاء التشغيل التلقائي معطّلًا لا يعني أن الملف لا يحتوي على تعليمات برمجية، أو أن تشغيل أي تعليمات برمجية لا يمكن أن يحدث بتفاعل المستخدم.
خطوة بخطوة: إدارة أذونات تشغيل النصوص البرمجية
راجع التحذير الذي يظهر عند فتح الملف. قد يعرض Blender نافذة حوار عند فتح ملف يحتوي على نص برمجي غير مسموح بتشغيله. يتضمن التحذير الخيارين Allow Execution للسماح بتشغيل النصوص البرمجية، وIgnore لتجاهلها. إذا لم يكن مصدر الملف موثوقًا، فلا تمنح إذن التشغيل.
استخدم خيار Trusted Source لكل ملف على حدة. يتيح خيار Trusted Source في متصفح ملفات Blender اتخاذ قرار التشغيل التلقائي لملف بعينه. وهذا يسمح بتقييم كل ملف بصورة مستقلة. أما عند فتح الملفات من دون استخدام متصفح الملفات، فمن المهم مراجعة الخيار الافتراضي العام.
تحقق من إعداد التشغيل التلقائي العام. عند تفعيل خيار Auto Run Python Scripts ضمن Preferences، يُفعّل خيار Trusted Source في متصفح الملفات افتراضيًا. وقد يسمح هذا الإعداد أيضًا بتشغيل النصوص البرمجية عند تحميل الملفات من دون استخدام متصفح الملفات. ويمكن استثناء أدلة محددة من هذا النطاق. ومن الأمثلة الواردة في الوثائق اعتبار المسارات خارج دليل التنزيلات موثوقة؛ لكن لا تتعامل مع ذلك كقاعدة عامة مناسبة لكل بيئة عمل.
ضع في الحسبان الطرق التي يمكن أن تُشغّل النصوص البرمجية. تذكر وثائق Blender ضمن طرق التشغيل التلقائي كتل بيانات Text التي يكون فيها خيار Register مفعّلًا، ومشغّلات الرسوم المتحركة التي تدير القيم باستخدام تعبيرات Python. وإلى جانب ذلك، توجد طرق تتطلب تفاعل المستخدم حتى عند تعطيل التشغيل التلقائي: تشغيل نص برمجي يدويًا من Text Editor، وإجراء Render باستخدام Freestyle الذي يتحكم في أنماط الخطوط عبر النصوص البرمجية. لذلك، لا يكفي النظر إلى إعداد التشغيل التلقائي لفهم كل سلوك التعليمات البرمجية في الملف.
ميّز بين علاقات العناصر في واجهة API للمجموعات. تشير Collection.objects في Blender Python API إلى العناصر الموجودة مباشرة في المجموعة المعنية. وتضيف عملية link في هذه الواجهة العنصر إلى المجموعة، بينما تزيله unlink منها. أما Collection.all_objects فتشمل عناصر المجموعة المعنية، إلى جانب عناصر المجموعات الفرعية، وهي مُعرّفة للقراءة فقط. لا تخلط بين هذين النطاقين عند فحص ما تغيّره النصوص البرمجية.
اختر الخيار المناسب عن قصد عند التشغيل في الخلفية. يمكن لخيارات سطر الأوامر تجاوز إعدادات Blender Preferences. وتعرض الوثائق الرسمية المثال التالي للسماح بتشغيل المشغّلات والنصوص البرمجية الأخرى عند إجراء Render للرسوم المتحركة في وضع الخلفية:
blender --background --enable-autoexec my_movie.blend --render-animيمكن استخدام -y بدلًا من الخيار --enable-autoexec. ولتعطيل التشغيل التلقائي، يتوفر الخيار --disable-autoexec أو -Y. لا تلغي هذه الخيارات ضرورة تقييم موثوقية الملف المراد تشغيله. تحقّق من الملف الذي يُفتح والإذن الممنوح له، خصوصًا في مسارات العمل المؤتمتة.
أخطاء شائعة
أول الأخطاء هو افتراض أن تعطيل التشغيل التلقائي يعني عدم إمكانية تشغيل أي تعليمات برمجية في الملف. توضح وثائق Blender أيضًا طرقًا تتطلب تفاعل المستخدم، مثل تشغيل النص البرمجي يدويًا في Text Editor وإجراء Render باستخدام Freestyle. والخطأ الثاني هو اعتبار جميع الأدلة موثوقة وتفعيل Auto Run Python Scripts من دون التفكير في الإعداد. اتخذ قرار الثقة بناءً على مصدر الملف.
ولا تخلط بين خيارات التفعيل والتعطيل في سطر الأوامر: يسمح -y و--enable-autoexec بالتشغيل التلقائي، بينما يعطّله -Y و--disable-autoexec. إن منح ملف إذن التشغيل لا يعني أن التعليمات البرمجية الموجودة فيه موثوقة.
وعند العمل مع المجموعات، ميّز أيضًا بين العناصر المرتبطة مباشرة والقائمة التي تشمل العناصر الموجودة في المجموعات الفرعية. لا يشير Collection.objects وCollection.all_objects إلى النطاق نفسه. ويساعد التحقق من هذا الفرق في وثائق API عند فحص تأثير نص برمجي على فهم العناصر التي ستشملها العملية.
التأثير في مسارات عمل العمارة والتصميم الداخلي والتصور
لا تربط وثائق Blender موضوع أمان النصوص البرمجية باستخدام محدد في العمارة أو التصميم الداخلي. ومع ذلك، يمكن أخذ هذا الموضوع في الحسبان ضمن مسارات عمل التصور التي تتبادل فيها الفرق ملفات Blender: فتحقق من مصدر الملف، ومنح إذن التشغيل التلقائي عن دراية، وفهم نطاق النصوص البرمجية التي تعدّل المشهد، كلها خطوات احترازية يمكن اتباعها عند التعامل مع الملفات.
توفر واجهة API للمجموعات تمييزًا أساسيًا عند فحص شيفرات الأتمتة التي تنظم العناصر في مجموعات. لكن المصادر لا توضح قالب مشروع محددًا، أو توافق الإضافات، أو أداء الأجهزة، أو شروط الترخيص. لذلك، تحقق من وثائق API الخاصة بإصدار Blender المستخدم قبل إدراج النصوص البرمجية في مسار العمل، ولا تشغّل التعليمات البرمجية إلا من مصادر موثوقة.
الخطوات التالية
ابدأ بمراجعة الإعداد الافتراضي لـ Auto Run Python Scripts وقرار Trusted Source لكل ملف وفقًا لطريقة عملك الحالية. ثم تحقق مما إذا كان الملف الذي تعمل عليه يعرض تحذير التشغيل التلقائي، وقيّم الطرق التي يمكن أن تفعّل النصوص البرمجية. اجعل فهم مصدر الملف جزءًا من العملية، ولا تكتفِ بتجاوز التحذير.
عند فحص نص برمجي يستخدم المجموعات، ميّز بين العناصر المرتبطة مباشرة وتلك الموجودة في المجموعات الفرعية، وتحقق من العملية المطلوبة في مرجع API. تتضمن وثائق Blender Python API أقسام Quickstart وAPI Overview وBest Practice. ويمكن تنزيل الوثائق لاستخدامها دون اتصال بالإنترنت. أما خيار التشغيل التلقائي في سطر الأوامر، فحدده بعد تقييم موثوقية الملف.
المصدر والترخيص
تُرجم هذا الدليل وكيّف من وثيقة Blender الرسمية Scripting & Security، ومرجعي CollectionObjects وCollection API، ووثائق Blender Python API. ترخيص المصادر هو CC BY-SA 4.0.
المصادر
3 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
بالنسبة إلى مكاتب العمارة وفرق التصور في تركيا، تتمثل الفائدة العملية الأبرز لهذا الدليل في ربط أمان الملفات بقرار الأتمتة. وفي ملفات Blender المتداولة بين أعضاء الفريق، يُعد التحقق من المصدر وتقييم إذن التشغيل التلقائي لكل ملف على حدة خطوة احترازية قابلة للتطبيق في مسار العمل.
لا تذكر المصادر الأسعار أو متطلبات الأجهزة أو تحسن الأداء؛ لذلك لا يمكن استنتاج خفض للتكاليف أو زيادة في السرعة من هذا الدليل. ويمكن للطلاب والفرق التي تستخدم النصوص البرمجية الاستفادة منه لفهم أساسيات واجهة API للمجموعات؛ لكن ينبغي لهم التحقق بشكل مستقل من موثوقية النص البرمجي وتوافقه مع الإصدار قبل استخدامه في المشروع.
الأسئلة الشائعة
هل تُشغّل نصوص Python تلقائيًا افتراضيًا في Blender؟
لا. وفقًا لوثائق Blender، يكون التشغيل التلقائي معطّلًا افتراضيًا. ومع ذلك، توجد طرق تتطلب تفاعل المستخدم، مثل التشغيل اليدوي أو إجراء Render باستخدام Freestyle.
كيف تُدار أذونات النصوص البرمجية في ملفات .blend في Blender؟
عند فتح الملف، يمكن السماح بالتشغيل من خلال التحذير الذي يظهر أو تجاهل النصوص البرمجية. كما تدير خيارات Trusted Source في متصفح الملفات وAuto Run Python Scripts ضمن Preferences التشغيل التلقائي.
كيف أضيف عنصرًا إلى مجموعة في Blender Python API؟
تضيف Collection.objects.link() العنصر إلى المجموعة، بينما تزيله unlink() منها. وتشمل Collection.all_objects العناصر الموجودة في المجموعات الفرعية أيضًا، وهي للقراءة فقط.



