المساعد الشخصي الرقمي

مشاهدة النسخة كاملة : [تقرير] محرك Quest3d



d.a.m.h
13-09-2006, 12:06 PM
بسم الله الرحمن الرحيم والصلاة والسلام على رسولنا الكريم محمد بن عبدالله سيد الخلق اجمعين

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

فكرة البرنامج:
عندما تفتح هذا البرنامج فانك ستجد قوائم كثيرة واشياء عجيبة....ما كل هذه الاشياء؟؟؟
انظر الى هذه الصورة

http://www.montada.com/attachment.php?attachmentid=265358&stc=1&d=1158137559[/URL]


تعتمد فكرة البرنامج على خاصية جذب ووضع الملفات المسماه templates فى الChannel Graph
او ما تسمى باللغة الانجليزية خاصية Drag and drop....... الملفات الموجودة على اليسار
تسمى templates عندما تكون مفردة اما لو تم وضعها فى الChannel Graph فانها تسمى Channel...ومجموعات الChannels المتصلة ببعضها تسمى Channel Group
كيف يتم توصيل الTemplates ببعضها لتكوين Channel؟؟؟
من خلال هذه الصورة يمكن ان نتعرف على شكل الChannel

http://www.montada.com/attachment.php?attachmentid=265359&stc=1&d=1158137559 (http://www.montada.com/attachment.php?attachmentid=265358&stc=1&d=1158137559)

كما نرى فى هذه الصورة فان القنوات يمكن ان تتصل ببعضها من خلال المربعات الموجودة....طبعا القنوات المتصلة لابد ان تكون متلائمة مع بعضها يعنى ليس كل القنوات تستطيع الاتصال ببعضها وهذا سنتطرق اليه فى دروس قادمة باذن الله.......بقى ان اقول فقط ان القنوات العالية التى يخرج الخط منها(Channel linking) من المربع السفلى يسمىParent او الاب مجازا اما القناة الموجودة بالاسفل فتسمى Child او الطفل (يعنى التشبيه مثل شجرة العائلة كل طفل فيها له اب جاء به الى الدنيا).....انظر الصورة

http://www.montada.com/attachment.php?attachmentid=265360&stc=1&d=1158137559

انسيابية البرنامج (Program flow):
المقصود بهذا المصطلح هو كيف يسير البرنامج او كيف تتم قراءة القنوات من قبل البرنامج.
لو اننا فحصنا هذا الكود الصغير للC++
Int number
Cout<<"Write a number"
Cin>>number
يقوم الCompiler هنا بحجز متغير فى الذاكرة يسمى number ثم يخرج الجملة التى تطلب منك رقم وبعدها يطلب منك ادخاله (اى ان القراءة تتم من اعلى الى اسفل فى الغالب)
وهنا يأتى السؤال....هل يقوم برنامجنا بقراءة قنواته بهذه الطريقة؟؟.....نعم لكن البداية انت من يحددها وليس البرنامج فاذا اردت البداية من اى قناة من القنوات المتصلة فانك تضغط بزر الفأرة الايمن وتختار من القائمة المنسدلة set as start channel وعندها سيقوم البرنامج بالقراءة من هذا الموضع...

http://www.montada.com/attachment.php?attachmentid=265361&stc=1&d=1158137559 (http://www.montada.com/attachment.php?attachmentid=265360&stc=1&d=1158137559)


http://www.montada.com/attachment.php?attachmentid=265362&stc=1&d=1158137559[URL="http://www.montada.com/attachment.php?attachmentid=265362&stc=1&d=1158137559"]


فكرة عمل منظر ثلاثى الابعاد:
اذا اردت ان تقوم بتصوير فيلم فانك اولا تبتاع كاميرا ثم تذهب الى الحجرة المطلوب التصوير فيها وتضبط الاضاءة ثم تجلب الاشخاص الذين ستصورهم او ما نسميهم بلغة مصممى الالعاب Objects او الكائنات
وهذه ابسط المتطلبات التى تؤهلك لعمل مشهد ثلاثى الابعاد بسيط.....فأنت تحتاج لتحديد كاميرا وجذب الTemplate المسئولة عن الاضائة (والاضائة لها ثلاثة انواع Direction light و Spot light و Point light ) ثم تجذب الTemplate المسئولة عن وجود اجسام ثلاثية الابعاد وتصل الثلاثة ب Template تسمى Render متصلة هذه بTemplate مسماه Start 3d scene.......بسيطة اليس كذلك؟؟

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

انواع الكاميرات المتاحة:
هناك انواع كثيرة متاحة منها
- Inspection camera وهى تستخدم لتفحص المجسم عن طريق تمكينك من تدويره حول محوره بضغط الزر الايمن من الماوس مع تحريكه فى اى اتجاه
-Third person camera وهى تستخدم لعمل العاب مثل Max payne وغيرها
-Walkthrough camera لكن وظيفتها مجهولة بالنسبة لى لكنها كاميرا متحركة على اى حال
-Basic camera وهى كاميرا عادية تماما توضع لتصوير شىء معين فقط دون تأثيرات
وانواع اخرى لم اتطرق لها حاليا
-Animation camera: تقوم تلقائيا بالدوران حول المجسم المستعمل وقد تفيد فى عمل فيلم فيديو للعبتك

خاصية التحريك (Animation):
طبعا من الاجزاء الحيوية فى البرنامج وهى ان تجعل المجسم يتحرك
هناك نوعين منها.....نوع بسيط وهو الذى يستخدم الFrames او بالعربية تسمى بالاطارات كما فى برنامج Flash
الاطارات هنا ذكية...فلو انك وضعت فى الاطار الاولى الجسم المستعمل فى مكان معين ثم غيرت مكانه فى الاطار الخامس فان الكرة ستتحرك فى الاطارات الاربع التى تفصل بين الاثنين حتى تصل الى الموقع الجديد فى الاطار رقم خمسة.....وطبعا يمكن ان تفعلها فى برنامج الفلاش لكن بعد تضبيط خواص معينة

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

المجسمات التى يستوعبها البرنامج:
تسطيع تحميل مجمسات بصيغة .x , .3ds , .ls , .cgr , .mot , .lwo
طبعا يتوقف دورى عند سرد انواع الملفات....اما البرامج التى تنتجها فلا اعرفها
(ملحوظة: .cgr هو الملف التطبيقى الذى تخزن به مشاريعك بهذا البرنامج فتستطيع بتحميل ملف بهذه الصيغة ادخال مشروعين معا وتسمى هذه الخاصية Merging كما فى الجيم ميكر)

الاكساء(Texturing):
خاصية الاكساء هنا تمكنك من تغطية مجسماتك اما مسطحة على محورx او محور y او z او تكون فى شكل مكعب او كرة او..او..لكنها غير مريحة قليلا فى التعامل معها خاصة اذا حاولت اكساء شجرة بالاوراق
رسم الطبيعة(Nature painting):
خاصية موجودة بالبرنامج تمكنك من توزيع مجسماتك فى البيئة التى صممتها بتحديد المكان والضغط على زر الماوس (يعنى مثل توزيع الTiles فى الجيم ميكر)

طبعا كل المصادر التى تحتاجها موجودة بال Templates
لكن هناك طرق لوضعها ستكون باذن موضحة فى دروس سأكتبها لاحقا باذن الله حين اكون مهيأ لذلك
هنا يأتى السؤال....هل البرنامج يسير بخاصية الDrag and Drop فقط؟؟
والاجابة لا..فالبرنامج لم ينسك وينسى محبى البرمجة وكتابة الاكواد.ففى البرنامج ممكن ان تستعمل ما يسمى بLua script وهى لغة برمجية مصنوعة من C++ وDirectX
لكنى حاليا لا اعرف مدى امكانيتها..وهل هى مثل GML بها دوال للحركة والسرعة و..و..و...الى اخره ام لا...

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

||صقر||
13-09-2006, 12:13 PM
يسرنى أكون أول واحد يرد على الموضوع...... شكل الموضوع كبير حالياً أقرأه وأقول رأى
شكرا...

PrinceOfSorrow
13-09-2006, 12:35 PM
ألا توجد للعبة مبرمجة بهذا البرنامج ؟
أريد معرفة امكانياته;)

وشكرا على الموضوع ^^

snake_x86
13-09-2006, 01:14 PM
شكرا على الدرس
انا عندي البرنامج و اهم ملاحظة انه له قدراته الرسومية رهيبة و فيه شيدرس تخوف
بس ما اتعلمته عشان ما اشتت مخي بينه و بين الدارك بيسيك

d.a.m.h
13-09-2006, 01:24 PM
احمد صقر: دائما سباق بالخير....فى انتظار رأيك

Prince of sorrow: كنت انوى فعلا وضع مثال فى الموضوع لكنى نسيت
عموما اذهب الى هذه الصفحة وحمل ماتريده من الامثلة وقل لى رأيك
http://www.quest3d.com/index.php?id=15

Snake_86: فعلا المحرك قوى وبه امكانيات عالية....لم اصل الى الشيدرس بعد صراحة
شكرا على الرد وبالتوفيق فى الدارك بيزك

||صقر||
13-09-2006, 01:49 PM
ماشاء الله.... يبدو أن إمكانيات هذا المحرك رهيبه*^*....أعتقد بأنه يحتاج وقت حتى أتقنه ..... شكراااا أخى على التقرير المفيد .... فى إنتظار جديدك

باز يطير
13-09-2006, 03:35 PM
السلام عليكم ورحمة الله وبركاته

ما شاء الله تقرير مفيد جداً والبرنامج ذو امكانيات كبيرة;)

وما شاء الله فكرة حلوة منك انك تعمل شرح لبرنامج قوي في عالب الثري دي

الله يعطيك الف عافية

وفيه ملاحظة حلوة ليه ما تنزل موضوع ثاني في منتدى الثري دي:)

شكراً ليك اخوي

PrinceOfSorrow
13-09-2006, 04:19 PM
Prince of sorrow: كنت انوى فعلا وضع مثال فى الموضوع لكنى نسيت
عموما اذهب الى هذه الصفحة وحمل ماتريده من الامثلة وقل لى رأيك
http://www.quest3d.com/index.php?id=15

له أمكانيات رائعة حقا :D
شكرا لك ولكن انا صممت اني اعرف شوي للدراك بسك ;)

Son Of UAE
14-09-2006, 11:45 AM
مشكور على الموضوع .. بس الي انا فهمته انه برنامج وليس محرك ؟ ممكن حد يوضح ؟

d.a.m.h
14-09-2006, 12:28 PM
احمد صقر: العفو.....وفعلا انا انبهرت ببعض الامثلة

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

Prince of sorrow: مادمت بدأت بالدارك بيزك فاكمله ولا تشغل بالك حاليا بشىء اخر.....من يدرى ..فقد تحتاج الى النظر الى هذا التقرير فى يوم من الايام :D

Son of UAE: فعلا لو ان احدا يوضح الفرق يكون افضل :o

||صقر||
14-09-2006, 04:17 PM
Son of UAE: فعلا لو ان احدا يوضح الفرق يكون افضل :o
يا أخوانى كل شئ انتو بتتعامله معه و يكون له رده فعل فى الجهاز يسمى برنامج ....:Dبمعنى ان كل ما تتعاملوا معه على الجهاز ما هى إلا برامج^^!.....
يعنى البرامج تنقسم لأقسام .... برامج تطبيقيه .. ألعاب ...إلخ
و كله له وظيفته و كلها اسمها برامج أما المحركات فمنها يستخدم واجهه GUI و منها ما هو مجرد سورس كود ....كويست ثرىدى و كذلك UNREAL ENGINE و كذلك FPSCREATOR ماهى إلا محركات جاهزه تستخدم واجهه GUI أما محرك كمحرك Quke و بقيه المحركات فما هى إلا سورس كود.....
أتمنى أنى أكون قد وفقت فى الإجابه
يالله ... اراكم تطورتم ... وبدأتم الإنتقال لعالم الثرى الدى الإحترافى^*^

Son Of UAE
14-09-2006, 10:18 PM
برنامج التصميم هو برنامج له واجهة خاصة و اوامر خاصة و لغة خاصة و به كمبايلر يقوم بتحول السورس كود الخاص بالبرنامج إلى ملف تنفيذي .. اما المحرك فهو عبارة عن ملف DLL يحتوي على مجموعة من الدوال تسهل عمليه البرمجة و تختصر الكثير و الكثير من الوقت. و يتم ادخالها في لغة برمجة مثل السي و الفجيوال بيسك.

CHALLENGER
15-09-2006, 03:27 AM
برنامج التصميم هو برنامج له واجهة خاصة و اوامر خاصة و لغة خاصة و به كمبايلر يقوم بتحول السورس كود الخاص بالبرنامج إلى ملف تنفيذي .. اما المحرك فهو عبارة عن ملف DLL يحتوي على مجموعة من الدوال تسهل عمليه البرمجة و تختصر الكثير و الكثير من الوقت. و يتم ادخالها في لغة برمجة مثل السي و الفجيوال بيسك.
مع انه اوضحنا الفرق كثيراً من قبل و لكن لا مشكلة :)

و شكرا damh على التقرير المفصل

||صقر||
15-09-2006, 08:58 AM
اما المحرك فهو عبارة عن ملف DLL يحتوي على مجموعة من الدوال تسهل عمليه البرمجة و تختصر الكثير و الكثير من الوقت. و يتم ادخالها في لغة برمجة مثل السي و الفجيوال بيسك.
إذا فلماذا أسمو محرك أنريل بمحرك؟؟؟؟؟

snake_x86
15-09-2006, 11:30 AM
كلام ابن الامارات صحيح لكن يمكن ان يكون المحرك على شكل DLL او سورس كود (Functions)
يحتوي على دوال العمليات الصعبة كالفيزياء و التصادم و احيانا الذكاء الاصتناعي و توريد العوالم و احيانا توريد الشخصيات و هذه الاشياء من خواص محرك كويك
و ايضا يقوم المحرك بالتكفل بعمليات الاظهار (Real Time 3D rendering) و هذه اهم شيء في محركات الالعاب

و يمكننا اخذ مثال محرك السيارة فتجد بعض شركات صناعة السيارات مثل SSangYong
تقوم بشراء محركات من مرسيدس (و هو القطعة الرئيسبة في السيارة حيث يقوم بتحريكها)
و تضعه في هيكل سيارتها و تقوم باضافة الاشياء الاخرى كالعجلات و المكابح و المكيف و ... و.... الخ
و كل هذه الاضافات ترتبط بالمحرك بدونه لن يعمل شيء

d.a.m.h
15-09-2006, 09:28 PM
اشكركم يا جماعة على توضيح الفروق
فعلا Quest3D لديه قنوات جاهزة للتصادم ولرسم البيئة المحيطة عمل الظلال او الانعكاسات
اذن فهو محرك :33: