تحسين العرض في V-Ray

تعليق من 2023 - توقف عن المعاناة مع 3ds Max، لهذا السبب. وفيما يلي المقال الأصلي

في هذا الدرس سوف نتعمق في عالم V-Ray ونحلل إعداداته الأكثر دقة لمعرفة كيفية تحسين العرض والحصول على صورة عالية الجودة في وقت أقل.

vray_optimization_header

مقدمة


تم تصميم هذا البرنامج التعليمي لتغطية وشرح العملية الكاملة لتحسين إعدادات V-Ray لإنتاج عروض عالية الجودة في وقت أقل.

غالبًا ما يكون هناك الكثير من الالتباس حول مصطلح أخذ عينات V-Ray وما هي الإعدادات "المثالية". يقوم معظم العارضين بإنشاء "إعدادات V-Ray العالمية" التي يقومون من خلالها بتعيين وحدات عينات الصور (Anti-Aliasing، أو AA) Max الفرعية إلى قيمة عالية جدًا، حوالي 50 أو حتى 100، ثم قم ببساطة بخفض قيمة عتبة الضوضاء حتى يتم العرض نظيفة بما فيه الكفاية، معتقدة أن هذه هي أفضل طريقة لتحقيق نسبة الجودة/السرعة المثلى. ولكن مع القليل من الفهم لما يوجد تحت غطاء V-Ray وكيفية عمله فعليًا، يمكنك الحصول على صور أفضل في وقت عرض أقل. الطريقة التي سأصفها في هذه المقالة، بالمقارنة مع الطريقة الأكثر شيوعًا التي وصفتها أعلاه، في بعض المشاهد يمكن أن توفر وقت العرض الخاص بك بمقدار 3 إلى 13 مرة.

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

إذا كنت تعرف بالفعل كيفية عمل V-Ray، فانقر هنا للانتقال مباشرة إلى إجراء التحسين خطوة بخطوة.

RAYTRACING (تتبع الأشعة)


عند بدء العرض، يتم إطلاق الأشعة من الكاميرا إلى المشهد لجمع معلومات حول الشكل الهندسي في المشهد، والتي ستكون مرئية في الصورة النهائية. يتم توجيه هذه الأشعة بعيدًا عن الكاميرا ويتم استدعاؤها الأشعة الأولية (أحيانا أشعة الكاميرا أو أشعة العين) ويتم تكوينها في عينات الصور (المعروف أيضًا باسم Anti-Aliasing أو AA).

بينما يتقاطع الشعاع الأساسي مع هندسة المشهد، يتم إطلاق أشعة إضافية من نقاط التقاطع هذه إلى مناطق أخرى من المشهد للحصول على معلومات حول الإضاءة والظلال والإضاءة غير المباشرة (GI) والانعكاسات والانكسارات والتشتت تحت السطح (SSS)، وما إلى ذلك. يتم استدعاء أشعة إضافية الأشعة الثانوية وتكوينه في V-Ray عينات DMC.

vray_optimization_figure_01الشكل 1. رسم تخطيطي مبسط لتتبع الأشعة: يتم إطلاق الأشعة الأولية من الكاميرا إلى المشهد، وتتقاطع مع الكائنات الموجودة في المشهد، وتنتشر الأشعة الثانوية إلى أجزاء أخرى من المشهد.

من الآن فصاعدا، سوف نشير إلى "الأشعة" باسم "العينات"، لأن الغرض من الشعاع (الشعاع) هو الحصول على معلومات حول مشهد "العينة". الأشعة = العينات.

لفهم ما يحدث في المشهد، تحتاج إلى إصدار مجموعة من العينات الأولية والثانوية. الاكثر العينات، كلما زاد عدد معلومات V-Ray حول المشهد، وبالتالي، زادت جودة العرض وقل محتواه ضوضاء. كما ترون، الضوضاء هي سبب قلة المعلومات عن مكان الحادث. إذا كان هناك ضجيج في المشهد، فهذا يعني أن V-Ray لم تتاح له الفرصة لجمع معلومات كافية عن المشهد. ليتم تلخيصه: لإزالة التشويش، تحتاج إلى إعطاء V-Ray مزيدًا من المعلومات، ولإعطاء العارض مزيدًا من المعلومات حول المشهد، تحتاج إلى جعل قيمة العينات أكبر.

