Unity Learning
2.99K subscribers
574 photos
211 videos
1.05K files
280 links
⭕️کانال آموزش حرفـــه ای موتور بازی سازی یـــونیتی

▪️ @UnityLearning ▫️

🔹ارتباط با مدیر کانال/👇

@UnityLearning_Admin

🔹 کد شامد /👇

1-1-3526-61-3-1

💰 تعرفه تبلیغات/👇

@UnityLearning_Ads

لینک گروه تبادل نظر اعضای کانال
@UnityLearning_Group
Download Telegram
Unity Learning
🔹یک Animator Controller شامل state هایی از انیمیشن های یک آبجکت است که به نحوی به هم مرتبط می باشند. ارتباط بین state ها transition نامیده می‌شود که میتوان آنها را با کد نویسی طبق یک شرط اجرا کرد.
🔹با استفاده از #پنجره animation می‌توان یک Animation Clip در #یونیتی ساخت یا سایر کلیپ ها را تغییر داد.

🔸از طریق منوی Windows دسترسی به این پنجره امکان پذیر است.
Unity Learning
🔹یک Animator Controller شامل state هایی از انیمیشن های یک آبجکت است که به نحوی به هم مرتبط می باشند. ارتباط بین state ها transition نامیده می‌شود که میتوان آنها را با کد نویسی طبق یک شرط اجرا کرد.
⭕️ #توضیحات کد نویسی مربوط به Transitionها

[سطح آموزش: #پیشرفته]

🔹همانطور که بیان شد در Animator Controllerها ارتباط بین هر State (وضعیت) به کمک Transitionها انجام می‌شود. در واقع انتقال آبجکت از یک وضعیت به وضعیت دیگر را Transition می گویند. اکنون لازم است بازی ساز بتواند به این Transition ها دسترسی داشته باشد و یا به اصطلاح آنها را در زمان خاص اجرا کند. یکی از روش های مرسوم برای این کار استفاده از مفهومی به نام Trigger می‌باشد. به کمک Trigger ها میتوان شرطی برای دسترسی به Transition ها تعیین کرد. با استفاده از تب parameters در #پنجره Animator و کلیک روی میتوان یک Trigger را ساخت (جزئیات انجام کار در فیلم آموزشی مشخص است) با انتخاب یک Transition و تنظیم گزینه Condition روی Trigger ساخته شده میتوان آن را به Transition مورد نظر اختصاص داد. حال با استفاده از دستور SetTrigger می‌توان آن Transition را اجرا کرد.

🔸دستور SetTrigger از جمله دستورات #کامپوننت Animator است که پارامتری از نوع String دارد که نام Trigger است که در #پنجره Animator تعریف گردید.

var Anm:Animator;
Anm.SetTrigger("TriggerName");

👈 پارامتر Anm از نوع کامپوننت Animator بوده و می‌توان آنرا در یونیتی مقدار دهی کرد.

«ادامه مطالب مربوط به کدنویسی در پست های بعدی کانال قرار می گیرد»
@UnityLearning
🗞 صفحه بازیکده ضمیمه کلیک روزنامه جام جم در رابطه با بازی Bridge Constructor Portal

🎮 بازی معمایی ساخته شده با موتور #یونیتی در پلتفرم های مختلف

@UnityLearning
آموزش_ساخت_هوش_مصنوعی_متحرکفقط_بیان.wmv
149.1 MB
🎦 #فیلم #آموزش ساخت #هوش_مصنوعی متحرک (فقط بیان نحوه استفاده از اسکریپت ها)

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

@UnityLearning
Unity Learning
آموزش_ساخت_هوش_مصنوعی_متحرکفقط_بیان.wmv
AI_Simple_Scripts(JavaScript).rar
3.1 KB
📋 اسکریپت های استفاده شده برای ساخت #هوش_مصنوعی متحرک

📍 آموزش داده شده در #فیلم آموزشی

🔹آموزش کامل دستورات هر اسکریپت به زودی

Password: @unitylearning
🔹کاربران محترم کانال «یونیتی لرنینگ» ، به علت محدودیت های ایجاد شده برای پیام رسان تلگرام در کشور، شاهد افت شدید سرعت دانلود و آپلود در این پیام رسان محبوب شده ایم. لازم است برای دانلود با سرعت مطلوب تر از تلگرام از فیلتر شکن استفاده نمائید.
برای انجام تنظیمات مربوط به #صدا ی کلی بازی از AudioManager استفاده می‌شود.

🎵 دقت کنید، این تنظیمات کلی بوده و روی خروجی نهایی بازی(تمام AudioSourceها) موثر خواهد بود.

Edit > Project Properties
⭕️ کاربرد پارامتر Viewport Rect در #کامپوننت Camera 🎥

🔹گاهی اوقات لازم است آنچه دوربین نمایش می‌دهد در تمام صفحه قرار نگیرد و تنها بخشی از صفحه نمایش را پوشش دهد.

#ادامه /👇
Unity Learning
⭕️ کاربرد پارامتر Viewport Rect در #کامپوننت Camera 🎥 🔹گاهی اوقات لازم است آنچه دوربین نمایش می‌دهد در تمام صفحه قرار نگیرد و تنها بخشی از صفحه نمایش را پوشش دهد. #ادامه /👇
⭕️ عدم نمایش تمام صفحه توسط کامپوننت Camera

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

🔹برای این منظور از پارامتر Viewport Rect استفاده می‌شود. موقعیت شروعِ محلِ نمایش در مقدار X و Y قرار می‌گیرد و اندازه آن نیز در پارامتر های W و H که همه آنها نسبی هستند. یعنی نسبت به اندازه کل صفحه نمایش ( #کلاس Screen ) مقدار دهی می‌شوند (مقدار یک یعنی 100 درصد)

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

@UnityLearning
Unity Learning
آموزش_ایجاد_یک_دوربین_دنباله_یک.wmv
#توضیحات فیلم آموزشی

🔹 در این فیلم آموزشی، پارامتر کاربردی Viewport Rect توضیح داده خواهد شد و سپس یک #مثال از آن انجام خواهد شد. باید دقت کرد، در هر زمان باید تنها یک AudioListener در بازی موجود باشد، بنابراین #کامپوننت AudioListener آبجکت Camara دوم را حتما حذف کنید.

🔸 اولیت دهی در Camera ها فرقی نمی کند اما آنچه مهم است فراخوانی دستور Enabled یا Active شدن آن آبجکت (که Camera دوم به آن داده می شود) برای نمایش داده شدن در پنجره کوچک تر است. در زمان ساخته شدن یک موشک با استفاده از دستور Instantiate در واقع آبجکت Camera هم فعال می شود که این باعث نمایش داده شدن پنجره کوچک می باشد.

@UnityLearning
Unity Learning
📸 تفاوت دو پارامتر Field of view و Clipping plan در #کامپوننت Camera 🎥 🔹از پارامتر Field of view می‌توان جهت زوم کردن نیز استفاده کرد. 👈 #توضیحات تکمیلی در پست بعدی
⭕️ #توضیحات تکمیلی پارامترهای Field of view و Clipping Plane

🔹 با استفاده از پارامتر Clipping Plane می توان نزدیک ترین و دورترین نقطه قابل دیده شدن توسط دوربین را تعیین کرد. یعنی اگر مقدار Far کم شود، در واقع حداکثر فاصله ای که توسط این دوربین مشاهده خواهد شد، کم می شود و برای مقدار Near نیز به همین ترتیب می باشد.

🔸 در مقابل پارامتر Field of View اندازه ای از محیط پیرامون است که می توان به وسیلۀ دوربین دید. برای درک بهتر این پارامتر همیشه عمل زوم کردن مثال زده می شود، زمانی که روی یک عکس زوم می کنید در واقع در حال کم کردن اندازۀ دید روی آن هستید هر چه مقدار اندازۀ دید روی یک عکس کمتر شود یعنی شما بخش کمتری از آن را می بینید و مانند این است که در حال بزرگنمایی (زوم) روی تصویر هستید. پارامتر مذکور نیز دقیق همین مفهوم می باشد با کم کردن مقدار آن می توان کاری کرد که دوربین روی صفحۀ دیدِ خود زوم کند.

⚙️ در نسخه های 5 به بعد #یونیتی تنظیم این دو پارامتر کاملا گرافیکی شده است و شما می توانید با تنظیم خطوط نمایش داده شده در محیط Scene (در زمان طراحی) مقادیر را بر اساس نیاز خود تعیین نمائید.

@UnityLearning
Unity Learning
📸 تفاوت دو پارامتر Field of view و Clipping plan در #کامپوننت Camera 🎥 🔹از پارامتر Field of view می‌توان جهت زوم کردن نیز استفاده کرد. 👈 #توضیحات تکمیلی در پست بعدی
Zoom.js
314 B
📋 اسکریپت آماده انجام عمل زوم (Zoom-in و Zoom-out) به وسیلۀ کلیدهای و صفحه کلید ⌨️

⚙️ به همراه دستورات شرطی کنترل مقدار FieldOfView از کامپوننت Camera

@UnityLearning
Unity Learning
Zoom.js
#توضیحات اسکریپت

🔹این اسکریپت به کمک پارامتر Field-Of-View از #کامپوننت Camera عمل زوم کردن روی یک بخش از صفحه نمایش را شبیه سازی می کند. با زدن کلید عمل زوم شدن و با زدن کلیدعمل کوچک نمایی انجام می شود. بررسی این کلید به کمک #کلاس Input انجام می شود که قبلا توضیح داده شده است. تنها نکته قابل ذکر در این بخش اینکه پارامتر KeypadPlus از کلاس KeyCode معادل کلید و پارامتر KeypadMinus معادل کلید از بخش عددی صفحه کلید (KeyPad) می باشد که می توان آنها در بخش های مختلف برای بررسی مثل دستور GetKey استفاده کرد. این اسکریپت را می توان به دوربین فعال بازی داد.

🔸 #یادآوری: به علت اینکه لازم است این رویداد به صورت دایمی انجام شود، یعنی تا وقتی کاربر دکمه مورد نظر را فشار داده عمل زوم همچنان انجام شود و نیازی به فشردن مکرر کلید نباشد از دستور GetKey برای اینکار استفاده شده است.

@UnityLearning
KeyCode.pdf
419.9 KB
⭕️ لیست کاملی از عبارت های معادلِ کلیدهای قابل بررسی در #یونیتی (پارامترهای #کلاس KeyCode)

🔹شامل کلیدهای دستۀ بازی 🎮، صفحه کلید ⌨️ و...

@UnityLearning
آموزش ساخت بازی دوبعدی در یونیتی.wmv
34.6 MB
🎦 #فیلم #آموزش ساخت بازی #دو_بعدی در یونیتی

👈 حرکت دادنِ یک #آبجکت به صورت دو بعدی ، اعمال #کامپوننت Rigidbody دوبعدی به آبجکت و...

@UnityLearning
Unity Learning
آموزش ساخت بازی دوبعدی در یونیتی.wmv
👈 #توضیحات #فیلم

🔹 در این فیلم که به #درخواست کاربران تهیه گردید، اقدام به آموزش ساخت بازی دو بعدی در یونیتی می گردد. ابتدا نحوه ساخت یک پروژه #دو_بعدی و سپس یک مثال حل می گردد. مثال حل شده، حرکت دادن یک آبجکت در محیط دو بعدی با استفاده از #کلاس Vector2 و دستور Translate می باشد. در بازی های دو بعدی می توان همچنان بازی را به صورت سه بعدی مشاهده کرد (به علت تنظیم دقیق تر آبجکت ها) اما خروجی نهایی بازی دو بعدی خواهد بود.

🔸 در ادامه، آموزش اضافه کردن #کامپوننت Rigidbody2D به آبجکت داده خواهد شد. کلیه کامپوننت های دو بعدی زمانی به یک آبجکت اضافه خواهند شد که آن آبجکت هیچ کامپوننت سه بعدی نداشته باشد. چون یک آبجکت (مثل Cube) از ابتدا کامپوننت Box Collider سه بعدی را دارد(به طور پیش فرض) پس باید آن را حذف و به جای آن از Box Collider2D استفاده گردد.

@UnityLearning
Unity Learning
آموزش ساخت بازی دوبعدی در یونیتی.wmv
Move2D.js
230 B
📋 اسکریپت سادۀ استفاده شده در #فیلم آموزشی برای حرکت دادن یک #آبجکت در صفحه به صورت دو بعدی

@UnityLearning
⚫️ فرا رسیدن ایام شهادت حضرت فاطمه الزهرا سلام الله علیها را به تمام مسلمین جهان تسلیت عرض می‌کنیم.

🔲 صلی الله علیکِ ایتها الصدیقه الشهیده


▪️◾️◼️⬛️ یا زهرا ⬛️◼️◾️▪️