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
Push_Object.js
864 B
⭕️ اسکریپت شبیه سازی حالت هول دادن سایر آبجکت ها توسط آبجکت کاراکتر (دارای کامپوننت CharacterController)

📍دارای پارامتر میزان نیرو وارده به سایر آبجکت ها(pushPower)

📋 #جاوا اسکریپت

@UnityLearning
⭕️ نکاتی در رابطه با حلقه ها

🔹 همانطور که قبلاً نیز توضیح داده شده است، سه حلقه کلی در دو زبان #سی_شارپ و #جاوا وجود دارد.
While - Do While - For

👈 که البته در سی شارپ نوع دیگری از For نیز وجود دارد که برای پیمایش اعضای آرایه ها استفاده می شود و آن Foreach می باشد که البته در جاوا با همان دستور for قابل پیاده سازی است.

🔄 در حلقه ها دو دستور Break و Continue وجود دارد که در این پست می خواهیم آنها را بررسی کنیم.

🔘 دســــتور Break به طور کلی باعث توقف حلقه می شود. یعنی اگر از این دستور در بدنه حلقه استفاده کنیم، زمانی که کامپایلر به این خط می رسد، اجرای حلقه را متوقف کرده و از آن خارج می شود(دستورات بعد از حلقه اجرا خواهند شد)