عدد العينات الأولية، التي تنظمها القيم الحد الأدنى من الأقسام الفرعية, ماكس تقسيمات فرعية، و عتبة اللون في خيارات أداة أخذ عينات الصور. يتم التحكم في عدد العينات الثانوية من خلال القيمة أقسام فرعية بشكل فردي في كل مصدر للضوء، وGI، والمواد والإعدادات عتبة الضوضاء قيمة عينات DMC. (عتبة الضوضاء في لغة المايا تسمى عتبة التكيف)

لذلك، دعونا نكرر المصطلحات الأساسية:

راي = عينة

العينات الأولية = العينات المخصصة بواسطة جهاز V-Ray's Image Sampler (المعروف أيضًا باسم Anti-Aliasing أو AA)، المصمم لتحديد هندسة المشهد وجمع المعلومات مثل الأنسجة وعمق المجال (DOF) وضبابية الحركة).

العينات الثانوية = عينات قابلة للتخصيص بواسطة جهاز DMC Sampler الخاص بـ V-Ray، والمصممة لجمع معلومات حول الإضاءة وGI والظلال والانعكاسات والانكسارات وSSS

الضوضاء = الضوضاء أو نقص المعلومات

الأقسام الفرعية = الجذر التربيعي للعدد الفعلي للعينات. الأقسام الفرعية^2 = العينات. مثال: 8 أقسام فرعية = 64 عينة. (8 ^ 2 = 64)

سنلقي نظرة في هذا البرنامج التعليمي على أفضل السبل لاستخدام هذه العينات الأولية والثانوية للحصول على صورة خالية من التشويش في فترة زمنية قصيرة.

تعريف عنصر عرض العينات


يعد عنصر العرض SampleRate أحد أهم الأدوات التي سنستخدمها لتحسين العرض. هذه هي طريقة V-Ray لتظهر لنا ما يفعله جهاز أخذ عينات الصور (AA) عند بكسل معين. ويقوم بذلك عن طريق تمييز كل بكسل بلون يتوافق مع عدد العينات الأولية (AA) التي يحتوي عليها. يمكن عرض هذه الصورة في عنصر تقديم SampleRate)

*اللون الأزرق يعني وجود كمية صغيرة من العينات الأولية (AA) في هذا البكسل.

* اللون الأخضر يعني متوسط عدد العينات الأولية (AA) في هذا البكسل.

* اللون الأحمر يعني وجود عدد كبير من العينات الأولية (AA) في هذا البكسل.

vray_optimization_figure_02الشكل 2. يُظهر عنصر التجسيد SampleRate (يمين) عدد العينات الأولية التي تم استخدامها في كل بكسل تجسيد (يسار)

لذلك، بالنسبة للمشهد الذي يحتوي على Image Sampler (AA) لمدة دقيقة واحدة و10 وحدات فرعية كحد أقصى (دقيقة واحدة وعينات أولية بحد أقصى 100):

* اللون الأزرق يعني 1 عينة أولية (AA) في هذا البكسل.

* اللون الأخضر يعني 50 عينة أولية (AA) في هذا البكسل.

* اللون الأحمر يعني 100 عينة أولية (AA) في هذا البكسل.

وبالنسبة للمشهد الذي يحتوي على Image Sampler (AA) لمدة دقيقة واحدة و100 وحدة فرعية بحد أقصى (دقيقة واحدة وعينة أولية بحد أقصى 10000):

* اللون الأزرق يعني 1 عينة أولية (AA) في هذا البكسل.

* اللون الأخضر يعني 5000 عينة أولية (AA) في هذا البكسل.

* اللون الأحمر يعني 10000 عينة أولية (AA) في هذا البكسل.

مثال على المشهد - كيف يعمل V-RAY؟


في هذا البرنامج التعليمي، سنعمل مع مشهد بسيط يتكون من: طائرة تحتوي على عدة مجالات، والعديد من المواد البسيطة المختلفة (بما في ذلك الانعكاس المنتشر والانعكاس اللامع والانكسار اللامع وSSS)، ومصباحين للمنطقة وقبة مع HDRI . تم تمكين GI في وضع Brute Force + Light Cache. يمكنك تنزيل هذا الملف هنا.

سنبدأ بإعدادات العرض الأساسية بالقيم التالية:

  • عينات الصور (AA) = 1 دقيقة و 8 ماكس تقسيمات فرعية.
  • الأضواء، وGI، والمواد كلها 8 أقسام فرعية.
  • عتبة الضوضاء s= 0.01.
  • نترك أيضًا جميع الإعدادات الأخرى بشكل افتراضي.

vray_optimization_figure_03الشكل 3. التقديم الأساسي.
1min و8max Subdivs = عينات الصور (AA)
8 أقسام فرعية = الأضواء وGI وجميع المواد

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

"أسمح لك باستخدام ما يصل إلى 64 (8 أقسام فرعية) من العينات الأولية (AA) في كل بكسل حتى تتمكن من فهم ما يحدث هناك في المشهد ولا تُحدث قدرًا كبيرًا من الضوضاء كما تسمح به عتبة الضوضاء... ولكن لكل منها من هذه العينات الأولية، يمكنك إنشاء عينة ثانوية واحدة فقط لفهم ما هو موجود من حيث الضوء والظلال والمؤشر الجغرافي والمواد.

ربما تتساءل: "انتظر، عينة ثانوية واحدة فقط للضوء والجهاز الهضمي وجميع المواد؟ نعم أنت تقود! يجب أن يكون هناك 64 عينة (8 أقسام فرعية)، ألم نحدد هذا العدد؟" حسنًا، من المهم ملاحظة أن قيمة ICs (الأضواء) وGIs والمواد تبلغ 64 عينة (8 وحدات فرعية) لكل منها - يقوم V-Ray بتقسيم هذه القيمة على عينات AA Max في المشهد الخاص بك. على الرغم من قيمة 64 عينة للأضواء والمواد، يجب أن تضع في اعتبارك أن هذه القيمة مقسمة على قيمة AA Max = 64 عينة (8 أقسام فرعية)، مما يؤدي إلى عينة ثانوية واحدة فقط للأضواء والمؤشر الجغرافي والمواد. (64 عينة ثانوية / 64 عينة أولية = 1 عينة ثانوية).

السبب وراء قيام V-Ray بذلك هو الصيغة الداخلية التي وضعها للحفاظ على توازن هاتين القيمتين. منطق المطورين هو كما يلي: كلما زاد عدد العينات الأولية، قل عدد العينات الثانوية المطلوبة لفهم ما يحدث في المشهد (سنرى قريبًا أن هذا ليس صحيحًا دائمًا). قد لا تكون عملية الموازنة هذه بين Image Sampler وDMC Sampler واضحة لك في البداية، ولكن هذا هو بيت القصيد. الاستنتاج هو أنه عند زيادة قيمة Image Sampler (AA)، يحاول V-Ray التعويض عن طريق تقليل قيمة DMC Sampler بشكل متناسب. لاحقًا، إذا لم تكن قد نمت بعد، فيمكنك التقييم حاسبة دي إم سي، الذي كتبه مؤلف هذا المقال، والذي قمت بترجمته بجد في الساعة 5:02 صباحًا، تقريبًا بدون استخدام قاموس =) شكرًا للصالة الرياضية رقم 32 في إيفانوفو، حيث تلقيت 8 دروس في اللغة الإنجليزية أسبوعيًا.

لذا، دعونا نعود إلى ببغاواتنا:

تم تقديم V-Ray بشكل رائع قدر الإمكان، لكنني منزعج من العدد الهائل من وحدات البكسل الحمراء في عنصر عرض SampleRate). وهذا ما يقوله لنا:

