باختصار
- يتيح V-Ray App SDK إنشاء مشهد V-Ray أو بدء التصيير بعد تحميل ملف .vrscene.
- يُستخدم وضع Interactive للمعاينة السريعة وتجربة إعدادات المشهد، بينما يُخصص وضع Production للصورة النهائية.
- يمكن بدء التصيير في الخلفية باستخدام start()، والحصول على صور مرحلية أثناء سير العملية.
- لا تحدد الوثائق إصدارًا برمجيًا معينًا لـ App SDK أو سعرًا للترخيص.
يوفر V-Ray App SDK واجهة API لبدء التصيير وإدارته باستخدام محرك V-Ray، سواء من داخل تطبيق أو في عملية مستقلة. ووفقًا للوثائق الرسمية لـ Chaos، يمكن إنشاء المشهد في الذاكرة باستخدام إضافات V-Ray، أو تحميله من ملف .vrscene. يشرح هذا الدليل دورة التصيير الأساسية في App SDK، ويوضح وضع التصيير الأنسب لمراحل المشهد المختلفة. ولأن الوثائق لا تحدد إصدارًا برمجيًا ساريًا لـ App SDK، يستند الشرح إلى سير العمل العام المعروض فيها.
1. إعداد البيئة
حدّد موقع ملفات App SDK. تشترط الوثائق تعريف متغير البيئة
VRAY_SDKلاستخدام SDK. وإذا كنت تستخدم ربط Python، فيجب إضافة مجلدpythonإلى مسارات البحث عن وحدات Python؛ وتعرض الوثائق مثالًا على ذلك باستخدامPYTHONPATH. هذا الإعداد ضروري كي يتمكن التطبيق من العثور على مكونات SDK.شغّل سكربت إعداد البيئة الجاهز أو استخدم المسار البديل. تعرض الوثائق استخدام
setenv.batفي Windows، وsource setenv.shفي Linux وmacOS. تضبط هذه السكربتات متغيرات البيئة المعنية. وإذا لم تكن الملفات الثنائية لـ SDK موجودة ضمن بنية مجلد/binالخاص بالمنتج، تشير الوثائق إلى إمكانية استخدام المتغيرVRAY_APPSDK_BIN. كما تتوفر إمكانية تحديد مسار البحث عبر API عند تعذّر استخدام متغيرات البيئة.
في هذه المرحلة، تحقّق من توافق بنية المجلدات على الجهاز مع الموقع الذي يبحث فيه التطبيق عن مكتبة SDK. لا تسرد الوثائق إعدادًا محددًا لنظام تشغيل أو متطلبات للأجهزة؛ لذا ينبغي الرجوع إلى وثائق API الخاصة بالربط المستخدم لمعرفة تفاصيل الإعداد.
2. إنشاء المشهد أو تحميله
ابدأ وحدة التحكم بالتصيير. تتولى الفئة
VRayRendererفي App SDK بدء عملية التصيير وإدارتها. يمكن إنشاء المشهد في الذاكرة عبر إنشاء كائنات إضافات V-Ray وضبط معلماتها، أو تحميله من ملف.vrscene، وهو تنسيق المشاهد الخاص بـ V-Ray. وتشير الوثائق أيضًا إلى إمكانية الجمع بين الطريقتين.
يعتمد أسلوب إنشاء المشهد على سلسلة الإنتاج الحالية. فعلى سبيل المثال، يمكن لتطبيق تحويل بيانات المشهد الخاصة به إلى إضافات V-Ray، أو فتح ملف .vrscene سبق تصديره. ولا يفرض App SDK استخدام برنامج نمذجة بعينه؛ إذ يهدف إلى إتاحة هذا النوع من التكامل مع محرك التصيير V-Ray.
بعد تجهيز المشهد، اختر وضع التصيير. تشرح الوثائق خيارين أساسيين:
| وضع التصيير | الاستخدام المذكور في الوثائق | موضعه في سير العمل |
|---|---|---|
| Interactive | معاينة سريعة للصورة وتحسين جودة الصورة تدريجيًا | الحصول على ملاحظات أثناء تجربة محتوى المشهد أو إعداداته |
| Production | إخراج الصورة النهائية من مشهد مُعدّ بعناية؛ وقد يستغرق اكتمال الصورة وقتًا | إنتاج الصورة النهائية |
يدعم كلا الوضعين خياري CPU وGPU. وتوضح الوثائق أن CUDA وOptiX على جانب GPU متاحان لـ NVIDIA فقط، بينما Metal وMetalRT متاحان لـ Apple فقط. يُحدد نوع التصيير عبر الخاصية renderMode في كائن VRayRenderer. وتذكر الوثائق أن الوضع الافتراضي للفئة هو Interactive (CPU)؛ لذا ينبغي تحديد الوضع المطلوب صراحةً وفقًا لغرض التطبيق والدعم المتاح على النظام.
3. بدء التصيير واستلام النتيجة
ابدأ عملية التصيير. تستدعي الطريقة
start()عملية التصيير في خيط تنفيذ منفصل، ثم تعود من دون انتظار. وبذلك يستطيع التطبيق تنفيذ مهام أخرى أثناء التصيير، أو البقاء جاهزًا للحصول على صورة التقدم. يحمّل مثال Python الوارد في الوثائق المشهد، ويبدأ التصيير، وينتظر انتهاءه، ثم يحفظ الصورة الناتجة بصيغة PNG:
import vray
with vray.VRayRenderer() as renderer:
renderer.load('./intro.vrscene')
renderer.start()
renderer.waitForRenderEnd(6000)
image = renderer.getImage()
image.save('intro.png')القيمة 6000 في مثال الشيفرة هي وسيط توضيحي مُمرر إلى استدعاء waitForRenderEnd في الوثائق؛ ولا تُعرض بوصفها مدة مقترحة أو إلزامية لكل مشهد. وفي شيفرة الإنتاج، ينبغي التعامل مع سلوك الانتظار وفقًا لوثائق ربط API المستخدم.
قيّم الصورة أثناء التصيير أيضًا، ثم أغلق الموارد. يوضح App SDK إمكانية الحصول على بيانات الصورة المتاحة قبل اكتمال التصيير. وقد تكون هذه الميزة مفيدة خصوصًا لعرض المعاينة في واجهة التطبيق أثناء استخدام وضع Interactive، أو لمتابعة العملية. وتوضح الوثائق أن الصورة النهائية تصبح جاهزة عندما تصل حالة renderer إلى
IDLE_DONE. وبعد انتهاء العمل، ينبغي إغلاق renderer؛ ويتولى كتلةwithفي مثال Python إدارة دورة الحياة هذه.
وتشرح الوثائق أيضًا إمكانية الاستماع إلى الأحداث عند تغير حالة التصيير، أو إصدار V-Ray رسالة، أو الإبلاغ عن معلومات المهام والتقدم. تساعد هذه الإشعارات على تنظيم سلوك التطبيق في مراحل التحميل والتصيير والانتهاء. لكن دوال رد الاتصال تعمل في خيط تنفيذ منفصل؛ وقد تؤدي شيفرة المستخدم البطيئة إلى تأخير تنفيذ دوال رد الاتصال الأخرى.
ما الذي يتغير في سير عمل العمارة والتصور المعماري؟
يُعد App SDK خيارًا مفيدًا للفرق الراغبة في دمج خطوات التصيير المتكررة في تطبيق، أو إدارة مشهد V-Ray من عملية مختلفة. ويمكن لمكاتب الهندسة المعمارية ومنتجي التصور المعماري استخدام وضع Interactive لتجربة المشهد والمحتوى، ووضع Production لإنتاج الصورة النهائية. وهكذا يمكن تغيير أسلوب العمل بين المعاينة والإخراج النهائي باستخدام renderer نفسه.
مع ذلك، لا تقدم المصادر مصفوفة توافق مع برامج 3D بعينها، أو متطلبات للأجهزة، أو شروطًا للترخيص، أو معلومات عن الأسعار. وعند الاختيار بين CPU وGPU، لا يمكن الاستناد إلا إلى خيارات المعالجة المذكورة في الوثائق وقيود المنصات الخاصة بتقنيات GPU ذات الصلة؛ ولا يمكن استنتاج نتائج الأداء. وقبل إعداد تكامل التطبيق، ينبغي التحقق من وثائق API الخاصة بربط اللغة المستخدم، ومن بنية المجلدات التي ستوجد فيها مكتبات SDK.
أخطاء شائعة
قد يؤدي بدء ربط SDK من دون إعداد
VRAY_SDKأو مسار بديل مناسب إلى تعذّر العثور على المكتبات.من غير الصحيح اعتبار استدعاء
start()علامة على اكتمال التصيير؛ فالوثائق تصف هذه الطريقة بأنها استدعاء غير متزامن يعود من دون انتظار.قد يُرفض إجراء تغييرات على المشهد أو renderer أثناء التصيير وفي حالة
PREPARING. وتورد الوثائق هذا التحذير في الحالة التي يُستخدم فيهاstart()بدلًا منstartSync().قد تؤخر دوال رد الاتصال البطيئة المرتبطة بأحداث V-Ray تشغيل دوال رد اتصال أخرى؛ لذا ينبغي مراجعة المهام التي تنفذها معالجات الأحداث.
التعامل مع وسيط الانتظار في مثال الشيفرة كأنه إعداد ثابت يصلح لكل مشروع يتجاوز ما تذكره الوثائق.
لا تشرح هذه الوثائق كيفية اختيار إعدادات تصيير محددة في واجهة المستخدم، بل تتناول أساسيات تحميل المشهد وإدارة التصيير عبر App SDK. وينبغي الرجوع إلى مرجع API الخاص بالربط المعني لمعرفة تفاصيل الإعدادات داخل التطبيق.
المصادر
2 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
تكمن القيمة العملية لـ App SDK بالنسبة إلى مكاتب العمارة والتصور في تركيا في قدرته على ربط تصيير V-Ray بتطبيق أو سير عمل مؤتمت قائم. كما أن إمكانية التبديل بين وضعي Interactive وProduction باستخدام renderer نفسه تتيح إدارة عمليتي المعاينة والصورة النهائية من دون تقسيمهما بين أدوات مختلفة.
لكن هذه الوثائق لا تقدم معلومات عن الأسعار أو شروط الترخيص أو متطلبات الأجهزة أو التوافق مع برامج بعينها. لذلك ينبغي توضيح متطلبات تثبيت SDK ونطاق API الخاص بالربط المستخدم قبل اتخاذ قرار الاستثمار. وتبدو أبرز المخاطر التشغيلية هي ضبط متغيرات البيئة على نحو غير صحيح، وافتراض انتهاء التصيير غير المتزامن.
الأسئلة الشائعة
ما وظيفة V-Ray App SDK؟
يُستخدم لبدء عملية التصيير بمحرك V-Ray وإدارتها من داخل تطبيق أو في عملية مستقلة. ويمكن إنشاء المشهد في الذاكرة باستخدام الإضافات أو تحميله من ملف `.vrscene`.
ما الفرق بين وضعي Interactive وProduction في V-Ray App SDK؟
تشرح الوثائق أن وضع Interactive مخصص للمعاينة السريعة وتجربة الإعدادات، بينما يُستخدم وضع Production لإخراج الصورة النهائية من مشهد مُعدّ بعناية.
ما خيارات GPU التي يدعمها التصيير في V-Ray App SDK؟
تذكر الوثائق أن CUDA وOptiX مخصصان لـ NVIDIA، وأن Metal وMetalRT مخصصان لوحدات GPU من Apple. ويمكن اختيار CPU أو GPU كوضع للتصيير.



