# مباحث متفرقه برنامه نویسی > طراحی و ساخت بازی‌های کامپیوتری >  موضوع پایان نامه کارشناسی ارشد(فوری)

## ehsanjoon

از همکاری و کمک همه دوستان خیلی ممنونم لی ممنونم

----------


## ehsanjoon

آقا ممنون ولی چرا تشکر میکنی؟
نظرتو بده عزیز

----------


## PC2st

این شماره هائی که نوشته بودید رو باید انتخاب کنیم؟ اگر اینطوره پس چرا یک نظر سنجی نگذاشتید!؟
به نظرم شماره 2 رو انتخاب کن، به این دلیل که در آینده میخوای باهاش سروکله بزنی.

----------


## someCoder

یه سوال برای من پیش اومده. مگه کدوم گرایش IT هستی؟! آخه این فیلدهایی که میگی مربوط به علوم کامپیوتر یا نرم افزار میتونه باشه، نه IT!

----------


## hdv212

ehsanjoon عزیز، اگه گروهی هستید که مسلط گرافیک سه بعدی و همچنین برنامه نویسی DirectX هستید، روی رندر سه بعدی کار کن، ایده ای که من حدود 5 سال پیش به شرکت autoDesk دادم و استقبال خوبی کردند، منتها تا فهمیدن من ایرانی هستم .....
ایده ی رندر سه بعدی یعنی اینکه فضای سه بعدی به جای اینکه رندر بشه و به صورت یه فایل تصویری دوبعدی یا یه عکس در بیاد، خاصیت سه بعدی خودشو حفظ کنه و تبدیل به یک انیمشن سه بعدی بشه که توسط یه player خاص اجرا بشه، این رندر بایستی به صورت 360 درجه انجام بشه (اونم برای هر frame)، اصلا همین ایده باعث شد که من بیام برنامه نویسی رو یاد بگیرم، منتها مشکلات متعدد باعث شد که از مسیر اصلیم دور بشم. به هر صورت فکر کنم پروژه ی بسیار سخت ولی عظیمی باشه، در صورتی که خواستی میتونی من رو هم توی گروهتون راه بدی!

----------


## ehsanjoon

ممنون از همه دوستان

----------


## someCoder

> من گرایش multimedia هستم و تصور می کنم این موضوعات بیشتر به multimadia مربوط بشه.


آره، درست میگی. فقط ببخشید که بازم آف تاپیک، پست میزنم! لیست درسهایی که گذروندی و میگذرونی هم میتونی بگی؟

----------


## ehsanjoon

> لیست درسهایی که گذروندی و میگذرونی هم میتونی بگی؟


تا حالا
signal
image processing
vision
neural network
multimedia networks
speech
ترم بعد احتمالا
computer graphic
animation

----------


## hdv212

مثل اینکه از موضوع اصلی این تاپیک دور شدیم، قرار بود یه همفکری ای بشه که ehsanjoon موضوع مورد نظرشو انتخاب کنه.

----------


## PC2st

> ایده ی رندر سه بعدی یعنی اینکه فضای سه بعدی به جای اینکه رندر بشه و به صورت یه فایل تصویری دوبعدی یا یه عکس در بیاد، خاصیت سه بعدی خودشو حفظ کنه و تبدیل به یک انیمشن سه بعدی بشه که توسط یه player خاص اجرا بشه،


خب اون player خاص که باید rendering رو انجام بده یا نه؟ تا بشه از طریق مونیتور اون رو نگاه کرد؟ مگر اینکه از مونیتور برای نمایشش استفاده نشه.  :متفکر:

----------


## ehsanjoon

> خب اون player خاص که باید rendering رو انجام بده یا نه؟ تا بشه از طریق مونیتور اون رو نگاه کرد؟ مگر اینکه از مونیتور برای نمایشش استفاده نشه.


با اینکه ایده جابیه ولی این سوال ذهن من رو هم به خودش مشغول کرده.
در ضمن من به شما mail زدم چک کردید؟

----------


## hdv212

> خب اون player خاص که باید rendering رو انجام بده یا نه؟ تا بشه از طریق مونیتور اون رو نگاه کرد؟ مگر اینکه از مونیتور برای نمایشش استفاده نشه


نه دیگه، زمانی که شما در محیط سه بعدی، انیمیشنی ساختید، و بعد اونو از طریق رندرینگ، به صورت یه فایل تصویری در آوردید که میتونه توسط نرم افزاری مثل Windows Media Player اجرا بشه، اینم همون حالته، یعنی انیمیشن سه بعدی شما به صورت سه بعدی رندر میشه و مثل اون یکی توی هارد ذخیره میشه(با یک فرمت خاص)، ولی برای اجرا دیگه Windows Media Player نمیتونه اونو اجرا کنه چون هم فرمتش فرق میکنه و هم تکنولوژی پخشش، بنابر این نیاز به Player خاصی داره که اونو به صورت سه بعدی پخش کنه، اینجا دیگه رندری صورت نمیگیره، بلکه فقط اطلاعات از فایل مورد نظر خوانده شده و نمایش داده میشه.

----------


## ehsanjoon

> نه دیگه، زمانی که شما در محیط سه بعدی، انیمیشنی ساختید، و بعد اونو از طریق رندرینگ، به صورت یه فایل تصویری در آوردید که میتونه توسط نرم افزاری مثل Windows Media Player اجرا بشه، اینم همون حالته، یعنی انیمیشن سه بعدی شما به صورت سه بعدی رندر میشه و مثل اون یکی توی هارد ذخیره میشه(با یک فرمت خاص)، ولی برای اجرا دیگه Windows Media Player نمیتونه اونو اجرا کنه چون هم فرمتش فرق میکنه و هم تکنولوژی پخشش، بنابر این نیاز به Player خاصی داره که اونو به صورت سه بعدی پخش کنه، اینجا دیگه رندری صورت نمیگیره، بلکه فقط اطلاعات از فایل مورد نظر خوانده شده و نمایش داده میشه.


من زیاد متوجه نمیشم!!!
تا اونجایی که متوجه شدم برای این کار باید مثلا برای یک بازی از زوایای مختلف و ... رندر بگیریم و با الگوریتمی اون رو به کاربر نشون بدیم.اگر اینطوریه به نظر میاد نیاز به دهها گیگابایت فضا برای یک بازی هست.در غیر اینصورت لطفا بیشتر توضیح دهید

----------


## PC2st

تا جائی که میدونم، برای دیده شدن تصاویر از طریق مونیتور، باید نورهای هر پیکسل از مونیتور رو تنظیم کرد (البته جزء کارهای سیستم عامل و سخت افزار و غیر است) و چون مونیتور یک صفحه تخت هست، پس باید اشکال سه بعدی هم به طریقی رندر بشن که بشه اونها رو به صورت مجموعه نقاطی از نور در یک صفحه تخت نمایش داد.

----------


## hdv212

> تا اونجایی که متوجه شدم برای این کار باید مثلا برای یک بازی از زوایای مختلف و ... رندر بگیریم و با الگوریتمی اون رو به کاربر نشون بدیم.اگر اینطوریه به نظر میاد نیاز به دهها گیگابایت فضا برای یک بازی هست.در غیر اینصورت لطفا بیشتر توضیح دهید


بهتره به جای بازی بگیم انیمشن، چون اینطوری همه فکر میکنن اینکار محدود به بازی میشه، تقریبا همینی هست که شما گفتید، حجمش زیاد میشه چون میشه گفت برای هر frame یک آرایه ی 359 قسمتی از تصاویر وجود داره(البته فکر میکنم برای کاهش این پیچیدگی بازم راه حلی باشه)، ولی عوضش توی شبیه سازی و نمایشی با کیفیت عالی و بدون پردازش زیاد خیلی به درد میخوره. تازه زمانی که مثلا دارید انیمیشنی رو میبینید، میتونید تصویر رو بچرخونید و از زاویه ی دیگه به اون نگاه کنید.

----------


## PC2st

> آرایه ی 359 قسمتی از تصاویر وجود داره


این که باید بیشتر از 359 قسمت باشه، چون دوربین به جهات خیلی مختلفی میتونه بره و همچنین عقب جلو بشه یا نوع لنز تغییر کنه! (همچنین چرخش دوربین!)
یعنی برای هر یک از این حالتها، قبلش یک رندر میگیرید و همش رو ذخیر میکنید و بعدش اونها رو نمایش میدید! من اینطور برداشت کردم.

----------


## hdv212

> این که باید بیشتر از 359 قسمت باشه، چون دوربین به جهات خیلی مختلفی میتونه بره و همچنین عقب جلو بشه یا نوع لنز تغییر کنه! (همچنین چرخش دوربین!)
> یعنی برای هر یک از این حالتها، قبلش یک رندر میگیرید و همش رو ذخیر میکنید و بعدش اونها رو نمایش میدید! من اینطور برداشت کردم.


در حال حاضر، فقط دوربین حول تصویر میچرخه ولی با توجه به اینکه اطلاعات من از اون زمان خیلی بیشتره، فکر میکنم بشه راه حلی ارائه که مثلا سطوح پیچیده با تراکم گره زیاد(اصطلاحا بهش subdivision surface میگن) رو به صورت سطوح صاف با تراکم خیلی کم رندر کرد که بالاترین کیفیت رو ارائه بده ولی پردازش زیادی رو طلب نکنه، در این صورت الگوریتم ذخیره به صورت یه آرایه ی 359 قسمتی از یک فریم به شدت بهینه میشه و امکان زوم کردن هم میشه داشت.

----------


## seyedof

سلام

تکنولوژی هایی هستند که همین کار رو میکنند مثل تصاویر پانوراما که در اوون کل 360 درجه رو میشه دید در حالی که یک عکس است و حتی میشه فیلمهایی تولید کرد که در اوون بیننده میتونه به اطراف بچرخه و کل محیط رو ببینه. عکس این قضیه هم بهش میکن Object Movie که در اوون به جای بیننده شی میچرخه و از زوایای مختلف میشه اوون رو دید. در هر دو روش رندری وجود نداره.
ممنون علی

----------


## hdv212

> تکنولوژی هایی هستند که همین کار رو میکنند مثل تصاویر پانوراما که در اوون کل 360 درجه رو میشه دید در حالی که یک عکس است و حتی میشه فیلمهایی تولید کرد که در اوون بیننده میتونه به اطراف بچرخه و کل محیط رو ببینه. عکس این قضیه هم بهش میکن Object Movie که در اوون به جای بیننده شی میچرخه و از زوایای مختلف میشه اوون رو دید. در هر دو روش رندری وجود نداره.
> ممنون علی


دوست عزیز، تصاویر پانوراما از بهم پیوستن چند تصویر تشکیل میشه که در محیطهای انییمشن  که آمیخته با Real هست بیشتر مورد استفاده قرار میگیره، کاملا با این موضوع فرق میکنه. برای درک بهتر فرض کن یه سیستم شبیه سازی میخواد مقدار فشاری که از سمت زلزله بر یک پل وارد میاد رو محاسبه کنه و همزمان مراحل کار رو نمایش بده، با این تکنولوژی، محاسبات فقط یک بار انجام میشه، و حاصل به صورت یک نمای سه بعدی با کیفیت بالا ذخیره میشه، از این به بعد فقط نمایش صورت میگیره و نیازی به پردازش و محاسبات نیست، چون این کار قبلا انجام و در فایل مورد نظر ذخیره شده.

----------


## kochol

من فکر کنم همون پردازش با کیفیت پایین تر realtime بهتر باشه.

----------