"لم أتمكن من معرفة ما كان يحدث في المشهد لأنك قيدتني بشدة في عتبة الضوضاء. لقد استخدمت العينات الأولية مع عينة ثانوية واحدة فقط لفترة طويلة ولكنها لم تزودني بمعلومات كافية حول هذه المجالات."

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

* الخيار 1 - الزيادة AA ماكس الأقسام الفرعية - حتى يتمكن V-Ray من رؤية المشهد بشكل أفضل، ولكن مرة أخرى باستخدام عينة ثانوية واحدة فقط للضوء والجهاز الهضمي والمواد.

* الخيار 2 - زيادة الكمية التقسيمات الفرعية في المواد والإضاءة وGI. اطلب من V-Ray أن يحتفظ بعدد العينات الأولية، ولكن بدلًا من ذلك يسمح له باستخدام المزيد من العينات الثانوية.

مثال المشهد - الخيار 1 - زيادة قيمة AA MAX SUBDIVS


حسنًا، دعونا نحاول أولاً، بالطريقة التي يتبعها المتخيلون الملتويون عادةً للحصول على عرض أقل ضوضاءً.

  • نقوم بزيادة عينات الصور (AA) 1 دقيقة & 100 ماكس تقسيمات فرعية.
  • نترك IP وGI والمواد قيد التشغيل 8 أقسام فرعية.
  • قم بخفض عتبة الضوضاء إلى 0.005 لإخبار V-Ray بأننا نريد العرض بدون ضوضاء.

vray_optimization_figure_04الشكل 4. الخيار 1 - زيادة عدد التقسيمات الفرعية في AA Max
1min و100max Subdivs = عينات الصور (AA)
8 أقسام فرعية = BC وGI وجميع المواد
0.005 = عتبة الضوضاء.

دعونا معرفة ما يحدث مع هذه الإعدادات. بعد ضبط هذه الإعدادات، نقول لـ V-Ray:

"أسمح لك باستخدام ما يصل إلى 10000 (100 قسم فرعي) من العينات الأولية (AA) لكل بكسل لفهم ما يحدث في المشهد وتقليل الضوضاء قدر الإمكان عند عتبة ضوضاء معينة. ولكن، لكل عينة أولية، يمكنك إنشاء عينة ثانوية واحدة فقط لفهم ما يوجد في المشهد بالضوء والجهاز الهضمي والمواد.

نحن نتذكر ذلك لأنه تحتوي كل IC ومادة وGI على 64 عينة (8 أقسام فرعية)، ويقسم V-Ray هذه القيمة على عينات AA Max. على الرغم من أن القيمة هي 64 عينة، إلا أنها مقسمة على AA Max 10,000 عينة (100 فرعية)، مما يؤدي إلى حد أدنى لعدد عينة ثانوية واحدة فقط للأضواء والمؤشر الجغرافي والمواد. (64 عينة ثانوية / 10000 عينة أولية = 1 عينة ثانوية).

ينتهي V-ray من عرض الصورة ويقول:

“لقد تمكنت من معرفة كل ما كان يحدث في المشهد لجودة ووضوح الصورة التي حددتها. ولكن من أجل اختبار المشهد، اضطررت في بعض الأماكن إلى استخدام ما يصل إلى 10000 عينة أولية وعينة ثانوية واحدة للضوء والجهاز الهضمي والمواد.

ننظر إلى الخيار 1 ونرى أن مقدار الضوضاء قد انخفض بشكل ملحوظ مقارنةً بالعرض الأساسي. زاد وقت العرض إلى 11 دقيقة و44 ميكرومترًا (9.8 مرات أطول). ولكن ليس لدينا أي ضجيج. يعتقد معظم الناس في هذه المرحلة أن هذه هي أفضل نتيجة يمكن الحصول عليها وأنها جاهزة.

ولكن ماذا لو نظرنا إلى الخيار 2 الذي تحدثنا عنه سابقًا؟ على الرغم من زيادة AA Max Subdivs، ماذا سيحدث إذا قمنا بدلاً من ذلك بزيادة قيم subdiv في IS وGI وMaterials. هيا نكتشف.

