الشبكة العربية لمطوري الألعاب

خبير  أحمد عبد الغني مشاركة 11

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

اللهم انصر أهلنا في فلسطين وآجرنا أن نكون عوناً لهم

خبير  سلوان الهلالي مشاركة 12

شكراً جزيلاً للأخوان أحمد عز، الشمري، أحمد عبد الغني على مساعدتكم ومداخلاتكم الجميلة.
 

في 18 أيار 2009 11:08 م، غمغم الشمري باستغراب قائلاً:

- أسلوبك جميل في التدرج في الشرح , والأمثلة الجميلة ( لو أني لم أشاهد OpenGL ☺ ) .
 
كنت أود فعلاً إضافة أمثلة لـ OpenGL، ولكن ما العمل... العين بصيرة واليد قصيرة (أو الوقت قصير في هذه الحالة) لذلك فقد إكتفيت بـ Direct3D، أحد المشاكل التي واجهتني هي الحاجة لإعادة كتابة المظللات بلغة GLSL، أردت في البداية إعتماد مكتبة مشتركة للمظللات (مكتبة Cg من nVidia تحديداً) ولكن بما إن المقالة تدور حول موضوع حركة الشخصيات فقد فضّلت تقليل الإعتمادية على المكتبات الخارجية، والسبب الآخر هو إني لا أملك خبرة كافية في OpenGL لذلك فقد خشيت ارتكاب أخطاء في الاستخدام.


بتاريخ 18 أيار 2009 11:08 م، قطب الشمري حاجبيه بشدة وهو يقول:

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



وفي 19 أيار 2009 04:06 م، أعرب أحمد عبد الغني عن رأيه بالموقف كالآتي:

وأشاركه أيضاً الاعتراض على ترجمة الميش بالمشبك. صراحة الكلمة غريبة علي. اعتدت أن أسمع من زملائي وفي هذا المنتدى كلمة مجسم.
 
من حقكم الإعتراض على الكلمة، والطريف في الموضوع إني أشارككم الإعتراض ذاته. 😋  
أعتقد إن هذه من مخلّفات الفترة التي كنت أعمل بها كمصمم 3D Studio MAX قبل زمن طويل، حيث كانت جميع الكتب العربية التي أمتلكها في ذلك الوقت تصف المجسّمات بالإسم "مشبك"، لذلك فقد بقيت في ذهني لتطل برأسها الآن من دون كل الأوقات.
كانت بعض الكتب تسمي الـ vertex بالاسم "ذروة" أيضاً (و vertices "ذروات")، اسم غريب آخر؟ من حسن الحظ إني لم أعتمده.

أعتقد الآن إن إعتماد الاسم "مشبك" كان قراراً سيئاً، جاري التغيير.. (يمكن أن أتأخر في تقديم التعديلات بسبب فترة الأعمال الشاقة الحالية التي تسبق قترة الإمتحانات الجامعية النهائية.. أيام سيئة 😠 )


في 19 أيار 2009 04:06 م، قال أحمد عبد الغني بهدوء وتؤدة:

كما أن لي اعتراض مخفف على الهرمية. أعتقد أن كلمة شجرية أنجح ففيها دلالة على التفرع الغير منتظم بعكس الهرمية التي هي تفرع ثابت كلما انحدرنا في المستوى.  ما رأيك؟ 😒

أعتقد إني أفهم مصدر إعتراضك، ولكن حسب ما رأيت، هنالك سبب لاستخدام جملة Hierarchical Structure على جملة Tree Structure، كما تعلم فإن الثانية مستخدمة لوصف بعض المسائل البرمجية (على سبيل المثال الأشجار الثنائية المتزنة)، واجهت بعض الصعوبة في إختيار أي من الكلمتين أعتمد، في النهاية قررت اللجوء إلى القواميس التي لدي، والتي جميعها أعطتني "الهرمية" ولم أرى في أي واحد "الشجرية"، لذلك فقد إتخذت ذلك القرار، ما رأيك؟وهل هنالك من يعترض على نفس الكلمة أيضاً؟
 
 
شكراً لكم جميعاً، وأتمنى التوفيق في الإمتحانات للجميع إن شاء الله 😄

خبير  سعيد بسيوني مشاركة 13

وفي 25/جمادى الأولى/1430 01:43 م، أعرب سلوان الهلالي عن رأيه بالموقف كالآتي:

أعتقد إني أفهم مصدر إعتراضك، ولكن حسب ما رأيت، هنالك سبب لاستخدام جملة Hierarchical Structure على جملة Tree Structure، كما تعلم فإن الثانية مستخدمة لوصف بعض المسائل البرمجية (على سبيل المثال الأشجار الثنائية المتزنة)، واجهت بعض الصعوبة في إختيار أي من الكلمتين أعتمد، في النهاية قررت اللجوء إلى القواميس التي لدي، والتي جميعها أعطتني "الهرمية" ولم أرى في أي واحد "الشجرية"، لذلك فقد إتخذت ذلك القرار، ما رأيك؟وهل هنالك من يعترض على نفس الكلمة أيضاً؟

هو كلام السيد أحمد فيه وجهة نظر، وكلامك برضو فيه وجهة نظر 😖   بس أنا ميال لشجرية أكتر شوية
بس وجهة نظرك ان مصطلح شجرية مستخدم في التعبير عن حاجات تانية برضو مهمة.
 
طيب. عندي اقتراح... إيه رأيكم بمصطلح:  بنية متفرعة؟
 
بالمناسبة، مقالة ممتازة جداً! يعني عشرة على عشرة 😄   ان شاء الله تكون من الفايزين

خبير  سلوان الهلالي مشاركة 14

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

كذلك قمت بعمل تعديلات كثيرة على الجزء الأول منها تغيير "مشبك" إلى "مجسّم" وتغيير "هرمية" إلى "شجرية".
أشكر جميع من ساعدوني وقدموا ملاحظات واعتراضات. 😏

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

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

وفقكم الله جميعاً 😄

خبير  أحمد عزالدين مشاركة 15

السلام عليكم

مقالة أكثر من رائعة ، ومليئة بالمعلومات المفيدة والجديدة 😄
جزاكم الله خيرا أخي سلوان ومبارك على المقالة الرائعة 😄 ومجهود أكثر من رائع تستحق عليه 5 نجوم.

شكرا على الافكار الرائعة في المقالة والتي غطت مواضيع وأفكار مفيدة ، ولقد أعجبت حقا من فكرة الحركة البطيئة slow motion.

أتمنى أن أراك من الفائزين ان شاء الله.

أحمد عزالدين
طالب دراسات عليا
جامعة كالجري

خبير  سلوان الهلالي مشاركة 16

في البداية أشكر هيئة التحكيم على دقتهم العالية في التعديل، لا شك إنها كانت عملية شاقة وانا شخصياً ممتن فعلاً لأني أدركت الكثير من أخطائي في الكتابة (ولا زال هناك الكثير بلا شك 😄 ).

لم أعلم أين أضع هذا الاستفسار البسيط حول أحد التعديلات المقدمة (ولعل من الطريف أن يستفسر كاتب المقالة عن مقالته 😏 ).
في الصفحة 13 من مقالة حركة الشخصيات - الجزء الأول، في الجزء الذي ذكرت فيه شركة Natural Motion، تم تظليله وإضافة التعليق الآتي: "المنتج الموضح لا يقدم خدمات
تحريك ضمن محركات الألعاب، وإنما يستخدم في إنشاء الحركات ضمن برامج التصميم، قبل
تصديرها لمحركات الألعاب."

لقد عدت لتوي إلى موقعهم للتأكد، حيث إن ما ذكرته قد قرأته من صفحة الأسئلة والأجوبة في موقعهم (http://www.naturalmotion.com/faq.htm) تحديداً السؤالين الأول والثاني:

Q: What is Dynamic Motion Synthesis?

A: Dynamic Motion Synthesis (DMS) is NaturalMotion's proprietary
technology for synthesising animations on-the-fly. Previously,
animation data had to be manually created (through key-framing) or
recorded (through motion capture). This is often expensive and
laborious, and results in static non-interactive data.

DMS is instead based on a full simulation of the 3D character,
including body, muscles and motor nervous system. This creates fully
interactive animations that act and react differently every time.

Q: What is the difference between endorphin, euphoria and morpheme?

A: endorphin and euphoria are both based on Dynamic Motion Synthesis (DMS). This means they are capable of synthesising animation data in real-time. endorphin uses DMS to create canned (or baked) animation data (but much faster than key-framing or mocap). euphoria uses DMS to synthesise animation on-the fly on Playstation 3, Xbox 360 and PC.

Unlike endorphin and euphoria, morpheme
is not based on DMS. Instead, it is an advanced animation engine and
tool chain to drastically increase the quality of canned animation
in-game. morpheme is, however, out-of-the-box prepared to slot in euphoria, and natively supports endorphin animation data.


ما فهمته إن هذه التقنية (أي DMS) هي بديل تفاعلي لطرق الحركة التقليدية، وكذلك فإن برنامج euphoria تحديداً قد تم وصفه بأنه قادر على توليف الحركة في الزمن الحقيقي.
هل يمكن توضيح الخطأ الذي إرتكبته بشكل أدق؟


شكراً لكم

خبير مدير وسام البهنسي مشاركة 17

وفي 05 يونيو 2009 07:04 ص، أعرب سلوان الهلالي عن رأيه بالموقف كالآتي:

هل يمكن توضيح الخطأ الذي إرتكبته بشكل أدق؟

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

وسام البهنسي
مبرمج في إنفيديا وإنفريمز

موهوب  ameer abu gneem مشاركة 18

السلام عليكم
 
ممممممممممم...... لقد قرأت المقال صراحةً لم اكن اعلم كل هذا الكم من المعلومات الجديده عن هذا الموضوع لكن لدي سؤال :
 
انا مبرمج العاب ما زلت في طور التدريب واكتساب الخبره وكما تعلم طريقة تحريك الشخصيات التي اوردتها في مقالك لا تناسبني بعد (تحريك الشخصيات
 
برمجياً) فأنا وكما تعلم ما زلت مبتداً وما زلت استعمل الطريقه التقليديه وهي تسجيل حركات الشخصيه في برنامج التصميم نفسه واختيار الـ KeyFrames
 
المناسب خلال برمجتي للّعبه في حين وقوع حدث Event معيّن....هل عليّ تعلم الطريقتين ام طريقة التحريك برمجياً هي التي يجب ان ابدأ بها واترك
 
تلك الطريقه التقليديه؟
 
وشكراً.

--------------------

الحياة في بعض الاحيان لعبة مقرفه....لكن على الاقل تحتوي على جرافيكس متقدم :-)

خبير  سلوان الهلالي مشاركة 19

وفي 06 حزيران 2009 09:23 م، قال ameer abu gneem متحمساً:

السلام عليكم
 
ممممممممممم...... لقد قرأت المقال صراحةً لم اكن اعلم كل هذا الكم من المعلومات الجديده عن هذا الموضوع لكن لدي سؤال :
 
انا مبرمج العاب ما زلت في طور التدريب واكتساب الخبره وكما تعلم طريقة تحريك الشخصيات التي اوردتها في مقالك لا تناسبني بعد (تحريك الشخصيات
 
برمجياً) فأنا وكما تعلم ما زلت مبتداً وما زلت استعمل الطريقه التقليديه وهي تسجيل حركات الشخصيه في برنامج التصميم نفسه واختيار الـ KeyFrames
 
المناسب خلال برمجتي للّعبه في حين وقوع حدث Event معيّن....هل عليّ تعلم الطريقتين ام طريقة التحريك برمجياً هي التي يجب ان ابدأ بها واترك
 
تلك الطريقه التقليديه؟

وعليكم السلام،

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

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

أما فيما يخص الحركة الديناميكية المستخدمة لتحل محل الطريقة التقليدية بالكامل، فتقنية Dynamic Motion Synthesis من Natural Motion هي الوحيدة حسب علمي.

أرجو أن أكون قد اجبت عن تساؤلك بشكل صحيح 😄