بازی های ایجاد شده در موتور مخلوط کن. سطوح بازی و تعاملات پیچیده تری ایجاد کنید

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

تقریباً 2 ساعت طول می کشد تا یک بازی سه بعدی را از ابتدا بسازید.

مرحله: مبتدی - متوسط

آموزش اصول اولیه موتور بازی Blender می توانید با استفاده از [P] و کلیدها وارد حالت Game Engine شده و از آن خارج شوید.

ما بر روی ویژگی‌های مرتبط با جنرال الکتریک Blender تمرکز خواهیم کرد. بیایید با مهمترین آنها شروع کنیم کلید داغدر بلندر، چیزی که GE اجرا می کند. نشانگر ماوس خود را به ناحیه پنجره سه بعدی ببرید و [P] را فشار دهید تا بازی شروع شود. تبریک میگم، شما اولین بازی بلندر خود را انجام دادید!!! چقدر راحت بود

تا زمانی که به جنرال الکتریک بگوییم چه باید بکند، هیچ اتفاقی روی صحنه نخواهد افتاد.

تنظیم صحنه پیش فرض

قبل از شروع، اجازه دهید صحنه در Blender را به حالت اولیه خود بازنشانی کنیم. این کار را می توان به یکی از روش های زیر انجام داد:.

  • از منوی File > New را انتخاب کنید و روی Erase All کلیک کنید.
  • را فشار داده و پاک کردن همه را انتخاب کنید.
  • برای خروج از Blender (در نسخه های 2.42 و پایین تر، از [Q] استفاده کنید) را فشار دهید و دوباره آن را شروع کنید.

حالا وقت آن است که ببینیم چقدر در Blender خوب هستید. نمای صحنه را همانطور که در تصویر سمت راست نشان داده شده است تنظیم کنید. برای این کار باید این مراحل را دنبال کنید.

  • صحنه را با استفاده از دکمه وسط ماوس (MMB) بچرخانید.
  • با استفاده از View > Perspective (یا با کلیک کردن بر روی نما) روی حالت پرسپکتیو تنظیم کنید.
  • یک مکعب و یک لامپ اضافه کنید (با فرض اینکه آنها را زودتر حذف کرده اید و در صحنه ابتدایی نیستند).



میانبرهای صفحه کلید مفید هنگام کار با GE

یکی از کلیدهای میانبر مفید هنگام کار با Blender GE کلیدی است که پنجره سه بعدی فعلی را به حداکثر می رساند.

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

کمی به عقب برگردید و با این کار تمرین کنید:

  • با استفاده از پنجره سه بعدی را به حداکثر برسانید
  • [P] را فشار دهید تا صحنه فعلی در GE اجرا شود (هیچ اتفاقی نمی افتد)
  • برای بازگشت به حالت شبیه سازی کلیک کنید
  • با استفاده از پنجره سه بعدی به حالت عادی برگردید

شکل سمت راست روند استفاده از کلیدهای حداکثر/بازیابی پنجره را با صحنه اولیه بلندر نشان می دهد.


انتخاب حالت رندر صحنه صحیح برای GE

با قرار دادن نشانگر ماوس در پنجره سه بعدی و فشار دادن [P] دوباره وارد حالت GE شوید. متوجه خواهید شد که صحنه در حالت GE صاف به نظر می رسد. برای بازگشت به حالت شبیه سازی کلیک کنید. Blender دارای چندین نوع رندر صحنه در پنجره سه بعدی است که برای کارهای مختلف استفاده می شود. پانلی که در آن حالت ترسیم فعلی نشان داده شده است در زیر نشان داده شده است.

تصاویر زیر نشان می دهد که صحنه اصلی در جنرال الکتریک در حالت های مختلف رندر چگونه به نظر می رسد.

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


بهترین حالت طراحی برای جنرال الکتریک حالت Textured است. این حالت را از لیست انتخاب کنید و دوباره [P] را فشار دهید. متوجه خواهید شد که اکنون روشنایی کل را تحت تاثیر قرار می دهد محیطدر جنرال الکتریک، انجام می دهد فرم کلیواقع بینانه تر فراموش نکنید که هنگام اجرای صحنه خود در جنرال الکتریک، حالت Textured را انتخاب کنید و صحنه شما صاف به نظر نمی رسد.


پنل منطق اصلی بازی


در زیر پنجره سه بعدی یک پانل وجود دارد که حاوی دکمه های مختلف برای کنترل است ابزارهای مختلفمخلوط کن.

با کلیک بر روی نماد بنفش مانند Pacman یا با کلیک کردن روی، می‌توانید پانل مربوط به جنرال الکتریک را ببینید.

این پنلی است که با آن کنترل خواهید کرد که در بازی خود چه اتفاقی می افتد.

Blender از سیستم بصری کلیک و کشیدن برای ایجاد تعاملات اساسی در بازی استفاده می کند. این اجازه می دهد حتی هنرمندان سه بعدی که مهارت های برنامه نویسی ندارند از GE استفاده کنند. Blender همچنین زبان برنامه نویسی Python را می داند که می تواند برای ایجاد تعاملات پیچیده تر بازی استفاده شود.

در این آموزش به طور خاص بر روی سیستم بصری ساخت بازی تمرکز خواهیم کرد. پس از تسلط بر اصول اولیه استفاده از جنرال الکتریک، می توانید درس های پیشرفته تری را در مورد نحوه استفاده از پایتون برای ایجاد بازی های پیچیده تر تکرار کنید.

کنترل بصری جنرال الکتریک - حسگر، محرک و کنترل کننده بلوک های منطقی


سیستم جنرال الکتریک از بلوک های منطقی به عنوان مسیر برای تنظیمات بصریتعاملات در بازی این بلوک های منطقی می توانند به صورت بصری به یکدیگر متصل شوند تا کل مجموعه اقدامات را در بازی ایجاد کنند.

سه نوع مختلف بلوک منطقی وجود دارد - حسگرها، کنترل‌کننده‌ها و محرک‌ها - که هر کدام مجموعه‌ای از بلوک‌های مختلف خود را دارند.

حسگرها

سنسور پاسخ می دهد انواع مختلفداده های ورودی. اینها می توانند ضربه زدن به کلید، دکمه های جوی استیک یا رویدادهای تایمر باشند که هر بار که صفحه (یا فریم) بازی به روز می شود رخ می دهد.

عملگرها

عملگر در واقع یک عمل را در بازی انجام می دهد. این می تواند حرکت یک شی در یک صحنه، پخش یک انیمیشن یا پخش یک صدا باشد.

کنترل کننده ها

کنترلرها برای ارتباط سنسورها با عملگرها استفاده می شوند. آنها کنترل بیشتری بر نحوه تعامل حسگرها و محرک ها با یکدیگر به شما می دهند.

راه اندازی زنجیره بلوک های منطقی اساسی

اکنون سیستم پایه را با افزودن و اتصال سنسور، کنترلر و محرک به یکدیگر راه اندازی می کنیم.

پنل جنرال الکتریک مطمئن شوید که پنل Logic باز است (روی Pacman بنفش در پنجره Buttons یا کلیک کنید) و مکعب را در پنجره سه بعدی انتخاب کنید.