مثال المشهد - الخيار 2 - زيادة عدد التقسيمات الفرعية في IS وGI والمواد


الآن دعونا نجرب شيئًا جديدًا. لنقم بتعيين قيمة العينات الأولية على ما كانت عليه في الإعدادات الأساسية، ولكن أضف العينات الثانوية.

  • نترك أداة أخذ عينات الصور (AA) في الإعدادات الأساسية 1 دقيقة & 8 ماكس تقسيمات فرعية.
  • نقوم بزيادة عدد التقسيمات الفرعية في IP وGI والمواد 80 التقسيمات الفرعية كل.
  • ترك عتبة الضوضاء 0.01

vray_optimization_figure_05الشكل 5. الخيار 2 - عدد متحمس من التقسيمات الفرعية في IS، GI والمواد.
1min و8max Subdivs = عينات الصور (AA)
80 قسمًا فرعيًا = الأضواء وGI والمواد لكل منها.
0.01 = عتبة الضوضاء.

وهكذا، دعونا ننظر إلى ما يحدث في الخيار الثاني. من خلال تعيين معلمات العرض مثل هذا، فإنك تخبر V-Ray:

"أسمح لك باستخدام ما يصل إلى 64 (8 أقسام فرعية) من العينات الأولية (AA) لكل بكسل لفهم ما هو موجود في المشهد وما يصل إلى 100 عينة ثانوية."

تذكر أن GI والمواد والضوء عبارة عن 64000 عينة (80 قسمًا فرعيًا) لكل منها. يقوم V-Ray تلقائيًا بتقسيم كل من هذه القيم بناءً على عينات AA Max المحددة في المشهد الخاص بك. وعلى الرغم من وجود 64.000 عينة، إلا أنها مقسمة إلى AA Max 64 عينة (8 أقسام فرعية)، و100 عينة ثانوية فقط للأضواء والمؤشر الجغرافي والمواد (كل منها). العينات الثانوية / 64 عينة أولية = 100 عينة ثانوية).

ينتهي V-Ray من العرض ويقول:

"يمكنني معرفة ما كان يحدث في المشهد بناءً على مستوى جودة عتبة الضوضاء الذي قمت بتعيينه. في الواقع، في معظم الأوقات، كان علي استخدام جميع العينات الأساسية البالغ عددها 64 لكل بكسل. و100 عينة ثانوية للضوء والمواد والجهاز الهضمي."

نرى أن التشويش قد اختفى، لكن وقت العرض زاد بمقدار 4.5 مرة (4 دقائق و38 ثانية) مقارنة بالعرض الأساسي.

ولكن إذا قارنا مع الخيار 1، نرى أن الخيار 2 أعطانا نتائج أوضح وأسرع بمقدار 2.2 مرة.

vray_optimization_figure_06

الشكل 06. الخيار 1 على اليسار والخيار 2 على اليمين. يوجد أدناه صورة مكبرة 4 مرات لرؤية الفرق في الضوضاء بشكل أفضل.

لماذا هذا؟ لماذا تعد زيادة إعدادات DMC Sampler (الأضواء/GI/مواد الأقسام الفرعية) أفضل من زيادة Sampler (AA)؟ والنتيجة هي تقديم أسرع وأنظف.

كيف يعمل التحسين


في العرض الأساسي، نرى أن حواف الكائن تبدو جيدة، ويكون الضجيج بشكل أساسي في الانعكاسات والظلال. إذا كنت تتذكر ما علمناه سابقًا: "يتم إجراء العينات الأولية (AA) من أجل "استكشاف" الهندسة الرئيسية للمشهد، والأنسجة، وDOF، وضبابية الحركة في المشهد. في حين أن العينات الثانوية "تستكشف" الجهاز الهضمي والضوء والمواد والظلال."

وهكذا، للتخلص من الضوضاء، فإن الاختيار بين الخيار 1 و 2 ليس بالمهمة السهلة. لماذا نستخدم مفك البراغي للقيام بمهمة المطرقة؟ لقد قام برنامج Image Sampler (AA) بالفعل بما تم تصميمه للقيام به - وهو جعل التفاصيل الهندسية (حواف الكائنات) نظيفة وصامتة. لذا، بدلاً من تصوير مجموعة من العينات الأولية (AA) الإضافية في المشهد لإزالة الضوضاء، فمن الأفضل إضافة عينات إلى DMC Sampler (الأضواء/GI/التقسيمات الفرعية للمادة)، دعها تفعل ما تم تصميمه من أجله - إزالة الضوضاء في الظلال والإضاءة وGI والانعكاسات والانكسارات. ها هي إجابتنا!

الآن يمكننا أن نرى لماذا لن تكون "إعدادات Universal V Ray" البالغة 1 دقيقة و100 ماكس AA بشكل عام هي الطريقة الأكثر كفاءة لعرض المشهد - في الواقع، لم يكن القصد منها أبدًا أن تكون الطريقة الأكثر كفاءة! تم تصميم الإعدادات العامة لـ V-Ray لتسهيل الوصول إلى V-Ray وجعله سهلاً للمستخدمين الذين لا يهتمون بالتحسين ولا يهتمون بكيفية عمل V-Ray تحت الغطاء. إنها مجرد طريقة لوضع V-Ray على الطيار الآلي. يتيح ذلك للمستخدم التحكم في جودة العرض بالكامل عن طريق ضبط معلمة واحدة فقط - عتبة الضوضاء. إذا كان هناك الكثير من الضوضاء في التجسيد، فما عليك سوى خفض عتبة الضوضاء، وسيستمر V-Ray في إطلاق العينات الأولية (AA) حتى يصل أخيرًا إلى عتبة الضوضاء.

ولكن يمكننا تحسين الخيار 2 أكثر! من 5 دقائق و 58 ثانية قبل 4 دقائق و 53 ثانية. مع زيادة طفيفة في الضوضاء.

vray_optimization_figure_07

الشكل 07. الخيار رقم 1. على اليسار، والخيار رقم 2 تم تحسين العرض بشكل أكبر - على اليمين. زادت سرعة العرض بمقدار 2.7x!

إليك مثال آخر للتحسين، هذه المرة أكثر تركيزًا على أداء المشهد.
يقال إن العرض الأمثل (يمين) أسرع بنحو 35% من إعدادات العرض العامة (يسار) مع تقليل الضوضاء وتحسين جودة العرض. لاحظ أيضًا كيف أصبحت الانعكاسات أكثر دقة - ويمكن ملاحظتها على الأرض قرب نهاية الممر.

vray_optimization_figure_08

الشكل 08. "إعدادات Universal V Ray" على اليسار، والعرض الأمثل على اليمين.

يتبع…

11 تعليقا على “Оптимизация рендера в V-Ray

  1. درس عظيم، والتكملة ستكون هدية جميلة.
    بالمناسبة، قم بتشغيل RSS، لديك بعض المقالات الرائعة، وسأكون سعيدًا بقراءة مقالات جديدة

  2. انضممت، وأتطلع إلى الاستمرار.
    أفعل ذلك في مايا، ولكن التفسيرات مفيدة للغاية!

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

    1. على الأقل شكك شخص ما في صحتها، وإلا فإنه يشعر بأن جميع التعليقات أعلاه كتبها إما روبوتات أو أشخاص لم يفهموا ما يكتبون عنه، بعد قراءة المقال مرة واحدة.

      1. كما لو أن المقال كتبه أحد المتأنقين من Blur، إذا كنت تعرف ما هو، فالأصل هو من تأليف Akin Bilgic. يبدو لي أنه لا يوجد حمقى في Blur فقط لكتابة مثل هذه الأشياء))

    1. في عام 2016، مع ظهور Corona Render، لم تعد هذه المقالة ذات صلة. لم أتمكن مطلقًا من ترجمة المقال.

اترك رداً على Юрий إلغاء الرد

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *