باختصار
- يمكن لـ Houdini crowd agent الرجوع إلى تعريف يضم rig مشتركًا وأشكالًا هندسية وlayer ومقاطع حركية.
- تُخزّن الأشكال في shape library بأسماء فريدة؛ وتربط layer هذه الأشكال بتحويلات rig.
- يمكن حفظ مكونات تعريف agent في ملفات منفصلة كمراجع خارجية؛ ووفقًا لـ SideFX، قد يقلل ذلك البيانات المتكررة.
- يصف التوثيق linear skinning بأنه الطريقة القياسية والأسرع، ويذكر أيضًا أنها الطريقة الوحيدة المستخدمة في GPU skinning داخل viewport.
يستند هذا الدليل إلى أقسام محاكاة الحشود وagent في وثائق SideFX الخاصة بـ Houdini 22.0. والهدف هو تنظيم تعريف agent لحشد من الشخصيات، عبر تقسيم rig والهندسة والبيانات الحركية إلى مكونات قابلة لإعادة الاستخدام. لا يقدم التوثيق وصفة إعداد واحدة لجميع المشاهد ولا قيمًا موصى بها للمعلمات. لذلك تلتزم الخطوات التالية بالمكونات والسلوكيات الواردة في المصدر.
1. خطّط لأجزاء تعريف Agent
في Houdini، يُعد agent primitive نوعًا من packed primitive يحتوي على نقطة واحدة، ويمكن التعامل معه كجسيم في بعض الحالات. وتُسمى مجموعة البيانات المشتركة التي يرجع إليها agent primitive باسم agent definition. وقد يتضمن التعريف rig وshape library وlayer ومقاطع حركية ومجموعات تحويل وmetadata اختيارية.
حدّد البيانات المشتركة. نظّم rig والأشكال والمقاطع التي ستتشاركها نسخ agent نفسه ضمن مكونات التعريف. يتيح هذا الهيكل استخدام المكونات المشتركة من خلال التعريف نفسه بدلًا من إعادة إعدادها لكل نسخة.
جهّز rig والقنوات. يخزّن rig تسلسلًا هرميًا من التحويلات المسماة والقنوات. ويمكن أن يكون لكل تحويل عنصر أب، أو أن يكون تحويلًا جذريًا. ويمكن استخدام rest pose اختياري عندما لا يكون المفصل مدرجًا في المقطع الحركي، أو عندما لا تُسند إلى agent وضعية أو مقطع. ويمكن أيضًا تحديد قيم افتراضية للقنوات لاستخدامها عند غياب القناة المقابلة في المقطع الحركي.
فكّر في تخزين المعلومات الإضافية ضمن metadata. يمكن أن تخزّن metadata في تعريف agent معلومات خاصة، مثل المعلومات المتعلقة بإنشاء الأصول. وبما أن هذه المعلومات مشتركة بين التعريفات، فقد تكون بديلًا لإنشاء بيانات منفصلة لكل agent.
2. أنشئ روابط shape library وlayer
تحتوي shape library على الأشكال الهندسية التي يمكن لـ agent استخدامها، ولكل شكل اسم فريد. وتحدد layer الأشكال المستخدمة عند فتح agent، وكيفية تحويلها أو تشويهها. يتيح هذا الفصل إدارة أجزاء الهندسة وطريقة ربطها بـ rig كلٌّ على حدة.
نظّم الهندسة في أشكال مسماة. امنح كل شكل في shape library اسمًا فريدًا. وفقًا للتوثيق، تُحفظ الأشكال بصيغة packed primitive، ويمكن حفظ المكتبة في ملف هندسة واحد بصيغة geo/bgeo قياسية. ويمكن استخدام detail attribute باسم
shapelib_includesلاستيراد shape library إضافية؛ إذ يتطلب هذا الـ attribute معلومات مسار من جزأين لكل مصدر إضافي.عرّف shape binding داخل layer. يربط كل binding شكلًا من shape library بتحويل في rig. ويمكن أيضًا تحديد معامل قياس bounding box للشكل وdeformer المطلوب استخدامه. إذا لم يُعيّن deformer، يكون الربط ثابتًا؛ ويتبع الشكل تحويل المفصل المرتبط به.
اختر deformer وفقًا لمتطلبات الشكل. يجب أن تكون الهندسة في rest pose عند استخدام تشوهات skinning، وأن تحتوي على capture attributes توضّح تأثير تحويلات rig على الهندسة. يورد التوثيق linear skinning وdual quaternion skinning وخيارًا للمزج بينهما. وتُوصف الطريقة الخطية بأنها القياسية والأسرع، كما يذكر التوثيق أنها الطريقة الوحيدة المستخدمة في viewport GPU skinning.
3. أضف المقاطع الحركية ومجموعات rig
تتحكم المقاطع في تحويلات agent وقيم قنواته. وتحدد layer والتحويلات وقيم القنوات الحالية لـ agent الهندسة الناتجة عند فتحه. وتُحفظ المقاطع بصيغة .bclip القياسية.
طابق قنوات المقاطع مع rig. يذكر التوثيق أن قنوات التحويل تُخزّن في الإحداثيات المحلية، وتستخدم الصيغة
transform_name:channel. ويمكن أن تشير أسماء القنوات إلى مكونات الموضع أو الدوران أو القياس أو shear. إذا كان في حركة المصدر pre-transform، فضع في الحسبان أن التحويلات المحلية الكاملة في المقطع قد لا تطابق قنوات تحويل كائنات المصدر.طبّق المقاطع على أجزاء محددة من الهيكل العظمي. transform group هي مجموعة فرعية مسماة من التحويلات والقنوات في rig. ويمكن استخدامها لتطبيق المقاطع على أجزاء محددة من agent فقط. ويذكر التوثيق أنه يمكن تعيين وزن يتراوح بين 0 و1 لكل تحويل في المجموعة.
| الإعداد | القيمة الموصى بها | التأثير |
|---|---|---|
| وزن التحويل في transform group | النطاق المذكور في التوثيق: 0–1 | يحدد وزن التحويل في المجموعة عند تطبيق المقطع. هذا النطاق ليس إعدادًا مسبقًا، بل حدود القيم الممكنة. |
افصل مفهومي state وtrigger عن الحركة. في نظام Houdini crowd، تشير state إلى حالة افتراضية تتحكم في حركة agent والسلوكيات التي ينفذها. أما trigger فتحدد الشروط التي تدفع agent إلى الانتقال من حالة إلى أخرى. ويتناول التوثيق أيضًا أوزان السلوك والتنوع والتفاعل مع الديناميكيات الأخرى؛ وهذه ليست الوظيفة نفسها التي تؤديها المقاطع.
4. اختر سير عمل الحفظ وإعادة الاستخدام
يمكن تضمين مكونات تعريف agent في ملف هندسة. وبدلًا من ذلك، يمكن حفظ كل مكون في ملف منفصل واستخدامه عبر مرجع خارجي من agent primitive. في هذه الحالة، يُخزّن مسار الملف في ملف الهندسة بدلًا من المكون نفسه. وتذكر SideFX أن هذه الطريقة قد تقلل البيانات المتكررة بدرجة كبيرة، ولا سيما عند حفظ إطارات محاكاة الحشود.
اختر طريقة التخزين بما يناسب بنية المشهد. يؤدي تضمين المكونات إلى حفظ بيانات التعريف مع ملف الهندسة. أما المرجع الخارجي فيستدعي المكونات من ملفات منفصلة. في المشاهد التي يتكرر فيها التعريف نفسه عبر إطارات عديدة، فكّر في استخدام الملفات الخارجية، وتحقق من إمكانية الوصول إليها ضمن خط الإنتاج.
اكتب تعريف agent على القرص أو أنشئه. يمكن استخدام Agent ROP لكتابة تعريف agent primitive الحالي على القرص، أو لإنشاء تعريف agent من character rig أو ملف FBX. في هذه الخطوة، تأكد من توافق صيغة الحفظ مع اختيارك بين تضمين المكونات واستخدامها كمراجع خارجية.
تحقق من المكونات مجتمعة. تحقق أولًا من أن rig وshape binding وdeformer والمقاطع تعطي النتيجة المتوقعة، ثم انتقل إلى موضوعات أخرى مثل سلوك الحشود والتوافق مع terrain وتجنب العوائق. هذا اقتراح عملي لسير العمل لاختبار المكونات المترابطة كلٌّ على حدة، وليس توصية ثابتة بإعدادات في التوثيق. كما تسرد وثائق SideFX سير عمل Crowd Procedural للتحسين في مرحلة التصيير؛ لكن النص المصدر لا يقدم قيمًا محددة أو متطلبات للأجهزة.
أخطاء شائعة
تكرار اسم شكل ضمن shape library نفسها؛ إذ يجب أن يكون لكل شكل اسم فريد.
إغفال متطلبات rest pose أو capture attribute عند استخدام deformer خاص بـ skinning.
افتراض أن قنوات التحويل المحلية في المقطع ستتطابق تمامًا عندما تتضمن حركة المصدر pre-transform.
إنشاء مراجع لملفات خارجية من دون التحقق من توفر هذه الملفات في بيئة المشروع والتصيير.
التعامل مع state وtrigger والمقطع الحركي كما لو كانت تؤدي الوظيفة نفسها؛ فلكل منها مسؤوليات مختلفة.
من منظور سير العمل في الهندسة المعمارية والتصميم الداخلي وarchviz، تتمثل الفائدة المحتملة لهذا الدليل في إتاحة إدارة بيانات الشخصيات المتكررة بطريقة أكثر تنظيمًا. هذا ليس وعدًا من وثائق SideFX باستخدام مخصص لهذه المجالات، بل استنتاج حول كيفية الاستفادة من مكونات crowd agent الموثقة في أعمال التصور المعماري. في المشاهد التي تتضمن حشودًا، قد يسهل جمع rig والهندسة والمقاطع المشتركة ضمن تعريف واحد تتبع المكونات. وقد تقلل المراجع الخارجية البيانات المتكررة أيضًا. في المقابل، لا يحدد المصدر متطلبات معينة لوحدة GPU أو RAM، ولا شروط الترخيص أو ضمانات التوافق مع برامج archviz الأخرى. ينبغي التحقق من هذه الجوانب على نحو منفصل ضمن إعداد Houdini وخط الإنتاج المستخدمين.
المصادر
2 مصادرلا نعيد نشر نصوص المصادر؛ الاقتباسات القصيرة مشار إليها، وما تبقى ملخص وتعليق من إعدادنا.
تكمن القيمة العملية لبنية Houdini agent للمكاتب وفرق التصور في قدرتها على تنظيم بيانات الشخصيات المتكررة ضمن مكونات rig والهندسة والحركة. وفي المشاهد متعددة الإطارات، قد تساعد المراجع الخارجية على تبسيط إدارة الملفات؛ لكن مقدار الفائدة يعتمد على كمية البيانات المتكررة في المشهد، كما يشير المصدر.
ينبغي للفرق في تركيا ألا تستنتج من التوثيق معلومات عن تكاليف الأجهزة أو التراخيص الحالية؛ بل عليها التحقق من ذلك بما يتناسب مع إعداداتها. ومن المفيد التحقق، عبر تجربة صغيرة قبل بدء الإنتاج، من متطلبات deformer ومطابقة المقاطع ومسارات الملفات الخارجية. كما ينبغي أخذ دور linear skinning في viewport GPU skinning في الحسبان عند تحديد توقعات الأداء.
الأسئلة الشائعة
ما المكونات التي يتألف منها تعريف Houdini crowd agent؟
قد يتضمن تعريف agent rig وshape library وlayer ومقاطع وtransform group وmetadata اختيارية. وتحدد layer والتحويلات وقيم القنوات الحالية لـ agent الهندسة الناتجة عند فتحه.
ما طرق skinning المتاحة لـ crowd agent في Houdini؟
يورد التوثيق linear skinning وdual quaternion skinning وخيارًا يمزج بين الطريقتين. وتُوصف linear skinning بأنها الطريقة القياسية والأسرع.
ما فائدة حفظ تعريف Houdini agent في ملفات منفصلة؟
يمكن حفظ مكونات التعريف في ملفات منفصلة والاحتفاظ بها في ملف الهندسة كمراجع خارجية. وتذكر SideFX أن ذلك قد يقلل البيانات المتكررة، ولا سيما عند حفظ إطارات محاكاة الحشود.



