لعدة سنوات ، حاولت أن أفهم الخرائط العادية والمشاكل التي تنشأ عادة عند العمل معهم.
كانت معظم التوضيحات التي وجدتها تقنية للغاية أو غير كاملة أو معقدة للغاية بالنسبة لي لفهمها ، لذلك قررت أن أحاول شرح المعلومات التي قمت بجمعها. أدرك أن هذه التفسيرات قد تكون غير كاملة أو غير دقيقة تمامًا ، لكنني سأحاول على أي حال.
بدت النماذج ثلاثية الأبعاد الأولى من صنع الإنسان بشيء من هذا القبيل:
هذا شيء عظيم ، ولكن مثل هذا النموذج له قيود واضحة: يبدو مضلعًا للغاية.
الحل الأكثر وضوحًا: إضافة المزيد من المضلعات ، مما يجعل السطح أكثر تناسقًا وسلسًا ، حتى تظهر المضلعات كسطح أملس واحد. لكن اتضح أنه من أجل جعل الأسطح مثل الكرات ناعمة ، تحتاج إلى عدد كبير من المضلعات (خاصةً اليوم).
هناك حاجة إلى حل مختلف ، وبالتالي اخترعت القواعد الطبيعية. (لم يحدث هذا تمامًا ، لكن من السهل شرحه وفهمه.)
دعنا نتبع الخط من وسط المضلع بشكل عمودي على سطحه. سنعطي هذا الخط اسمًا غير معتاد جدًا: عادي. الهدف من الوضع الطبيعي هو التحكم في نقاط السطح ، بحيث عندما ينعكس الضوء عن هذا السطح ، فإنه يمكن استخدام الوضع الطبيعي لحساب الانعكاس الناتج. عندما يضرب الضوء المضلع ، فإننا نقارن زاوية شعاع الضوء مع المضلع الطبيعي. تنعكس الحزمة في نفس الزاوية بالنسبة إلى الاتجاه الطبيعي:
بمعنى آخر ، سيكون انعكاس الضوء متماثلًا بالنسبة إلى المضلع الطبيعي. هذه هي الطريقة التي تعمل بها معظم الأفكار في العالم الحقيقي. بشكل افتراضي ، تنعكس أشعة الضوء من جميع المضلعات بشكل عمودي تمامًا على سطحها (كما ينبغي في الحياة الحقيقية) ، لأن القيم الطبيعية للمضلع تكون متعامدة على سطح المضلع افتراضيًا. إذا كانت هناك فجوات في الحالة الطبيعية ، فسنراها كسطحين منفصلين ، حيث سينعكس الضوء في اتجاه واحد أو آخر.
إذا كان الوجهان متصلان ، فيمكننا أن نطلب من الكمبيوتر تسهيل الانتقال بين المضلع العادي إلى الآخر ، بحيث تتم محاذاة القواعد الطبيعية تدريجياً وفقًا لأقرب مضلع طبيعي. وبالتالي ، عندما يضرب الضوء مركز مضلع واحد تمامًا ، سينعكس ذلك مباشرةً ، وفقًا لاتجاه العادي. لكن بين المضلعات ، يتم تجانس هذا الاتجاه الطبيعي ، مما يؤدي إلى تغيير انعكاس الضوء.
سوف ندرك الانتقال كسطح واحد ، لأن الضوء سينعكس بين واحد ومضلع آخر بطريقة سلسة ، ولن تكون هناك فجوات بينهما. في الواقع ، ينعكس الضوء على هذه المضلعات بسلاسة ، كما لو كان لدينا العديد من المضلعات.
هذا هو ما نتحكم فيه من خلال تعيين مجموعات تجانس (3ds Max ، Blender) أو تحديد الحواف على أنها صلبة أو ناعمة (Modo ، Maya): نقول للبرنامج أي التحولات بين الوجوه يجب أن تكون سلسة وأيها يجب أن تكون صعبة.
في ما يلي مقارنة بين مجال واحد يتكون من 288 مضلع مع تحولات صلبة وسلسة:
من المحتمل ، يمكن أن نحدد شيئًا ما مثل خط موازٍ بحيث تكون كل رؤوسه متوسطة. سيسعى المحرر ثلاثي الأبعاد إلى سلاسة سطحه بحيث يبدو كأنه سطح أملس واحد. بالنسبة إلى محرر ثلاثي الأبعاد ، هذا منطقي تمامًا ، لكنه يبدو غريبًا للغاية ، لأن لدينا كائنًا يجب أن يكون له عدة أسطح منفصلة (كل وجه من جوانب الصندوق) ، ومع ذلك ، يحاول البرنامج إظهارها كسطح أملس واحد.
لهذا السبب عادةً ما يكون للمحررين ثلاثي الأبعاد معلمة لزوايا التنعيم: إذا كان لدينا مضلعين متصلين بزاوية تتجاوز زاوية التنعيم ، فسيكون انتقالهما سلسًا ، وسيكون توصيل المضلعات بزاوية أقل من زاوية التنعيم صلبًا. لهذا السبب ، سيتم عرض الزوايا الحادة بين الأسطح كسطح مختلف ، كما يحدث في العالم الحقيقي.
لذلك ، استخدمنا القواعد الطبيعية للتحكم في التحولات بين وجوه النموذج ، ولكن يمكنك أن تذهب أبعد من ذلك.
نظرًا لأننا نغير طريقة انعكاس الضوء من كائن ما ، فيمكننا أيضًا جعل كائن بسيط جدًا يعكس الضوء معقدًا. وهذا ما يسمى خريطة طبيعية. نستخدم نسيجًا لتغيير اتجاه الضوء المنعكس من كائن ثلاثي الأبعاد ، مما يجعله يبدو أصعب مما هو عليه بالفعل.
مثال من العالم الحقيقي هو الصور المجسمة التي تم تقديمها مسبقًا كهدية عند شراء رقائق البطاطس (هنا على الأقل ، في إسبانيا). إنها مسطحة تمامًا ، لكنها تعكس الضوء بالطريقة التي سيعمل بها كائن ثلاثي الأبعاد ، مما يجعل الأمر أكثر صعوبة مما هو عليه بالفعل. في عالم الرسومات ثلاثية الأبعاد ، يعمل هذا بشكل أفضل ، ولكن لا يزال له حدوده (لأن السطح لا يزال مسطحًا).
على الرغم من أننا نستخدم القواعد الطبيعية للمضلع لتنفيذ نوع من السحر الأسود ، إلا أننا في الواقع لا نتحكم في تجانس سطح النموذج باستخدام القواعد الطبيعية للمضلع. نحن نستخدم قمة الحالة الطبيعية للتحكم في تجانس الحالة الطبيعية. في جوهرها ، الفكرة هي نفسها ، ولكنها أكثر تعقيدًا بقليل.
يمكن أن ترتبط كل قمة مع واحد أو أكثر من الحالات الطبيعية. إذا كان لديها واحد عادي ، فيمكننا أن نسميها المتوسط الطبيعي للرأس ، وإذا كان هناك عدة - فإن المعدل الطبيعي للرأس منقسم.
لنأخذ مضلعين متصلين بحافة. إذا كان الانتقال بين وجهين سلسًا (إذا حددناها على نحو سلس في Maya / Modo ، أو كليهما لهما نفس مجموعة التنعيم في Max / Blender) ، فكل رأس يكون له واحد عادي ، وهو متوسط طبيعي للمضلعات (وهذا هو السبب في أن يطلق عليه متوسط طبيعي من vertex ). ملاحظة مهمة: حتى وقت قريب ، استخدم كل محرر ثلاثي الأبعاد طريقة خاصة به لحساب متوسط القيم الطبيعية للرؤوس ، أي أن الخرائط العادية المحسوبة في برنامج آخر قد تبدو مختلفة تمامًا. سوف أخبركم المزيد عن هذا في الجزء الثاني من البرنامج التعليمي.
إذا كان الانتقال صعبًا (حافة صلبة أو مجموعات تجانس مختلفة) ، يكون لكل قمة عدد من القواعد الطبيعية: واحدة لكل قمة متصلة محاذاة وفقًا لمعاييرها الطبيعية. في هذه الحالة ، تتشكل فجوة بين الحالة الطبيعية ، والتي تبدو كأنها سطحان مختلفان. هذا ما يسمى قمة الرأس العادية.
كما تعتقد ، فإن التحكم العادي في قمة الرأس مهم جدًا إذا كنا نريد التحكم في الخرائط العادية. لحسن الحظ ، لا يتعين علينا تغيير القواعد الطبيعية بشكل مباشر أو حتى رؤيتها ، ولكن فهم كيفية عمل ذلك سيساعدك على فهم سبب قيامنا بهذا العمل وفهم المشكلات التي قد نواجهها بشكل أفضل.
عند إعداد خريطة عادية ، نطلب من البرنامج بشكل أساسي تغيير الاتجاه الذي تتبعه القواعد النموذجية لنموذج lowpoly ، بحيث تتوافق مع الاتجاه في نموذج highpoly ؛ لذلك ، فإن نموذج lowpoly سيعكس الضوء بنفس طريقة ارتفاع الشوائب. يتم تخزين كل هذه المعلومات في نسيج يسمى الخريطة العادية. لنلقِ نظرة على مثال.
دعنا نقول أن لدينا نموذج بولي منخفض (lowpoly). سطح مستوي رباعي الرؤوس مع إعدادات للأشعة فوق البنفسجية التي سيستخدمها برنامج الخبز لإنشاء خريطة طبيعية.
وهي بحاجة إلى الحصول على معلومات حول الحالات الطبيعية من هذا النموذج المرتفع ، والتي تكون الحالات الطبيعية أكثر تعقيدًا.
تذكر أننا نقوم فقط بنقل المعلومات حول الحالات الطبيعية ، مثل الأشعة فوق البنفسجية ، المواد ، الطوبولوجيا ، التحويلات ، إلخ. غير مناسب قاعدة مثبتة: إذا كان النموذج عالي الارتفاع يبدو جيدًا ، فعادة ما تكون حالته الطبيعية جيدة ويجب أن تكون مناسبة للخبز.
يأخذ برنامج الخبز نموذجًا منخفضًا وينبعث أشعة تبعًا لتوجيهات القواعد الدنيا (وهذا هو السبب في أننا نحتاج إلى التحكم في القواعد الطبيعية المنخفضة). طول هذه الأشعة محدود حتى لا تحصل على معلومات طبيعية من الحواف البعيدة (عادةً ما تسمى هذه المسافة مسافة الخبز أو مسافة القفص). عندما تتصادم هذه الأشعة مع highpoly ، فإن برنامج الخبز يحسب كيفية عكس هذه الأشعة بحيث تتبع اتجاه القواعد الطبيعية العليا ويخزن هذه المعلومات في الخريطة العادية.
هنا هي نتيجة الخبز على سبيل المثال لدينا:
لدينا نسيج يستخدمه المحرك لتغيير الأوضاع الطبيعية المنخفضة ، بحيث ينعكس الضوء عن هذا النموذج المنخفض تمامًا كما هو الحال في الإصدار العالي. لا تنسَ أن هذا مجرد نسيج لا يؤثر على صورة ظلية للنموذج المنخفض (من المستحيل تغيير طريقة انعكاس الضوء من النموذج إذا لم يسقط الضوء على هذا النموذج).
على الرغم من أنه من الواضح أنه يمكن للمرء "حساب" ظهور درجة عالية من خلال ظهور الخريطة العادية ، فمن الواضح أن الخرائط العادية ليست مواد عادية لأنها تخزن معلومات ليس عن اللون ، ولكن عن الحالات الطبيعية. هذا يعني أيضًا أن الخرائط العادية لا يمكن اعتبارها قوامًا عاديًا ؛ بالإضافة إلى ذلك ، كما سنرى ، لديهم معلمات تصحيح ضغط وغاما خاصة.
يمكنك أن ترى الخريطة العادية كمجموعة من ثلاثة مواد في ظلال رمادية ، مخزنة في صورة واحدة:
الصورة الأولى تخبر المحرك كيف يجب أن يعكس هذا النموذج حالة الضوء على اليمين ؛ يتم تخزينه في القناة الحمراء من نسيج الخريطة العادية.
الصورة الثانية تخبر المحرك كيف يجب أن يعكس النموذج حادثة الضوء من الأسفل * ؛ يتم تخزينه في القناة الخضراء من نسيج الخريطة العادية.
* في بعض البرامج ، لا يسقط الضوء من أسفل ، ولكن من أعلى ، قد يكون هناك خرائط طبيعية "من الجانب الأيسر" و "من الجانب الأيمن". كما سنرى لاحقا ، هذا يمكن أن يسبب بعض المشاكل.
الصورة الثالثة تخبر المحرك كيف يجب أن يعكس النموذج حالة الضوء من الأمام ؛ يتم تخزينه في القناة الزرقاء من نسيج الخريطة العادية. نظرًا لأن معظم الكائنات تظهر باللون الأبيض عندما تضيء من الأمام ، فإن الخرائط العادية تظهر عادة مزرقة.
عندما نجمع الصور الثلاث في صورة واحدة ، نحصل على خريطة طبيعية. تذكر أن هذا التفسير غير صحيح تمامًا ، لكنني آمل أن يسمح لك ذلك بفهم المعلومات المخزنة داخل الخريطة العادية وفهم ما تفعله بشكل أفضل.
لتلخيص:
الحالات الطبيعية عبارة عن متجهات يتم استخدامها لتحديد كيفية انعكاس الضوء من السطح. يمكن استخدامها للتحكم في الانتقال بين الوجوه (حساب متوسط القيم الطبيعية للرؤوس المتصلة لإنشاء انتقال سلس أو فصلها لإنشاء انتقال جامد) ، ولكن يمكنك أيضًا تغيير اتجاهها بحيث يعكس نموذج lowpoly الضوء بنفس الطريقة التي يعامل بها نموذج lowpoly الضوء.
يتم تخزين هذه المعلومات في ثلاث قنوات صور منفصلة ، ويقوم محرر ثلاثي الأبعاد بقراءتها لفهم الاتجاه الذي يجب أن يظهر فيه سطح النموذج.
في المقال التالي في السلسلة ، سنتحدث عن كيفية تحضير هذه الأجزاء من طراز highpoly إلى lowpoly.