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

چاپ دوم، بازنگری و گسترش یافته است


این درس به شما می گوید که چگونه از ابتدا یک بازی سه بعدی ساده بسازید (البته در بلندر). کاملا بدون هیچ گونه برنامه نویسی در زبان ها، اگرچه امکان پذیر است. شما باید دانش اولیه Blender را داشته باشید. من از شما انتظار دارم که درک خوبی از رابط کاربری داشته باشید و چیزهای کوچکی مانند شناور کردن، کلیک چپ، رها کردن دکمه سمت چپ ماوس، فشار دادن و رها کردن دکمه G برای حرکت و سپس کلیک کردن و غیره داشته باشید. معطل نخواهم شد

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

عکس های روسی
تصاویر انگلیسی


برای دسترسی به ویژگی های موتور بازی، باید رندر را به موتور بازی تغییر دهید.

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

حالت نمایش Texture را روشن کنید تا بازی همان طور که ما می خواهیم به نظر برسد.


می توانید بازی را با نگه داشتن مکان نما بر روی نمای سه بعدی مورد نظر (اگر موفق به ایجاد چندین مورد از آنها شده اید) و فشار دادن P (به انگلیسی، به زبان روسی Z، بین Ш و Х:) شروع کنید. همچنین می توانید بازی را از طریق منوی Game - Start Game Engine شروع کنید. اگر اکنون سعی کنید بازی را شروع کنید، هیچ اتفاق جالبی نمی افتد، فقط یک مکعب خاکستری در پس زمینه خاکستری وجود خواهد داشت. برای خروج از بازی Esc را فشار دهید. اما اگر از این کلید در بازی استفاده کنید کمکی نمی کند، پس مراقب باشید؛)

قبل از شروع بازی، می‌توانید Shift+Spacebar یا Ctrl+Up/Down را فشار دهید تا پنجره‌ای که مکان‌نما روی آن قرار دارد را به حالت تمام صفحه باز کنید و بازی را در یک پنجره سه بعدی کوچک و به سختی قابل توجه بررسی کنید. همچنین می توانید T یا N را فشار دهید تا به ترتیب پانل های چپ و راست نمای سه بعدی را مخفی کنید.

می‌توانید با فشردن N (پس از قرار دادن نشانگر روی نمای سه‌بعدی) و در پانلی که در تب Display ظاهر می‌شود، فقط رندر را انتخاب کنید، «آشغال‌ها» مانند آدمک‌ها، مکان‌نمای سه بعدی، مش و غیره را پنهان کنید. در این حالت، پس زمینه رنگ را به رنگی که در تنظیمات World تنظیم شده است تغییر می دهد.


در همان پنل از طریق منوی Shading می توانید به جای چند بافت، GLSL را فعال کنید که به شما امکان می دهد گرافیک های زیباتری (مثلا سایه ها) ایجاد کنید.

ایجاد مواد برای بازی به طور کلی مانند ایجاد برای Blender Internal Render است (این رندر پیش فرض در حال حاضر است، اما به زودی با Cycles جایگزین خواهد شد)، اما محدودیت هایی وجود دارد. برای مثال، تمام بافت‌های رویه‌ای، ردیابی پرتو (و در نتیجه هیچ سایه‌ای برای برخی لامپ‌ها وجود ندارد) و هاله‌ها کار نمی‌کنند. ایجاد بافت های UV توصیه می شود. هیچ ذره ای وجود ندارد، اما می توان با استفاده از آنها شبیه سازی کرد مقدار زیاداشیاء (نه، شما نیازی به کپی دستی آنها ندارید؛ اضافه کردن آنها در طول بازی در زیر مورد بحث قرار گرفته است). بدون GLSL محدودیت‌های بیشتری وجود دارد و نورپردازی کاملاً زشت است.

این مقاله برای توسعه دهندگان بازی مفید خواهد بود. در آن به مزایا و روش های ایجاد و رندر کردن اشیاء سه بعدی برای بازی های دو بعدی ایزومتریک با استفاده از 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. چند لایه شدن صحنه ها برای رابط های همپوشانی.



 

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