⚪️ اما دستور Continue متفاوت است، این دستور اجرای بدنه حلقه را متوقف می کند اما کامپایلر را به ابتدای دستورات حلقه منتقل می کند. (یعنی دستورات بعد از Continue در بدنـــه حلقه اجرا نخواهند شد و مجدداً دستورات از ابتدای حلقه اجرا می شوند. (همانطور که می دانید اولین اقدام در دستورات حلقه For و While بررسی شرایط حلقه است و سپس اگر شرط برای ادامه یافتن درست بود دستورات مجدداً تکرار خواهند شد.)

☑️ از این دستورات در اسکریپت ها استفاده های زیادی می شود و یادگیری آنها و شناخت تفاوت بین این دستورات بسیار کاربردی و ضروریست.

به کانال یونیتی لرنینگ
بپیونـــــدید🔻
@UnityLearning
Day_and_Night_Cycle_With_Scattering
8.1 MB
⭕️ #پکیج ساده برای ساخت محیط شب و روز به همراه آبجکت ماه 🌕و حرکت ابرها☁️

کیفیت عادی - حجم کم - سادگی (سه ویژگی این پکیج است)

کافی است | پریفاب Moon را به محیط بازی خود در محل مورد نظر اضافه کنید.
CameraController.cs
1.1 KB
اسکریپت آماده برای دنبال شدن یک آبجکت توسط دوربین

این اسکریپت را به دوربینی بدهید که در ابتدا فاصله آن با را با آبجکت تنظیم کرده اید.

مبنای حرکت فاصلۀ بین دو آبجکت خواهد بود.

@UnityLearning
⭕️ نسخه 5.6.3 یونیتی نهایی شد. یونیتی در این هفته نسخه 5.6.3 را به صورت نهایی ارائه کرد. در این نسخه برخی مشکلات گزارش شده در نسخه های قبلی، رفع شده است و همچنین برخی ویژگی ها نیز به آن افزوده شده است. این تغییرات بیشتر مربوط به بازی های اندروید در یونیتی بوده است.

🔻دانلود نسخه های مختلف🔻
RandomMovement.cs
2.6 KB
⭕️ اسکریپت آماده برای حرکت یک آبجکت به صورت رندوم و تصادفی در محیط Scene با دستور AddForce

به همراه دستورات چرخش آبجکت به صورت تصادفی

@UnityLearning
Game Jam Menu Template.unitypackage
1.9 MB
⭕️ #پکیج مناسب برای ساخت منوی اولیه برای بازی

به همراه منوی وسط بازی

Start Menu | Pause Menu

@UnityLearning
Unity Learning
Game Jam Menu Template.unitypackage
🔘 برای استفاده از این پکیج Prefab به نام UI را می توانید به محیط بازی خود اضافه کنید، ماهیت این Prefab یک GameObject خالی است که تنها کد هایی که به آن محول شده است را اجرا می کند، همانطور که مشاهده می کنید، این پکیج خودش یک Canvas به همراه Event System به محیط بازی تان اضافه می کند (که هر دو به صورت #کامپوننت به آبجکت داده شده است)

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

☑️ شما برای استفاده از این UI باید یک Scene جداگانه برای بازی خود طراحی کنید (اولین Scene که اجرا می شود) و منو را در آن قرار دهید. سپس Scene اصلی که محیط مرحله اول بازی خود را در آن طراحی کرده اید به اسکریپت متصل به Prefab - UI بدهید. این اسکریپت با دستوراتی که قبلا بررسی کرده ایم Scene مورد نظرتان را بارگزاری می کند.

به کانال یونیتی لرنینگ
بپیـــوندید
👉 @UnityLearning
⭕️ کم و زیاد کردن ولوم بازی

🎵 گاهی اوقات در بازی لازم است، #صدا بازی کم یا زیاد شود (در هر صورت لازم است برای افزایش جذابیت بازی صدا تغییر کند) برای دسترسی به پارامتر Volume راه های مختلفی در یونیتی وجود دارد. یکی از آنها تغییر Volume مربوط به AudioListener است. از آنجا که در هر بازی تنها یک AudioListener وجود دارد، به راحتی و با دسترسی مستقیم به آن می توانیم صدا(ها)ی تولید شده در بازی را با سطح صدای مختلفی شنید.

🔸 پارامتر Volume یک متغیر عددی (از نوع اعشاری| float) است که می تواند مقادیری بین 0.0 تا 1.0 را دریافت کند. 0.0 حالت عدم شنیدن صدا ها و 1.0 بالاترین سطح آن است. به طور مثال اگر AudioListener در دستور زیر کامپوننت مورد نظر باشد، دستور زیر سطح صدای بازی (در دریافت صدا) را تا نصف کاهش می دهد./👇

AudioListener.volume = 0.5;


به کانال یونیتی لرنینگ
بپیونـــــدید🔻
👉 @UnityLearning
اولویت دهی به اجرای برخی اسکریپت ها

🔹 همانطور که می دانید در یونیتی همه اسکریپت ها با هم اجرا می شوند و نمی توان گفت کدام اولیت خاصی دارد| یعنی کدام زودتر از دیگری اجرا می شود؟ | البته منظور آنچه در توابع Start و Awake نوشته می شود است.

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

🔹 Edit -> Project Settings -> Script Execution Order

🔘 با رفتن به این مسیر بخش MonoManager در #پنجره Inspector نمایش داده خواهد شد و شما می توانید اولویت ها را در آن وارد کنید (هرچه عدد کوچکنر باشد یعنی اولیت اجرای این اسکریپت بیشتر است و زودتر از سایرین اجرا خواهد شد) | تصویر پست بعدی |

🔸 به کانال یونیتی لرنینگ
بپــــــــیوندید🔻
👉 @UnityLearning
#پنجره Inspector و بخش MonoManager برای مشحص کردن ترتیب اجرای اسکریپت ها

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

@UnityLearning
بنیاد ملی بازی های رایانه ای|شبکه خبر
شبکه خبر|کانال یونیتی لرنینگ
🎵 فایل صوتی صحبت های مدیریت بنیاد ملی بازی های رایانه ای در شبکه خبر
(برنامه روی خط خبر صبح یک شنبه 16-07-1396)

موضوع: صنعت ساخت بازی های رایانه ای، فرصت ها و نیازها

#انتشار_دهید

👉 @UnityLearning
⭕️ #کلاس Array در جاوا اسکریپت

🔹 کلاس کاربردی برای ساخت آرایه در جاوا اسکریپت Array است که به کمک آن شما می توانید آرایه ای با آبجکت های مختلف در یک آرایه داشته باشید. (این کلاس در سی شارپ وجود ندارد!)

🔸دستور زیر یک آرایه در جاوا می سازد /🔻
var arr = new Array ();

(ساخت یک آرایه چند وجهی با نام arr)

همچنین می توان در پرانتز (مقابل کلمه Array ) برخی از اعضای آرایه را نیز به آن ارسال کرد. /🔻

var array = new Array ("Mohammad","ali");

مقادیر Mohammad و ali در اعضای 0 و 1 آرایه به نام array قرار خواهد گرفت.

🔸با دستور Push می توان به یک آرایه که با کلاس Array تعریف شده است مقدار (عضو) جدید ارسال کرد. /🔻

array.Push("reza");

این دستور عضو reza از نوع رشته| String را به آرایه اضافه می کند.

(عملکرد دستور Add از کلاس Array نیز به همین شکل است و برای اضافه کردن عضو جدید به انتهای آرایه استفاده می شود)

🔸دستور Pop با آرایه مثل یک پشته | Stack رفتار می کند و بنابراین آخرین عضو اضافه شده به آرایه را از آن حذف می کند.

با دستور Clear کل آرایه خالی می شود. /🔻

hello.Clear();

(اگر hello یک آرایه باشد دستور بالا آن را خالی می کند| تعداد اعضای آن صفر می شود)

🔸با دستور Sort اعضای آرایه شما مرتب می شود. (اعضای آرایه به شکل مرتب شده در آن قرار می گیرد| ترتیب اعضا تغییر می کند)

به کانال آموزش موتور یونیتی
بپیــــــوندید🔻
@UnityLearning
vi6kljmclhj4_venus.zip
1.8 MB
⭕️ #دانلود #آبجکت سیاره ونوس (زهره)

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

به کانال یونیتی لرنینگ
بپیوندید🔻
@UnityLearning
⭕️ کاربرد پارامتر pitch در #کامپوننت Audio Soruce | برای تعیین سرعت پخش #صدا در بازی

به کانال یونیتی لرنینگ
بپیـــــــوندید🔻
👉 @UnityLearning
⭕️ #کامپوننت کاربردی Mesh

🔹فضای فیزیکی که یک آبجکت می گیرد توسط کامپوننتی به نام Mesh ساخته می شود. در واقع اگر این کامپوننت را فعال/غیر فعال کنیم متوجه این موضوع می شویم که با این کار ظاهر فیزیکی که آبجکت دارد را از آن میگیریم/ یا به آن می دهیم.

🔸 البته کاربرد کامپوننت Mesh در یونیتی بسیار فراتر از اینهاست. اما به بیان ساده و اولیه می توان گفت آنچه که می توان به آن ظاهر سه بعدی آبجکت گفت توسط این کامپوننت اجرا می شود. که ورودی آن مدلی است که معمولاً در نرم افزار های تولید آبجکت (مثل 3D Max) تولید شده است و بر اساس آن مدل #کامپوننت مذکور مدل را در فضای سه بعدیِ بازی می سازد.

⚪️ کامپوننت های Mesh Collider و Material نیز از زیر مجموعه های این کامپوننت هستند.

📍کاربرد برنامه نویسی این کامپوننت نیز بسیار زیاد است، از ایجاد آبجکت های خاص تا تعویض تکسچرها و... که در نظر داریم برخی از دستورات و توابع آن را در پست های آینده توضیح دهیم.

به کانال آموزشی
یونیتی لرنینگ بپیوندید🔻
@UnityLearning
🔹 کامپوننت Mesh در یونیتی قابلیت بازکردن مدل با فرمت های زیر را دارد🔻

.fbx, .dae (Collada), .3ds, .dxf, .obj, and .skp .blend

این فرمت ها معروف ترین فرمت های تولید آبجکت در جهان هستند.
⭕️ اعمال نیرو مانند انفجار به آبجکت های دارای #کامپوننت Rigidbody

🔹 در یونیتی و در کلاس Rigidbody دستوری با عنوان AddExplosionForce وجود دارد که به کمک آن می توان حالت اعمال نیرو مانند انفجار یک بمب را شبیه سازی کرد. اگر دستور فوق از کامپوننت Rigidbody یک آبجکت را فراخوانی کنید، این دستور نیرویی از محلی که در پارامتر های آن داده اید به آبجکت وارد می کند. قالب کلی این تابع به شکل زیر است/🔻

rb.AddExplosionForce(power, explosionPos, radius, 3.0F);

🔸 در دستور داده شده rb همان کامپوننت Rigidbody از آبجکت مورد نظر است.

🔸 پارامتر power میزان نیروی وارده به آبجکت است (بر اساس float|عدد اعشاری)

🔸 پارامتر explosionPos محل اولیه انشار نیرو است (مثلا محل انفجار بمب)

🔸 پارامتر radius نیز برای نهایت شعاعی است که نیرو در آن به آبجکت ها وارد می شود. (بر اساس قوانین فیزیک)

🔸🔶 پارامترهای بعدی این دستور نیز ForceMode است که قبلاً در توضیح تابع AddForce به طور کامل توضیح داده شده است.

☑️ به منظور اینکه یک نیروی واحد به کلیه آبجکت های اطراف یک محل انفجار وارد شود، باید تک تک آبجکت های دارای کامپوننت Rigidbody را بدست آورد و برای همه آنها دستور فوق را صدا زد(این کار در یونیتی با تابع For (برای جاوا اسکریپت) و Foreach (برای سی شارپ) انجام می شود)

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

|توجه کنید| این اسکریپت، در محل داده شده و در شعاع وارده کلیه آبجکت های دارای Rigidbody را پیدا کرده و نیرو را به آنها وارد می کند. (به طور مثال می توان این اسکریپت را به آتشی داد که در محل انفجار ایجاد می شود، چون اسکریپت تنها در تابع Start اجرا می شود، بنابراین در این بخش قابل استفاده است )


به کانال یونیتی لرنینگ
بپیــــــــــــــوندید🔻
@UnityLearning
AddExplosionForce.js
524 B
اسکریپت آماده برای اعمال نیرو به سایر آبجکت ها به مرکزیت آبجکتی که این کد به آن متصل شده است و در شعاع مشخص شده برای اسکریپت.

این نیرو شبیه ساز حالت انفجار است!

به زبان #جاوا اسکریپت

@UnityLearning
🔹🔷 لطفا نظر خود در رابطه با کانال و کیفیت آموزش ها در قالب یک نظر سنجی اعلام نمائید. UnityLearning 🔸🔶 کیفیت مطالب را چگونه ارزیابی می‌کنید؟
anonymous poll

عالــــی – 64
👍👍👍👍👍👍👍 71%

خـــوب – 16
👍👍 18%

متوسط – 6
👍 7%

بــــــد – 4
▫️ 4%

👥 90 people voted so far.
UseGravity.js
205 B
⭕️ اسکریپت آماده برای غیر فعال کردن حالت جاذبه

این اسکریپت واکنش در برابر نیروی جاذبۀ هر آبجکتی که به محدودۀ Trigger وارد شود را غیر فعال می کند.