در هر یک از سه بخش اصلی پنل منطقی، می توانید نام شی انتخاب شده و دکمه Add را در کنار آن مشاهده کنید. این دکمه را یک بار در هر یک از بخش ها کلیک کنید: Sensor، Controller و Actuator.

اکنون بلوک ها را در یک سیستم ترکیب می کنیم. روی سوکت (دایره کوچک) در پایین سنسور کلیک کنید و روی سوکت در ابتدای کنترلر نگه دارید. به همین ترتیب، سوکت را در انتهای کنترلر و سوکت را در ابتدای محرک وصل کنید.

تصاویر مراحل راه اندازی یک زنجیره ساده از بلوک های منطقی و ترکیب آنها در یک سیستم را نشان می دهند.

برای شروع بازی، [P] را فشار دهید. متوجه خواهید شد که حتی اگر تنظیماتی را به GE اضافه کرده ایم، هیچ اتفاقی نمی افتد. در بخش بعدی توضیح داده خواهد شد. برای بازگشت به Blender کلیک کنید.

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

بیایید ببینیم چه اتفاقی برای سیستم جدید ایجاد شده ما در جنرال الکتریک می افتد. نوع سنسور روی Always تنظیم شده است. به طور مداوم (هر فریم) یک سیگنال به کنترلر مرتبط با آن ارسال می کند و در طول بازی فعال می شود.

کنترلر روی AND تنظیم شده است. هنگامی که سیگنال هایی از تمام سنسورهای مرتبط با آن در ورودی داشته باشد (در این مورد، یک)، به طور خودکار محرک مرتبط را فراخوانی می کند.

محرک پارامترهای حرکت جسم را کنترل می کند. از آنجایی که سنسور مربوط به کنترلر روی Always تنظیم شده است، این محرک هر فریم را روشن می کند.

اگر اکنون [P] را فشار دهیم، محرک حرکت همیشه فعال می شود، اما از آنجایی که تمام پارامترهای محرک روی صفر تنظیم شده اند، محرک جسم را حرکت نمی دهد.

حرکت مکعبی را بدون استفاده از فیزیک ایجاد کنید

بیایید ابتدا سعی کنیم از کنترل مستقیم برای حرکت مکعب در صحنه استفاده کنیم. بعداً ما یک صحنه مشابه را خواهیم ساخت، اما از قبل از فیزیک استفاده خواهیم کرد. هنگام استفاده از موتور فیزیک داخلی (به نام Bullet)، فعل و انفعالات صحنه پیچیده تری مانند برخورد و گرانش به صورت خودکار انجام می شود.

نگاهی به Motion Actuator، به خصوص سه پارامتر عددی کنار برچسب dLoc بیندازید. هر یک از این سه گزینه را می توان برای تنظیم مکان یک شی در امتداد محورهای x، y و z به ترتیب استفاده کرد.

مقدار پارامتر متوسط ​​dLoc (محور Y، حرکت رو به جلو) را روی 0.10 تنظیم کنید.

اکنون [P] را فشار دهید. خواهید دید که مکعب به طور مداوم در امتداد محور Y حرکت می کند.برای بازگشت به Blender کلیک کنید. [P] را دوباره فشار دهید. شما شاهد تکرار همان توالی وقایع خواهید بود. برای بازگشت دوباره به Blender کلیک کنید.

بیایید آنچه را که در جنرال الکتریک می گذرد، مرور کنیم. سنسور هر فریم سیگنالی را به کنترل کننده می فرستد. این یک سیگنال به یک محرک ارسال می کند، که به نوبه خود یک حرکت را به جسم اعمال می کند، که مکعب را 0.1 واحد در امتداد محور y حرکت می دهد. همانطور که در هر فریم انجام می شود، می توانیم ببینیم که مکعب به طور مداوم در حال حرکت است. اگر بازی را در حال اجرا رها کنید، مکعب در نهایت به بی نهایت خواهد رفت. به اندازه تماشای رشد چمن ها سرگرم کننده است، پس بیایید ادامه دهیم!

کنترل مکعب با کلیدهای مکان نما

اکنون سنسور Always وظیفه حرکت مکعب را بر عهده دارد. ما این را طوری تغییر می دهیم که اکنون می توان حرکت را با زدن کلید کنترل کرد.

روی گزینه Always سنسور کلیک کنید (یا کلیک کنید<>سمت راست او). با این کار لیستی از انواع سنسورهای موجود نمایش داده می شود (شکل سمت راست را ببینید).

از لیست صفحه کلید انتخاب کنید. اکنون سنسور تغییر می کند و گزینه های سفارشی سازی صفحه کلید را نشان می دهد.

این پنل جدیدسنسور به ما امکان می دهد کلیدی را انتخاب کنیم و با فشار دادن آن سیگنالی به کنترل کننده ارسال می شود که به نوبه خود سیگنالی را به محرک ارسال می کند. روی دکمه مشخص شده به عنوان کلید کلیک کنید، و هنگامی که می گوید "کلیدی را فشار دهید"، دکمه [بالا] روی صفحه کلید را فشار دهید.

برای شروع بازی، [P] را فشار دهید. مکعب دیگر به طور خودکار حرکت نمی کند. کلید [بالا] را فشار دهید و شروع به حرکت می کند. وقتی فشار دادن کلید را متوقف کنید، مکعب متوقف می شود. دوباره کلید را فشار دهید و مکعب دوباره شروع به حرکت می کند. برای بازگشت به Blender کلیک کنید.

کنترل های صفحه کلید بیشتری اضافه کنید



حالا ما قابلیت حرکت مکعب را به عقب و چرخاندن آن اضافه می کنیم که به شما امکان می دهد مکعب را در اطراف صحنه حرکت دهید.

برای افزودن قابلیت حرکت به عقب، یک مجموعه جدید (تقریباً یکسان) از بلوک های منطقی اضافه می کنیم. دوباره روی دکمه‌های Add در پنل Sensors، Controllers و Actuators کلیک کنید تا سه بلوک منطقی جدید ایجاد کنید. آنها را مانند قبل وصل کنید.

اظهار نظر. در اینجا می توانید از کلید برای گسترش و بازیابی پنل منطقی استفاده کنید، زیرا به سرعت با بلوک ها درهم می شود.

در حسگر تازه اضافه شده، نوع آن را به صفحه کلید تغییر دهید و کلید [پایین] را اختصاص دهید. در Motion Actuator جدید، مقدار Y (ستون دوم) پارامتر dLoc را روی -0.1 تنظیم کنید.

برای شروع بازی، [P] را فشار دهید. اگر بلوک‌های منطقی به درستی پیکربندی شده‌اند، اکنون می‌توانید با استفاده از کلیدهای [بالا] و [پایین] مکعب را به جلو و عقب ببرید.

برای تکمیل این قسمت از آموزش، قابلیت چرخش شی را اضافه می کنیم تا بتوانید مدل خود را در صحنه حرکت دهید.

سه بلوک منطقی جدید اضافه کنید، آنها را متصل کنید و نوع سنسور را به صفحه کلید تغییر دهید. کلید [سمت چپ] را به سنسور اختصاص دهید.

حال اجازه دهید محرک حرکت مکعب را بچرخاند. ما شی را حول محور Z آن می چرخانیم.در پارامتر dRot مقدار Z (ستون سوم) را روی -0.1 قرار دهید.

