Contacts
صفحه اصلی پورتال | صفحه اصلی تالار | ثبت نام | اعضاء | گروه ها | جستجو | پرسش و پاسخ | فروشگاه الکترونیکی | خرید پستی بازی های کامپیوتری





صفحه اول انجمنها -> برنامه نويسي تخصصي DirectX و اصول برنامه نويسي تحت ويندوز -> ساختمان Game Engine
 

ارسال يك موضوع جديد   پاسخ به يك موضوع ديدن موضوع قبلي :: ديدن موضوع بعدي
برو به صفحه قبلي  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  بعدي

نويسنده
پيغام
pepeland
در حال رشد
در حال رشد


تاريخ عضويت: 3 شنبه 4 مرداد 1384
تعداد ارسالها: 95
محل سكونت: شيراز


4 شنبه 27 مهر 1384 - 05:22
پاسخ بصورت نقل قول
من یک پیشنهاد دارم و اون هم اینکه همه مباحثی که در این تاپیک مطرح میکنی را در نهایت در یک فایل pdf جمع آوری کن تا براحتی همه بتوانند دانلود کنند و استفاده ببرند.
با تشکر

_________________
www.pepeland.net
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


4 شنبه 27 مهر 1384 - 14:27
پاسخ بصورت نقل قول
pepeland عزيز از پيشنهادتون ممنونم فقط اگه برنامه اي رو معرفي کنيد خيلي بهتره. Surprised
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نويسنده
پيغام
pepeland
در حال رشد
در حال رشد


تاريخ عضويت: 3 شنبه 4 مرداد 1384
تعداد ارسالها: 95
محل سكونت: شيراز


جمعه 29 مهر 1384 - 05:35
پاسخ بصورت نقل قول
GameOver نوشته:
pepeland عزيز از پيشنهادتون ممنونم فقط اگه برنامه اي رو معرفي کنيد خيلي بهتره. Surprised


خواهش میکنم . اگر منظورتان برنامه برای درست کرد pdf است برنامه FinePrint pdfFactory Pro
برنامه خیلی خوبیه و براحتی میشه pdf با هر فونتی ایجاد کرد.
این هم آدرس وبسایتش: http://www.fineprint.com

GameOver نوشته:
با اين دويستو خورده بازديد كننده هيچكس يه سوال هم براش پيش نيومده Surprised

خوب این دویست و خورده ، حدود 10 - 15 بارش مربوط به منه ، احتمالا حدود 10-20 بارش هم مربوط به خودتونه و بقیه اش هم 3-4 نفر دیگه!

_________________
www.pepeland.net
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


جمعه 29 مهر 1384 - 12:57
پاسخ بصورت نقل قول
يعني اين بحث جالب نيست Neutral

اسماييل جان :
منظورت از برنامه نويسي بدون انجين چيه ؟ يعني ميخواي از اول شروع کني و خودت يک انجين درست کني ؟
در مورد دومي هم اگه يه Map Editor خوب ميخاي Unreal Editor هم براي برنامه نويسي خيلي اسون هست هم براي طراحي و روي هر بازي UT 2003 هم يکيش هست اگه به صورت آنلاين هم ميخواي توي سايت http://udn.epicgames.com ميتوني پيداش کني در مورد جزييات برنامه نويسيش هم اگه خواستي برام يک پيغام خصوصي بزار تا کامل برات توضيح بدم.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نويسنده
پيغام
Kochol
متخصص ساخت بازی
متخصص ساخت بازی


تاريخ عضويت: شنبه 1 مرداد 1384
تعداد ارسالها: 298


شنبه 30 مهر 1384 - 12:16
پاسخ بصورت نقل قول
سلام
اینم سوال.
آیا ما اگه از دایرکت 3 دی استفاده کنیم خودش این کار کولینگ را برای ما انجام نمی ده.

_________________
Kochol Game Engine

[img]http://barnamenevis.org/forum/image.php?type=sigpic&userid=6875&dateline=1258101798[/img]
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


شنبه 30 مهر 1384 - 16:32
پاسخ بصورت نقل قول
نقل قول:

آیا ما اگه از دایرکت 3 دی استفاده کنیم خودش این کار کولینگ را برای ما انجام نمی ده.


دايرکت 3 دي يک سري کارهاي اوليه رو انجام ميده مثل حذف کردن چيز هايي که پشتشون به دوربين هست ولي کار هاي پيچيده تر رو انجام نميده مثل حذف کردن چيزهايي که تو دوربين نيستند Surprised
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


جمعه 6 آبان 1384 - 16:37
پاسخ بصورت نقل قول
قسمت 6 : روند اوليه گردش گرافيک در برنامه .

مسير گردش يک برنامه گرافيکي به اين صورت ميباشد :

1 - برنامه تصميم ميگيره که چه شيء هايي در Map هست انها چه مدلي دارن و چه پوسته اي رو استفاده ميکنند در چه فريمي از انيميشن هستند و در کجا قرار دارند و همچنين بازي مشخص ميکنه که دوربين در کجا قرار داره و جهتش به کدوم سمته.
2- برنامه اين اطلاعات رو به Renderer تحويل ميده. در مورد مدلها برنامه اندازه مدل رو مشخص ميکنه و تعيين ميکنه که مدل در کجاي دوربين قرار داره و با توجه به موقعيت دوربين مقداري يا تمام مدل رو حذف ميکنه.( به وسيله تکنيک هايي که در قبل توضيح داده شد.)
3- به ازاي هر مثلث که به Renderer وارد ميشه . Renderer محاسبات جابه جايي اشياء رو بر اساس مختصات محلي و اصلي مدل انجام ميده و اون مدل رو بر اساس طرف شيء به دوربين ( پشت شيء به دوربين ) از مسير خارج ميکنه ( حذف کردن پشت مدل به دوربين ( back face Culling )) و در اين قسمت اشياء به 3dAPI تحويل داده ميشه و بعد هم به کارت گرافيک.

اين روش خيلي به صورت ساده بيان شده ولي ايده خوبي براي اينه که بدونيم مسير اصلي يک بازي چي هست و چطور يک برنامه رو کنترل کنيم .
مراحل کاملتر و دقيق تر در زير اومده :

1- برنامه / گيم

* Load شدن Map و اشياء
* قرار گيري اشياء در صحنه و تنظيم جهت دوربين
* Load کردن انيميشن ها و حرکت هاي اشياء
* قرار دادن اشياء در Map
* چک کردن درصد معلوم بودن اشياء در صحنه (توسط تکنيک هاي BSP , PVS , ...)
* انتخاب درصد جزييات اشياء

2 - رياضيات / هندسه

* عوض کردن شيء ها ( چرخش جابه جايي و تغيير اندازه )
* عوض کردن مختصات محلي به مختصات صحنه يا Direct3D) .World )
* عوض کردن مختصات صحنه به مختصات دوربين
* بدست اوردن پرسپکتيو ( View Projection )
* حذف قسمت پشت شيء به دوربين ( Back-Face Culling )
* محاسبات نور پردازي
* انتقال به صفحه مانيتور

3- تنظيم مثلث ها

* حذف سطح پشتي ( بايد قبل از نورپردازي انجام شود )
* محاسبات بردار نرمال ( براي نور پردازي درست و Bump Mapping , ... )

4 - نمايش / Rendering

* سايه زدن
* Texturing يا درست کردن بافت بر روي يک شيء
* مه
* تست الفا ( Alpha ) براي درست کردن اشياء شفاف مثل شيشه
* تست عمق
* antialiasing ( براي لبه هايي نرم تر ( اين قسمت الزامي نيست ))
* نمايش بر روي مانيتور

تمام مراحا بالا براي ساختن يک برنامه سه بعدي لازم هستند ولي به صورت دقيقتر و کاملتر.
برنامه براي تسريع به روند Load کردن مثلث ها انها رو به صورت ليست مرتب ميکند و بعد با Texture هاي متناسب به کارت گرافيک انتقال ميدهد ( نه به صورت تک تک ) و بعد به ترتيب فاصله از دوربين انهارا رسم ميکند ( براي تکنيک Alpha Testing و براي رندر کردن اشاييء مثل شيشه ) ولي در حالت معمول با وجود تکنيک Z Buffering از اين تکنيک خيلي کم استفاده ميشه.
اشياييء مثل شيشه بايد آخر از همه اشياء رندر بشند چون بقيه اشياء بايد در قبل رندر شده باشند که در آخر بشه اونارو در پشت شيشه ديد .
برنامه هاي جديد از محاسبات نور پردازي و انتقال اشياء در CPU استفاده نميکنند بلکه کارت هاي جديد اين محاسبات رو ساپورت ميکنند و در مصرف CPU به مقدار زيادي صرفه جويي ميکنند. در امروزه براي صرفه جويي در مصرف GPU هم تکنيک هايي ارائه شده مثل بردازش محاسبات نور پردازي در قبل از اجراي بازي ( Off Screen Rendering ) که از پردازش نور هاي ثابت در موقع اجرا جلوگيري ميکنه .

اينم Rendering pipeline
تا بعد Surprised
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نويسنده
پيغام
Ali
مدیر کل
مدیر کل


تاريخ عضويت: شنبه 20 تير 1383
تعداد ارسالها: 2983
محل سكونت: On the edge


2 شنبه 9 آبان 1384 - 04:21
پاسخ بصورت نقل قول
جان مطالب شما بسیار مفید هستن... لطفا در صورت امکان این بحث رو ادامه بدین...GameOver,

_________________
پی سی گیمرز - آرشيو بزرگ بازی های کامپیوتری
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي ارسال ايميل ديدن وب سايت كاربر نام كاربري در پيغامگير Yahoo
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


3 شنبه 10 آبان 1384 - 03:39
پاسخ بصورت نقل قول
کم کم داشتم نا اميد ميشدم . Crying or Very sad
در اولين فرصت ادامه مطلب رو مينويسم.
علي اقا از اين که به من هم سر زديد سپاس گذارم. Laughing
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نويسنده
پيغام
GameOver
بازی ساز
بازی ساز


تاريخ عضويت: 2 شنبه 11 مهر 1384
تعداد ارسالها: 131


3 شنبه 10 آبان 1384 - 22:54
پاسخ بصورت نقل قول
از وقفه اي که پيش اومد عذر ميخام. مي خاستم که يه چيز رو هم به مطالبم اظافه کنم و اونم اين هست که اين مطالب همگي به صورت تئوري هستند ولي ساي ميکنم بيشترشون رو به زودي به صورت عملي هم به نمايش در بيارم ( اگه کارم بهم اجازه بده ).
اين مطالب تماماٌ توي يک انجين استفاده ميشه و من ميخام که کاملا اين بحث رو تموم کنم و بعد به سراغ برنامه نويسيش برم که کاملاٌ بر اين مطالب توي برنامه نويسي تسلط داشته باشيد. اميدوارم که تا اينجا چيزي رو از قلم ننداخته باشم و مورد استفاده شما دوستان واقع شده باشه.

قسمت 7 patch ( وصله ها ):

به اضافه مثلث ها patch ها هم در بازي ها خيلي استفاده ميشه. patch يا وصله ها ميتونند که يک شيء رو تعريف کنند ( به صورت منحني) و به وسيله فرمول هاي رياضي( به جاي استفاده از ليست کردن Vertex ها و مشخص کردن موقعيت دقيقشون ) .
با اين روش ميشه شيء رو بدون اندازه گرفتن موقعيت دقيق Vertex ها حالت داد و ميشه تصميم گرفت که چند تا مثلث در اون شيء وجود داشته باشه. مثلا در يک اتاق که 10000 تا مثلث وجود داره ميتونيم تايين کنيم که مثلا يک ليوان 150 تا مثلث داشته باشه و در اتاق ديگه که 5000 تا مثلث داريم ميتونيم تايين کنيم که اون ليوان 500 تا مثلث داشته باشه چون تعداد مثلث هاي اتاق دوم کمتر هست و بار اضافه به روي کارت گرافيک کم هست و ما ميتونيم ليوان نرم تري رو ( از نظر گوشه ها ) داشته باشيم.
وصله ها چيز هاي خيلي جالبي هستند ولي بايد قبل از اجراي برنامه اون ها رو محاسبه کنيم ولي در کل فرستادن patch ها به AGP خيلي با ارزش تر از محاسبه vertex ها براي همون شيء هستند.

http://common.ziffdavisinternet.com/util_get_image/1/0,1425,i=11193,00.jpg

الان ATI از برنامه TRUFORM استفاده ميکنه که مدل ها رو بر پايه مثلث ميگيره و به صورت patch تحويل ميده و همين طور برعکس ( براي نرم کردن مدل ها ). ولي اين روش يک سري مشکلات داره. براي مثال نميتونيد تايين کنيد که بيني يک شخص تيز باشه ( در موقع تبديل ) ولي به هر حال اين تکنولوژي خيلي خيلي جاي پيشرفت داره و تقريبا در تمام بازي ها از اون استفاده ميشه.
ارسال  بازگشت به بالا
ديدن مشخصات كاربر ارسال پيغام خصوصي شماره ICQ
 

نمايش نامه هاي ارسال شده قبلي:   
ارسال يك موضوع جديد   پاسخ به يك موضوع    صفحه 3 از 10 تمام ساعات و تاريخها بر حسب 3.5+ ساعت گرينويچ مي باشد
برو به صفحه قبلي  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  بعدي


 
پرش به:  


شما نمي توانيد در اين انجمن نامه ارسال كنيد.
شما نمي توانيد به موضوعات اين انجمن پاسخ دهيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن ويرايش كنيد
شما نمي توانيد نامه هاي ارسالي خود را در اين انجمن حذف كنيد
شما نمي توانيد در نظر سنجي هاي اين انجمن شركت كنيد


unity3d

بازگردانی به فارسی : علی کسایی @ توسعه مجازی کادوس 2004-2011
Powered by phpBB © 2001, 2011 phpBB Group
| Home | عضويت | ليست اعضا | گروه هاي كاربران | جستجو | راهنماي اين انجمن | Log In |