شروع بازی. حالا وقتی کلید [سمت چپ] را فشار دهید، مکعب می چرخد. و وقتی مکعب را بچرخانید و کلید [بالا] را فشار دهید، مکعب در جهتی که شما آن را چرخانده اید حرکت می کند. برای بازگشت به Blender کلیک کنید. بیایید قابلیت چرخش جسم را در جهت دیگر اضافه کنیم.

مانند قبل، سه بلوک منطقی جدید اضافه کنید، آنها را متصل کنید و نوع سنسور را به صفحه کلید تغییر دهید.

کلید [راست] را به سنسور اختصاص دهید و مقدار محرک حرکت Z (ستون سوم) پارامتر dRot را 0.1 تنظیم کنید.

بازی را دوباره شروع کنید. اکنون می توانید با استفاده از کلیدهای مکان نما، مکعب را در اطراف صحنه حرکت دهید. توجه داشته باشید که می توانید این نوع منطق بازی را به هر شیء در بلندر (صرف نظر از شکل یا اندازه آن) اضافه کنید و دقیقاً مانند مکعب ما حرکت می کند. برای بازگشت به Blender کلیک کنید.

کمی در مورد ذخیره تنظیمات GE


اکنون بلوک های منطقی خود را نام می بریم و آنها را کوچک می کنیم. مهم است که پنل منطقی را تا حد ممکن شفاف و بدون درهم و برهم نگه دارید.

این کار بر عملکرد منطق تأثیر نمی گذارد، اما به مدیریت بیشتر پنل منطق کمک می کند.

روی نوار منطق کلیک کنید تا آن را به حالت تمام صفحه باز کنید. در پنل سنسور اول، در کنار نوع سنسور، یک فیلد متنی را می بینید که روی آن نوشته شده است: sensor. این نام باید با چیزی آموزنده تر جایگزین شود. این متن را به "کلید بالا" تغییر دهید. سپس روی دکمه فلش سمت راست قسمت متن کلیک کنید تا پانل حسگر جمع شود.

این کار را برای سایر سنسورها نیز تکرار کنید. همین کار را برای محرک‌ها انجام دهید و نام‌هایی را برای آنها قائل شوید (مثلاً "حرکت به جلو"، "چرخش به چپ" و غیره).

دوباره کلیک کنید تا نوار منطقی به اندازه عادی خود بازگردد.

همانطور که می بینید، بلوک های عنوان درک آنچه را که در حال وقوع است بسیار آسان تر می کند.

حذف بلوک ها و لینک های منطقی

برای حذف یک بلوک منطقی، روی دکمه X در گوشه سمت چپ بالای بلوک کلیک کنید. برای حذف پیوند بین بلوک های منطقی، نشانگر ماوس را روی خط اتصال بلوک ها قرار دهید و کلید را فشار دهید.

ایجاد حرکت مکعبی با فیزیک

یکی از قدرتمندترین ویژگی های موتور بازی سازی Blender، موتور فیزیک داخلی Bullet است.

هنگامی که از نیروها برای حرکت دادن یک شی در صحنه استفاده می شود، سیستم فیزیک به طور خودکار تعاملات پیچیده اشیاء مانند برخورد با سایر اشیاء در صحنه را محاسبه می کند. برای بسیاری از انواع بازی ها، استفاده از فیزیک بسیاری از مشکلات را حل می کند و راه اندازی یک سیستم فیزیک بسیار ساده است.

اکنون ایجاد خواهیم کرد بازی جدیداز ابتدا با استفاده از موتور فیزیک.

صحنه از یک کره با استفاده از فیزیک تشکیل شده است.

قبل از شروع، بیایید صحنه را در Blender به حالت اولیه خود بازگردانیم و پنجره 3 بعدی را همانطور که در شکل سمت راست نشان داده شده است تنظیم کنیم. برای این کار موارد زیر را انجام دهید:

  • File > New را انتخاب کنید و روی Erase All کلیک کنید.
  • با استفاده از دکمه وسط ماوس (MMB) صحنه را بچرخانید
  • با استفاده از View > Perspective (یا) نما را به حالت پرسپکتیو تغییر دهید.
  • حالت ترسیم را در پنجره سه بعدی به حالت بافت تغییر دهید (می توانید روی آن کلیک کنید)
  • پنل منطق بازی را باز کنید

بیایید صحنه را تنظیم کنیم. قبل از شروع ساختن صحنه برای بازی، مکعب را حذف کنید.

  • یک کره اضافه کنید، Add > Mesh > UVSphere (منوی Add را نیز می توان با فشار دادن کلید [Space] فراخوانی کرد).
  • بخش ها را مشخص کنید: 32، حلقه ها: 32 در پارامترهای کره.
  • با فشار دادن کلید از حالت ویرایش خارج شده و به حالت Object برگردید.
  • برای پاک کردن گزینه‌های چرخش کره کلیک کنید (کره همچنان باید انتخاب شود).

ایجاد یک مدل فیزیکی در جنرال الکتریک

در پنل منطقی می توانید دکمه Actor را پیدا کنید.

روی این دکمه کلیک کنید و تعدادی تنظیمات برای شی انتخاب شده در دسترس شما قرار می گیرد.

دکمه Dynamic را فعال کنید. این به GE می گوید که مدل انتخاب شده یک شی فیزیکی است. تعدادی تنظیمات اضافی برای شی نیز ظاهر می شود.

تنظیمات زیر را مشخص کنید:

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

اکنون [P] را فشار دهید تا وارد GE شوید. خواهید دید که با وجود اینکه هیچ بلوک منطقی اضافه نکردیم، کره شروع به حرکت می کند. این به این دلیل است که گرانش روی کره اثر می گذارد و شروع به سقوط می کند. این یکی از ویژگی های تعامل درون را نشان می دهد دنیای فیزیکیصحنه های. برای بازگشت به Blender کلیک کنید.

باید چیزی به صحنه اضافه کنیم که کره بتواند روی آن بیفتد.

یک سطح به صحنه اضافه کنید (Add > Mesh > Plane).

برای تغییر حالت Edit به Object کلیک کنید.

برای پاک کردن گزینه‌های چرخش شی کلیک کنید.

سطحی را زیر کره قرار دهید و [P] را فشار دهید. خواهید دید که اکنون کره به سطح زمین می افتد و می ایستد.

اکنون باید سطح را بزرگ کنیم تا فضای بیشتری برای حرکت کره در اطراف سطح داشته باشیم.

نوع مکان نما سه بعدی را از حالت حرکت به حالت زوم () تغییر دهید.

سطح را طوری بزرگ کنید که تقریباً ده برابر در محورهای x و y بزرگتر شود.

شکل‌های سمت راست روند اضافه کردن، جابجایی و مقیاس‌بندی یک سطح را نشان می‌دهند.

حرکت یک جسم فیزیکی در جنرال الکتریک

اکنون ما نیروهای فیزیکی را به کره اعمال می کنیم و باعث می شویم که در اطراف صحنه حرکت کند.

توجه. مطمئن شوید که کره انتخاب شده است. اگر فقط یک سطح ایجاد کرده اید، همچنان انتخاب خواهد شد. برای انتخاب مجدد کره، باید روی آن راست کلیک کنید.

یک سنسور، کنترل‌کننده و محرک جدید به کره در برد منطقی اضافه کنید و آنها را به هم وصل کنید.

در Motion actuator باید مقدار پارامتر Force را تعیین کنیم تا جسم را در صحنه جابجا کنیم.

مقدار Y (ستون دوم) پارامتر Force را روی ۱ قرار دهید.


اکنون [P] را فشار دهید. می توانید ببینید که کره به سطح می افتد و شروع به غلتیدن می کند.

پس از طی مسافتی، شروع به غلتیدن به داخل خواهد کرد سمت معکوس. این به این دلیل است که ما در امتداد محور Y محلی کره، نیرویی به کره وارد کردیم. از آنجایی که کره می تواند بچرخد، همانطور که در شکل زیر نشان داده شده است، محور Y نیز می چرخد. برای بازگشت به Blender کلیک کنید.


برای رفع این مشکل، جهت نیرو را از محور محلی به محور جهانی تغییر می دهیم. برای این کار دکمه L در سمت راست پارامتر Force را غیرفعال کنید. دوباره [P] را فشار دهید و خواهید دید که کره به طور مداوم در جهت دلخواه می چرخد.

شاید دقت نکرده باشید که موتور فیزیک چگونه کار می کند. به محض اینکه به کره نیرو وارد کنیم، شروع به غلتیدن می کند. این چرخش در اثر تعامل بین کره و سطح ایجاد می شود.

همچنین هنگامی که کره به لبه سطح می رسد، توسط موتور از این واقعیت مطلع می شود و به سقوط ادامه می دهد.

اینها تنها نمونه هایی از استفاده از فیزیک در جنرال الکتریک هستند.

برای بازگشت به Blender کلیک کنید.

کنترل کره با کلیدهای جهت دار


حالا بیایید با استفاده از کلیدهای مکان نما کنترل کره را در دست بگیریم.

نوع سنسور را به صفحه کلید تغییر دهید و کلید [بالا] را به آن اختصاص دهید.

اکنون سنسورها، کنترل‌کننده‌ها و محرک‌های جدید را اضافه کنید، آن‌ها را به هم متصل کنید و به صورت زیر پیکربندی کنید:

  • سنسور کلید [پایین] محرک حرکت را با مقدار -1 در قسمت Y (دومین) پارامتر Force (با دکمه L غیرفعال) کنترل می کند.
  • سنسور کلید [سمت چپ] محرک حرکت را با مقدار -1 در قسمت X (1st) پارامتر Force (با دکمه L غیرفعال) کنترل می کند.
  • سنسور کلید [راست] یک محرک حرکتی با مقدار 1 را در قسمت X (1st) پارامتر Force (با دکمه L غیرفعال) کنترل می کند.

وقتی دوباره [P] را فشار دهید، می‌توانید کره را کنترل کنید و آن را در اطراف سطح حرکت دهید. برای بازگشت به Blender کلیک کنید.

برای درک بیشتر پنل منطقی، سنسورها و محرک‌های مختلف را نام‌های مناسب بگذارید.

می توانید مقادیر را در محرک ها از 1 تا 2 و از -1 تا -2 آزمایش کنید.



اضافه کردن موانع به صحنه

یک مکعب به صحنه اضافه کنید (Add > Mesh > Cube). برای خروج از حالت ویرایش فشار دهید. برای پاک کردن گزینه های چرخش جسم کلیک کنید و مکعب را در جایی روی سطح قرار دهید.

این مرحله را تکرار کنید و چند جسم مختلف دیگر را به سطح اضافه کنید.

اکنون، [P] را فشار دهید. مشاهده خواهید کرد که چگونه کره با اشیایی که اضافه کرده اید برخورد می کند و از آن خارج می شود. این نمونه دیگری از استفاده از فیزیک در جنرال الکتریک است.

برای بازگشت به Blender کلیک کنید. برای ایجاد اسلاید و پرش می توانید سطوح بیشتری را به صحنه اضافه کنید.

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

ایجاد چندین اشیاء فیزیکی

مکعبی را که به صحنه اضافه کردید انتخاب کنید. در پانل منطق، همان پارامترهای فیزیک را که برای کره تنظیم کرده‌اید، تنظیم کنید (فقط No sleeping را فعال نکنید تا شیء بخوابد؛ وقتی شیء انجام می‌دهد، منابع برای محاسبات در موتور فیزیک آزاد می‌شود)

اکنون [P] را فشار دهید تا بازی شروع شود و کره را به سمت مکعب بچرخانید. خواهید دید که مکعب از برخورد کره شروع به حرکت کرد.

با این حال، مکعب به روشی بسیار عجیب حرکت می کند - در واقع مانند گرد است.

در حال حاضر سیستم فیزیک Blender فرض می کند که یک شی جدید اضافه شده به طور پیش فرض یک مدل تعامل کروی خواهد داشت. برای بازگشت به Blender کلیک کنید.

دکمه Bounds را در زیر بخش Actor پیدا کنید. روی این دکمه کلیک کنید و می توانید مدل های تعامل مختلف را از لیست اضافی انتخاب کنید. پیش فرض جعبه است.

در مورد یک مکعب، مدل عالی کار خواهد کرد. با این حال، اگر شکل شی پیچیده تری دارید، مدل "Convex Hull Polytope" ممکن است کمک کند.

از بین مواردی که به صحنه اضافه کردید، شی دیگری را انتخاب کنید و همان مراحل را تکرار کنید، فقط مدل تعاملی Convex Hull Polytope را انتخاب کنید.

[P] را فشار دهید و کره را به سمت اجسام مختلف بچرخانید و آنها را حرکت دهید. برای بازگشت به Blender کلیک کنید.


تغییر نام اشیا

هنگامی که یک شی جدید اضافه می کنید، Blender یک نام پیش فرض را به آن شی اختصاص می دهد (مثلا Cube، یا Cube.001 اگر Cube از قبل وجود داشته باشد).

تغییر نام اشیا با توجه به نقش آنها در صحنه، تمرین خوبی است. این کار صحنه شما را برای شما و سایر افرادی که صحنه شما را مطالعه می کنند قابل درک تر می کند. برای تغییر نام یک شی، می‌توانید پنل Object را انتخاب کنید و نام آن را در قسمت OB تب Object and Links تغییر دهید.

همچنین می توانید نام شی را در پنل ویرایش، در برگه پیوند و مواد تغییر دهید.



تکمیل درس مبانی جنرال الکتریک

تبریک می گویم! شما آموزش اصول استفاده از موتور بازی سازی Blender را تکمیل کرده اید! شما اکنون مهارت های اولیه برای استفاده از GE را دارید. اما همچنان باید در موضوعات زیر تجربه کسب کنید:

  • اتصال سنسورها، کنترلرها و عملگرها در برد منطقی.
  • استفاده از محرک حرکت برای حرکت مستقیم اجسام.
  • استفاده از محرک حرکت برای حرکت اجسام با استفاده از فیزیک.
  • مدیریت اشیاء بازی با استفاده از صفحه کلید.
  • یک بازی سه بعدی ساده بسازید.
  • ایجاد اشیاء جدید در GE با فیزیک.

با مهارت هایی که به دست آورده اید، می توانید این صحنه ساده را با یادگیری بیشتر در مورد مدل سازی در بلندر دشوارتر کنید.

در این مرحله، ممکن است بخواهید صحنه پایانی را دوباره بسازید تا ببینید بدون خواندن آموزش چقدر می توانید پیش بروید. اگر بتوانید همه چیز را از حافظه بازیابی کنید، پس در راه تبدیل شدن به یک کاربر پیشرفته Blender GE هستید!

چند فصل اضافی بعدی برخی از مسائل پیچیده تر، مانند پرش کره، و افزودن مواد به صحنه را پوشش خواهند داد.

سطوح بازی و تعاملات پیچیده تری ایجاد کنید

ایجاد کره پرش


حالا با فشار دادن کلید [Space] کره خود را جهش می دهیم.

یک سنسور، کنترل کننده و محرک جدید به کره اضافه کنید و آنها را به هم وصل کنید. نوع سنسور را به صفحه کلید تغییر دهید و کلید [Space] را به آن اختصاص دهید.

در بخش Force محرک حرکت، مقدار Z (ستون دوم) را روی 250 قرار دهید. دکمه L را غیرفعال کنید تا نیرو نسبت به سیستم مختصات جهانی اعمال شود و نه سیستم مختصات محلی جسم.

این به کره فشار کمی می دهد که به نظر می رسد کره در حال جهش است.

[P] را فشار دهید و در بازی، کلید [Space] را فشار دهید. متوجه خواهید شد که کره دقیقاً در هوا پرش می کند. و اگر دائماً کلید [Space] را فشار دهید، کره دائماً بالا می‌آید.



ما باید یک محدودیت اضافی ایجاد کنیم - کره فقط زمانی می تواند جهش کند که سطح را لمس کند. برای این کار از سنسور تاچ نوع استفاده می کنیم. سنسور دیگری را به کره اضافه کنید و نوع آن را به Touch تغییر دهید. اکنون این سنسور را به همان کنترلی که سنسور [Space] به آن متصل است وصل کنید.

کنترلر تنها زمانی سیگنالی را به محرک متصل به آن ارسال می کند که سیگنال هایی را از دو سنسور به طور همزمان دریافت کند، یعنی. کلید [Space] فشار داده می‌شود و کره جسم دیگری مانند سطح را لمس می‌کند.


بازی به رویداد را مجدداً راه اندازی کنید

هنگامی که کره به یک جسم خاص برخورد می کند، جنرال الکتریک را مجبور می کنیم تا بازی را دوباره راه اندازی کند.

  • یک شی جدید به صحنه اضافه کنید (از یک استوانه استفاده خواهیم کرد) و آن را در جایی نزدیک به کره (اما نه لمس) قرار دهید. مطمئن شوید که شی جدید انتخاب شده است.
  • پنل منطقی را باز کنید، یک سنسور، کنترل کننده و محرک به شی اضافه کنید و آنها را به هم متصل کنید.
  • نوع محرک را به Scene تغییر دهید. عمل پیش فرض محرک صحنه Restart است.

اکنون [P] را فشار دهید تا بازی شروع شود. به نظر می رسد که هیچ اتفاقی نمی افتد. این به این دلیل است که حسگر Always دائماً Scene Actuator را صدا می کند که به نوبه خود بازی را مجدداً راه اندازی می کند.


  • نوع سنسور را به صفحه کلید تغییر دهید و کلید [R] را به آن اختصاص دهید.
  • [P] را فشار دهید و می توانید دوباره کره را حرکت دهید.

با فشار دادن کلید [R] بازی دوباره شروع می شود.

برای خروج از بازی کلیک کنید.

حال نوع سنسور را به Touch تغییر دهید.

شروع بازی. اکنون با لمس سیلندر با کره، بازی مجدداً شروع می شود.

برای خروج از بازی کلیک کنید.

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

جمع آوری آیتم ها در بازی

ما اشیایی را به صحنه اضافه می کنیم که وقتی بازیکن به سمت آنها می آید می تواند آنها را جمع کند.

  • یک کره به صحنه اضافه کنید و آن را در فاصله ای از کره اصلی قرار دهید.
  • یک سنسور، کنترل کننده و محرک به این کره اضافه کنید و آنها را به هم وصل کنید.
  • نوع حسگر را به Near تغییر دهید
  • نوع محرک را به Edit Object تغییر دهید.
  • در تنظیمات محرک، Add Object را به End Object تغییر دهید.
  • دکمه های Actor و Ghost را فعال کنید. پارامتر Ghost به این معنی است که هیچ شی دیگری قادر به تعامل با این شی نخواهد بود.

شروع بازی. حالا وقتی در اطراف این کره حرکت می کنید، ناپدید می شود.

برای بازگشت به Blender کلیک کنید.

شمارش اشیاء جمع آوری شده

هنگامی که یک شی را برمی داریم، باید این را به نوعی به خاطر بسپاریم تا تعداد کل اشیاء جمع آوری شده را نشان دهیم.

برای این کار از محرک Message استفاده می کنیم که سیگنالی را به شی صحنه دیگری که دارای سنسور Message است می فرستد. این سنسور به پیامی از محرک پاسخ می دهد و تعداد اشیاء جمع آوری شده را افزایش می دهد.

  • یک محرک دیگر را به کره ای که می گیریم اضافه کنید و نوع آن را به پیام تغییر دهید.
  • این محرک را به یک کنترلر موجود وصل کنید.


  • فیلد موضوع محرک را به چیزی قابل درک تغییر دهید، مانند "پیکاپ". مهم است که این نام را به خاطر بسپارید زیرا برای تنظیم سنسور پیام به آن نیاز دارید.

هنگامی که حسگر Near فعال می شود، هر دو محرک به طور همزمان فراخوانی می شوند و محرک پیام پیامی را به همه اشیاء موجود در صحنه ارسال می کند.

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

  • یک شی خالی به صحنه اضافه کنید (Add > Empty).
  • با انتخاب این شی، روی دکمه Add Property در پنل Logic کلیک کنید.
  • نام ویژگی اضافه شده (Property) شی را به آیتم ها تغییر دهید و نوع آن را از Float به Int (عدد صحیح) تغییر دهید. در اینجا ما تعداد اشیاء جمع آوری شده را ذخیره می کنیم.
    • یک سنسور، کنترل کننده و محرک را به آبجکت خالی اضافه کنید و آنها را متصل کنید.
    • نوع حسگر را به Message تغییر دهید و در قسمت Subject "picup" تایپ کنید (همان نامی که در قسمت Subject محرک پیام شی جمع‌آوری‌شده مشخص کرده‌اید).
    • نوع محرک را به Property تغییر دهید و تنظیمات Assign آن را به Add تغییر دهید.
    • فیلد Prop را به "اقلام" تغییر دهید (نام ویژگی را افزایش دهید) و مقدار را روی 1 قرار دهید.

    اکنون، [P] را فشار دهید تا بازی شروع شود و یک شی را بردارید - خواهید دید که وقتی آن را بردارید، ارزش آیتم ها افزایش می یابد.

    برای بازگشت به Blender کلیک کنید.

    می‌توانید از مقدار آیتم‌ها برای ایجاد برخی تغییرات در بازی، مانند راه‌اندازی مجدد یا جابجایی، استفاده کنید صحنه جدیدهنگامی که تعداد معینی از اشیاء جمع آوری شده است.

    افزودن رنگ به بازی با Materials

    تا به حال، تمام اشیاء اضافه شده به صحنه بود رنگ خاکستری. برای تغییر ظاهر صحنه، با ایجاد متریال های جدید برای مدل ها، رنگ هایی را به آن ها اضافه می کنیم.

    • پنل Materials را با کلیک بر روی نماد کره خاکستری یا با فشار دادن کلید باز کنید.
    • کره اصلی خود را در پنجره سه بعدی با دکمه سمت راست ماوس (RMB) انتخاب کنید.
    • بر روی دکمه افزودن جدید کلیک کنید. این ماده جدیدی را به کره اضافه می کند. تعداد زیادی تنظیمات برای مواد ظاهر می شود. اکنون فقط باید رنگ مواد را تغییر دهیم.
    • روی کادر با عنوان Col کلیک کنید که رنگ پایه مواد را تعیین می کند.
    • یک گفتگوی انتخاب رنگ ظاهر می شود. رنگ قرمز موجود در آن را انتخاب کنید و نشانگر ماوس را از کادر محاوره ای دور کنید. کره روی صحنه قرمز می شود.

    این مراحل را برای سایر اشیا در صحنه تکرار کنید و رنگ های متفاوتی به آنها بدهید.

    یک نسخه مستقل از بازی ایجاد کنید

    Blender به شما این امکان را می دهد که نسخه های مستقل بازی خود را بسازید که برای اجرا نیازی به Blender ندارند.

    از منوی Blender، File > Save Runtime را انتخاب کنید.

    در محاوره Save، نام فایل اجرایی بازی را وارد کنید (به عنوان مثال ball_game). با این کار فایل ball_game.exe ایجاد می شود.

    مروری کوتاه بر انواع سنسورها، کنترل‌کننده‌ها و محرک‌های Blender

    حسگرها

    • جوی استیک - به سیگنال های جوی استیک (چپ / راست، بالا / پایین، دکمه ها) پاسخ می دهد.
    • پیام - هنگامی که پیامی می رسد فعال می شود. می توانید با استفاده از محرک پیام به اشیاء دیگر پیام ارسال کنید.
    • پرتو - هنگامی که جسم نزدیک محور مختصات مشخص شده باشد شلیک می شود. شما می توانید به صورت اختیاری بررسی کنید که مواد شی یا ارزش Property.
    • تصادفی - به صورت تصادفی کار می کند. فرکانس تریگرها توسط پارامتر Seed کنترل می شود (یا از یک مولد اعداد تصادفی در پایتون استفاده کنید).
    • اموال - زمانی آتش می گیرد که ارزش ملک بین حداقل و حداکثر تعیین شده یا برابر با مقدار مشخص شده باشد.
    • رادار - هنگامی شلیک می شود که یک شی در یک منطقه معین ظاهر می شود (مشخص شده با فاصله و زاویه).
    • نزدیک - هنگامی که یک شی در فاصله معینی از جسم با حسگر ظاهر می شود، آتش می گیرد.
    • تصادم - هنگامی که یک جسم با جسم دیگری تعامل (برخورد) می کند آتش می گیرد. می توانید ماده یا خاصیتی را که شی باید داشته باشد را مشخص کنید.
    • لمس - هنگامی که یک شی با لمس یک شی را لمس می کند، شلیک می شود.
    • ماوس - هنگامی که رویداد مشخص شده ماوس رخ می دهد، مانند کلیک ماوس، حرکت ماوس و غیره فعال می شود.
    • صفحه کلید - با فشار دادن کلید داده شده روشن می شود.
    • همیشه - به طور مداوم آتش می گیرد.

    کنترل کننده ها

    • AND - در صورتی که تمام سنسورهای مرتبط با آن فعال شده باشند، محرک مربوطه را فراخوانی می کند.
    • OR - اگر حداقل یک حسگر مرتبط با آن فعال شده باشد، محرک مربوطه را فراخوانی می کند.
    • بیان - یک عبارت را ارزیابی می کند.
    • پایتون - یک اسکریپت پایتون را فراخوانی می کند.

    عملگرها

    • دید - شی را نشان می دهد یا پنهان می کند.
    • بازی - بازی را مجدداً شروع یا متوقف می کند. همچنین می تواند یک صحنه جدید را بارگذاری کند.
    • CD - به شما امکان می دهد آهنگ های موسیقی روی سی دی را مدیریت کنید.
    • پیام - پیامی را به همه اشیاء موجود در صحنه یا به شی مشخص شده ارسال می کند. این پیام توسط سنسور پیام دریافت می شود.
    • تصادفی - یک مقدار تصادفی را در یک ویژگی شی تعیین می کند.
    • صحنه - به شما امکان می دهد صحنه را کنترل کنید - بارگذاری، پخش، مکث و غیره. این محرک برای نمایش صحنه های مختلف مانند صفحه نمایش یا منو بسیار مفید است. هنگامی که کاربر می خواهد بازی را شروع کند، یک سنسور صفحه کلید (مانند فشار دادن کلید [Space] برای شروع بازی) می تواند به Scene Actuator متصل شود، که صحنه بازی را بارگذاری می کند. این محرک همچنین به شما امکان می دهد مشخص کنید که دوربین چگونه به صحنه نگاه کند.
    • ویرایش شی - کنترل اضافه کردن، ویرایش و حذف اشیاء در صحنه را در طول بازی می دهد. به عنوان مثال می توان از آن برای شلیک گلوله از یک سلاح استفاده کرد. همچنین می تواند اشیاء را ردیابی کند.
    • Property - مقادیر ویژگی های اشیاء را تنظیم کنید.
    • صدا - به شما امکان می دهد صدا را کنترل کنید. فقط آن دسته از آهنگ های صوتی که در بلندر بارگذاری شده اند در دسترس هستند.
    • دوربین - به دوربین اجازه می دهد سوژه را ردیابی کند. دوربین را می توان در پشت جسم (همچنین در امتداد محورهای X یا Y) قرار داد و در یک فاصله معین (حداقل و حداکثر) از جسم و در یک ارتفاع معین ثابت کرد.
    • IPO - به شما امکان می دهد انیمیشن یک شی در بازی را کنترل کنید.
    • محدودیت - موقعیت های ممکن یک شی را محدود می کند.
    • حرکت - به شما امکان می دهد حرکت یک جسم را کنترل کنید. کنترل می تواند مستقیم باشد (dLoc و dRot)، یا با کمک فیزیک (نیرو و گشتاور)

    به کار با Blender Game Engine ادامه داد

    امیدواریم از یادگیری اصول اولیه جنرال الکتریک لذت برده باشید و به کار با موتور ادامه دهید، از دانش و مهارت هایی که به دست آورده اید، آنها را با تمرین گسترش دهید و از تجربیات اعضای انجمن بزرگ Blender GE درس بگیرید.

    لینک های مفید

    این یکی از بهترین منابع برای کاربران جنرال الکتریک است. اگر می خواهید در مورد کار با جنرال الکتریک سوالی بپرسید، برخی از کارهای خود را منتشر کنید یا فقط دانش خود را در مورد جنرال الکتریک بهبود ببخشید، حتما باید از این انجمن دیدن کنید.

این مقاله برای توسعه دهندگان بازی های تازه کار مفید خواهد بود. در آن به مزایا و راه های ایجاد و رندر کردن اشیاء سه بعدی برای بازی های ایزومتریک دو بعدی با استفاده از Blender به عنوان مثال خواهیم پرداخت. هیچ عملیات پیچیده ای در مقاله وجود نخواهد داشت، دانش اولیه یک ویرایشگر سه بعدی کافی است. برای نمونه رندر و انیمیشن، یک برج از Dune2 گرفتم و برای اینکه به تنهایی خیلی خسته کننده نباشد، دو ساختمان از Desert Strike اضافه کردم.

مزایای این روش در مقایسه با رندر دو بعدی: سرعت و راحتی در ساخت انیمیشن، سهولت ارتقاء مدل ها (مثلاً برای ایجاد ارتقاء ساختمان ها)، نتایج نسبتاً خوب با هزینه های زمانی کم.

ایرادات: کاهش «روحیه» تصاویر و در واقع نیاز به دانش مدلسازی سه بعدی.

شروع، آماده سازی صحنه

به طور پیش فرض، یک فایل Blender "خالی" با سه شی ایجاد می شود: یک دوربین، یک نور و یک مکعب در مرکز. بیایید تنظیمات را با دوربین شروع کنیم، در ویژگی های آن، از حالت Perspective به حالت Orthographic تغییر دهید، سپس پارامترهای زیر را برای آن در پانل Properties مشخص کنید:

تبدیل
X: 12.0
Y: -12.0
Z: 12.0

(همانطور که می بینید، مختصات شبیه N، -N، N هستند، در حالی که N می تواند هر چیزی باشد، زیرا ما یک دوربین متعامد داریم)

چرخش
X: 54.8 درجه
Y: 0 درجه
Z: 45 درجه

اگر همه چیز به درستی انجام شد، اکنون از طریق دوربین به صحنه نگاه کنید (برای انجام این کار، باید فشار دهید شماره 0)، مکعب خود را در ایزومتریک خواهیم دید.

در حال تلاش برای ارائه ( F12) در اولین آزمایش ایزومتریک، خواهید دید که وجوه مکعب بسیار ناهموار روشن شده است. بیایید مراقب دنیا باشیم! ابتدا در خصوصیات world (برگه World) Ambient Occlusion را فعال کرده و مقدار Factor مورد نظر را برای آن مشخص کنید (0.5 در مثال تنظیم شده است). دوم اینکه نوع منبع نور را از Point به Sun تغییر دهید. این امر ضروری است تا همه سایه ها در یک جهت هدایت شوند و به موقعیت جسم نسبت به منبع نور بستگی نداشته باشند.


رندر مثالی با منبع نور نقطه ای


رندر مثال با منبع نور خورشید

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

مکعب های ما روی یک پس زمینه خاکستری زشت رندر شده اند که البته باید خاموش شود تا بعداً با بریدن پس زمینه اشیا دچار مشکل نشویم. برای انجام این کار، در تب Render، بخش Shading را پیدا کنید و حالت آلفا را از Sky به Transparent تغییر دهید (اگر از Blender Render استفاده می کنید) یا چک باکس Transparent را در قسمت Film (در Cycles Render) علامت بزنید.

تنظیمات را به پایان رساندیم، بیایید به ایجاد اشیاء، به عنوان مثال، همان برج برویم. من فکر می کنم ارزش در نظر گرفتن جزئیات روند مدل سازی آن را ندارد، ما بلافاصله از مزایایی که یک شی سه بعدی به ما می دهد استفاده خواهیم کرد.


برج در حال چرخش است

بسیاری از استراتژی‌ها از نمایش بصری ساخت ساختمان‌ها استفاده می‌کنند: ابتدا فونداسیون ساخته می‌شود، سپس دیوارها و غیره. بیایید سعی کنیم کاری مشابه انجام دهیم. انتخاب تمام اشیاء در صحنه ( آ، سپس آنها را کپی کنید ( Shift-D) و به لایه دوم ( مو لایه مورد نظر را انتخاب کنید). عملیات را می توان به تعداد دفعاتی که به مراحل ساخت نیاز داریم تکرار کرد. بیایید به لایه دوم برویم و برج را "تخریب کنیم".


بیایید تعداد دفعات مورد نیاز را تکرار کنیم، و همینطور voila!

پس پردازش

در ابتدای مقاله، از جمله معایب این رویکرد، به عدم وجود احساس «لوله» اشاره کردم. خوشبختانه، می توان آن را تا حدی با استفاده از پس پردازش و موتور Freestyle ساخته شده در Blender بازگرداند. من به جزئیات در مورد آن نمی پردازم، فقط نشان می دهم که چه توانایی هایی دارد.


نمونه کارهای فری استایل

امیدوارم ثابت کرده باشم که ایجاد عناصر برای بازی های دو بعدی به صورت سه بعدی در بسیاری از موارد فرآیندی سریع و راحت است. با تشکر از توجه شما!

این مقاله برای توسعه دهندگان بازی های تازه کار مفید خواهد بود. در آن به مزایا و راه های ایجاد و رندر کردن اشیاء سه بعدی برای بازی های ایزومتریک دو بعدی با استفاده از Blender به عنوان مثال خواهیم پرداخت. هیچ عملیات پیچیده ای در مقاله وجود نخواهد داشت، دانش اولیه یک ویرایشگر سه بعدی کافی است. برای نمونه رندر و انیمیشن، یک برج از Dune2 گرفتم و برای اینکه به تنهایی خیلی خسته کننده نباشد، دو ساختمان از Desert Strike اضافه کردم.

مزایای این روش در مقایسه با رندر دو بعدی: سرعت و راحتی در ساخت انیمیشن، سهولت ارتقاء مدل ها (مثلاً برای ایجاد ارتقاء ساختمان ها)، نتایج نسبتاً خوب با هزینه های زمانی کم.

ایرادات: کاهش «روحیه» تصاویر و در واقع نیاز به دانش مدلسازی سه بعدی.

شروع، آماده سازی صحنه

به طور پیش فرض، یک فایل Blender "خالی" با سه شی ایجاد می شود: یک دوربین، یک نور و یک مکعب در مرکز. بیایید تنظیمات را با دوربین شروع کنیم، در ویژگی های آن، از حالت Perspective به حالت Orthographic تغییر دهید، سپس پارامترهای زیر را برای آن در پانل Properties مشخص کنید:

تبدیل
X: 12.0
Y: -12.0
Z: 12.0

(همانطور که می بینید، مختصات شبیه N، -N، N هستند، در حالی که N می تواند هر چیزی باشد، زیرا ما یک دوربین متعامد داریم)

چرخش
X: 54.8 درجه
Y: 0 درجه
Z: 45 درجه

اگر همه چیز به درستی انجام شد، اکنون از طریق دوربین به صحنه نگاه کنید (برای انجام این کار، باید فشار دهید شماره 0)، مکعب خود را در ایزومتریک خواهیم دید.

در حال تلاش برای ارائه ( F12) در اولین آزمایش ایزومتریک، خواهید دید که وجوه مکعب بسیار ناهموار روشن شده است. بیایید مراقب دنیا باشیم! ابتدا در خصوصیات world (برگه World) Ambient Occlusion را فعال کرده و مقدار Factor مورد نظر را برای آن مشخص کنید (0.5 در مثال تنظیم شده است). دوم اینکه نوع منبع نور را از Point به Sun تغییر دهید. این امر ضروری است تا همه سایه ها در یک جهت هدایت شوند و به موقعیت جسم نسبت به منبع نور بستگی نداشته باشند.


رندر مثالی با منبع نور نقطه ای


رندر مثال با منبع نور خورشید

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

مکعب های ما روی یک پس زمینه خاکستری زشت رندر شده اند که البته باید خاموش شود تا بعداً با بریدن پس زمینه اشیا دچار مشکل نشویم. برای انجام این کار، در تب Render، بخش Shading را پیدا کنید و حالت آلفا را از Sky به Transparent تغییر دهید (اگر از Blender Render استفاده می کنید) یا چک باکس Transparent را در قسمت Film (در Cycles Render) علامت بزنید.

تنظیمات را به پایان رساندیم، بیایید به ایجاد اشیاء، به عنوان مثال، همان برج برویم. من فکر می کنم ارزش در نظر گرفتن جزئیات روند مدل سازی آن را ندارد، ما بلافاصله از مزایایی که یک شی سه بعدی به ما می دهد استفاده خواهیم کرد.


برج در حال چرخش است

بسیاری از استراتژی‌ها از نمایش بصری ساخت ساختمان‌ها استفاده می‌کنند: ابتدا فونداسیون ساخته می‌شود، سپس دیوارها و غیره. بیایید سعی کنیم کاری مشابه انجام دهیم. انتخاب تمام اشیاء در صحنه ( آ، سپس آنها را کپی کنید ( Shift-D) و به لایه دوم ( مو لایه مورد نظر را انتخاب کنید). عملیات را می توان به تعداد دفعاتی که به مراحل ساخت نیاز داریم تکرار کرد. بیایید به لایه دوم برویم و برج را "تخریب کنیم".


بیایید تعداد دفعات مورد نیاز را تکرار کنیم، و همینطور voila!

پس پردازش

در ابتدای مقاله، از جمله معایب این رویکرد، به عدم وجود احساس «لوله» اشاره کردم. خوشبختانه، می توان آن را تا حدی با استفاده از پس پردازش و موتور Freestyle ساخته شده در Blender بازگرداند. من به جزئیات در مورد آن نمی پردازم، فقط نشان می دهم که چه توانایی هایی دارد.


نمونه کارهای فری استایل

امیدوارم ثابت کرده باشم که ایجاد عناصر برای بازی های دو بعدی به صورت سه بعدی در بسیاری از موارد فرآیندی سریع و راحت است. با تشکر از توجه شما!

Blender برنامه ای برای ایجاد گرافیک کامپیوتری متحرک و تولید ویدئو است. این در اصل یک ویرایشگر سه بعدی است که به لطف کد منبع باز آن توسط بسیاری از کاربران پشتیبانی می شود. اما در این ویرایشگر سه بعدی، به لطف داخلی موتور بازی"Blender Game Engine"، می توانید بازی هایی از هر نوع، جهت و سبکی ایجاد کنید. همانطور که مشخص است، بازی ها را می توان بدون توسل به زبان برنامه نویسی، که به هر حال، برای برخی نیازها (پایتون) در دسترس است، روی آن ایجاد کرد. ادعا می شود که بازی های روی آن را می توان در پنج دقیقه ایجاد کرد. منابع و راهنماهایی برای استفاده و ایجاد بازی وجود دارد. همچنین می‌توانید روی جامعه بزرگی از کاربران Blender حساب کنید تا برای کمک به آنها مراجعه کنید. گرافیک سه بعدی دارای تمام زنگ ها و سوت های OpenGL، وضوح های مختلف بالا، پشتیبانی از تقریباً همه فرمت های صوتی و تصویری محبوب است.

تمام فرمت های اصلی گرافیک دو بعدی پشتیبانی می شوند: TGA، JPG، PNG، OpenEXR، DPX، Cineon، Radiance HDR، Iris، SGI Movie، IFF، AVI و Quicktime GIF، TIFF، PSD، MOV و غیره.

همه فرمت های اصلی گرافیک سه بعدی پشتیبانی می شوند: 3D Studio، AC3D، COLLADA، FBX Export، DXF، Wavefront OBJ، فرمت فایل شیء DEC، DirectX، Lightwave، MD2، Motion Capture، Nendo، OpenFlight، PLY، Pro Engineer، Radiosity، Raw Triangle Softimage، STL، TrueSpace، VideoScape، VRML، VRML97، X3D Extensible 3D و غیره.

امکان استفاده از موتور فیزیک کتابخانه Bullet Physics وجود دارد. گرافیک بازی ها بسته به مهارت شما می تواند هر پیچیدگی داشته باشد. این برنامه کاملا رایگان است.

برای سیستم های عامل: Windows 2000، XP، Vista، Mac OS X (PPC و Intel)، لینوکس (i386)، لینوکس (PPC)، FreeBSD 5.4 (i386)، SGI Irix 6.5، Sun Solaris 2.8 (sparc).




ویرایشگر منطق گرافیکی برای تعریف رفتار تعاملی بدون برنامه نویسی. تشخیص برخورد و شبیه‌سازی دینامیک اکنون از Bullet Physics Library پشتیبانی می‌کند. Bullet یک کتابخانه تشخیص برخورد منبع باز و دینامیک بدنه سفت و سخت است که برای Play Station 3 توسعه یافته است. انواع شکل: چند وجهی محدب، جعبه، کروی، مخروط، استوانه، کپسول، ترکیب، و مش مثلث ایستا با حالت غیرفعال کردن خودکار. تشخیص برخورد گسسته برای شبیه سازی RigidBody. پشتیبانی از فعال سازی در بازی از محدودیت های پویا. پشتیبانی کامل از دینامیک خودرو، از جمله واکنش فنر، سفتی، میرایی، اصطکاک لاستیک و غیره. API برنامه نویسی پایتون برای کنترل پیچیده و هوش مصنوعی، منطق بازی پیشرفته کاملاً تعریف شده. از همه حالت‌های نورپردازی OpenGLTM، از جمله شفافیت‌ها، بافت‌های متحرک و بازتاب‌دار پشتیبانی کنید. پشتیبانی از چند متریال، حالت های ترکیب چند بافت و بافت، نورپردازی در هر پیکسل، نورپردازی پویا، حالت های نقشه برداری، ترکیب بافت GLSL vertexPaint، سایه زدن toon، مواد متحرک، پشتیبانی از Normal Maping و Parallax Mapping. پخش بازی ها و محتوای سه بعدی تعاملی بدون کامپایل یا پیش پردازش. صدا با استفاده از جعبه ابزار SDL. چند لایه شدن صحنه ها برای رابط های همپوشانی.



 

شاید خواندن آن مفید باشد: