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

▪️ @UnityLearning ▫️

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

@UnityLearning_Admin

🔹 کد شامد /👇

1-1-3526-61-3-1

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

@UnityLearning_Ads

لینک گروه تبادل نظر اعضای کانال
@UnityLearning_Group
Download Telegram
⭕️ #کامپوننت Mesh Collider در یونیتی برای ساخت کالیدر به شکل دلخواه در یونیتی

🔹 برای اضافه کردن این کامپوننت به یک آبجکت از منوی زیر استفاده می شود./🔻
Component > Physics > Mesh Renderer
⭕️ انجام تنظیمات روی گروهی از آبجکت ها

برای انتخاب چند آبجکت به طور همزمان در پنجره Hierarchy از کلید Ctrl + کلیک (برای انتخاب یکی یکی) و از کلید Shift + کلیک برای انتخاب گروهیِ استفاده کنید.
Road_With_Gard.7z
936.1 KB
⭕️ #دانلود #آبجکت جاده به همراه گارد ریل در کناره ها

🔹 به همراه #تکسچر ها با فرمت FBX آماده برای استفاده در بازی

@UnityLearning
Unity Learning
⭕️ استفاده از یک اسکریپت دیگر در اسکریپت جاری 💡 گاهی اوقات لازم است بتوانیم به یک اسکریپت (که در یونیتی از نوع Component است ) در کدهای خود دسترسی داشته باشیم. معمولاً این دسترسی برای «غیرفعال کردنِ اجرای آن اسکریپت» می باشد اما می تواند هر کاربرد دیگری نیز…
⭕️ استفاده از توابع و پارامترهای یک اسکریپت دیگر #ادامه

[کاربرد آموزش های این پست تنها برای #سی_شارپ می باشد]

🔹 تعریف کلاس در سی شارپ با استفاده از کلمۀ class امکان پذیر است و در یونیتی هر اسکریپتی که به یک آبجکت متصل می شود، در واقع یک کلاس است. بنابراین می توان از آن نمونه (متغیر-پارامتر) تعریف کرد. به طور مثال اگر یک کلاس به نام FPSPlayer داشته باشیم با استفاده از دستور زیر یک نمونه از این کلاس تعریف می شود که کلیۀ پارامترها و توابع آن کلاس را داراست./🔻
FPSPlayer Ply;

🔸 دستور بالا یک متغیر به نام Ply از کلاس FPSPlayer تعریف می کند. در #یونیتی نیز برای استفاده از سایر اسکریپت ها نیز باید به همین شکل عمل کرد، یعنی یک متغیر از آن کلاس (اسکریپت دیگری که به آبجکت دیگر داده شده است) تعریف کرد، آن را با دستور GetComponent مقدار دهی کرد و در نهایت از کلیه آبجکت ها و توابع public آن استفاده کرد. مثلا اگر بخواهیم مقدارِ متغیری به نام Num که از متغیر های تعریف شده در اسکریپت FPSPlayer است و به آبجکت Obj داده شده است را بررسی کنیم از دستورات زیر استفاده خواهیم کرد./🔻
FPSPlayer Ply;
Ply=Obj.GetComponentGetComponent<FPSPlayer> ();
Ply.Num;

*خط آخر معادل مقدار متغیر Num در اسکریپت مورد نظر می باشد.

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

💡رفتار #یونیتی با اسکریپت ها به عنوان یک #کلاس کاملاً مستقل دست برنامه نویس را برای ساخت بسیار باز کرده و دسترسی بین اعضای مختلف را به راحتی فراهم کرده است.

@UnityLearning
⭕️ دسترسی های بین #آبجکت های پدر و فرزند

🔸برای دسترسی به آبجکت پدر از پارامتر parent و برای دسترسی به یکی از فرزندان از توابع مختلف GetChild استفاده می شود.

@UnityLearning
📸 حرم مطهر حضرت امام رضا هم اکنون

⚫️ فرا رسیدن سالروز شهادت غریبانه امام هشتم، حضرت علی بن موسی الرضا (ع) را به تمام پیروان راه حق تسلیت عرض می‌کنیم.

👉 @UnityLearning
📸روضه منوره حرم مطهر علی بن موسی الرضا هم اکنون

⚫️السلام علیک یا علی بن موسی الرضا مرتضی

@UnityLearning
Audio
⭕️ #دانلود موزیک اولیه بازی خاطره انگیز IGI 2 Covert Strike

🎵 موسیقی Start Menu این بازی به منظور استفاده در بازی ها

👉 @UnityLearning
⭕️ #دانلود #آبجکت کاملا Rig شدۂ سرباز کارتونی

ℹ️ این آبجکت قابلیت ساخت انیمیشن را دارد و با بلندر ساخته شده است. اما فرمت FBX از آبجکت نیز در دسترس است.

دانلود در پست بعدی/👇
cfwzrjyr6mf4_Sm2.rar
538.7 KB
⭕️ #دانلود #آبجکت سرباز کارتونی (Low Poly) به صورت کاملا Rig شده [قابلیت جداسازی اجزای مختلف آبجکت]

👉 @UnityLearning
استفاده از آبجکت Image در بازی

🔸 در #یونیتی 5 به بعد با اضافه شدن ابزار Canvas به محیط ساخت بازی در یونیتی بسیاری از مشکلات قبلی برای ساخت رابط های کاربری (UI) در یونیتی کاهش یافت. یکی از ابزارهایی که Canvas ارائه می دهد، Image است که در واقع یک تکسچر دو بعدی روی صفحه اصلی بازی است (مانند پس زمینه منوی بازی ها)

🔹 برای اضافه کردن آبجکت Image از منوی Game Object > UI >Image استفاده نمائید. با این کار یک آبجکت جدید به مجموعۀ Canvas اضافه می شود. با ابزار Scale یا *** می توان موقعیت و اندازۀ این تصویر روی صفحه نهایی را تنظیم کرد. برای اختصاص یک تصویر (تکسچر دو بعدی) به Image از کامپوننت Image و پارامتر Source Image این آبجکت استفاده می شود. نکته ای که باید در این بخش رعایت گردد تبدیل نوع تکسچر به Sprite 2D می باشد که در پست بعدی توضیح داده خواهد شد.

با دِرَگ کردن یک تکسچر دو بعدی روی پارامتر Sprite از آبجکت Image این تصویر برای نمایش روی صفحه اصلی به Image اختصاص می یابد. [همواره می توانید خروجی اولیه بازی خود را با استفاده از پنجره Game در کنار Scene مشاهده کنید و محل دقیق Image خود را تنظیم کنید]

🔹 استفاده از تصاویر با فرمت PNG به صورت Transparent (شفاف) برای پارامتر Source Image کاربرد بسیاری دارد و ظاهر کاربری بازی را بسیار جذاب خواهد کرد. از این پس تصاویر با کیفیت و شفاف PNG برای این کار نیز در کانال برای دانلود قرار خواهد گرفت.

👈 #ادامه_دارد

@UnityLearning
This media is not supported in your browser
VIEW IN TELEGRAM
🎥 #فیلم #آموزش استفاده از یک تکسچر دوبعدی برای پارامتر Image Source یک آبجکت UI Image

⭕️ نمایش تصاویر شفاف PNG روی صفحه بازی با تبدیل نوع عکس به حالت Sprite 2d

@UnityLearning
063fcd8ef33dd5c34c029625867f8e3f.png
26.2 KB
⭕️ #دانلود تصویر PNG شفاف کادر مستطیل شکل برای استفاده برای منوهای بازی

@UnityLearning
🌷رسول گرامی اسلام صلوات الله علیه و آله فرمودند:

🌹هرکس بشارت ماه ربیع الاول را به من بدهد من هم بشارت بهشت را به او می دهم .

🌸 حلول ماه ربیع الاول بر همه مسلمین خصوصاً شما گرامیان مبارک باد .
Unity Learning
استفاده از آبجکت Image در بازی 🔸 در #یونیتی 5 به بعد با اضافه شدن ابزار Canvas به محیط ساخت بازی در یونیتی بسیاری از مشکلات قبلی برای ساخت رابط های کاربری (UI) در یونیتی کاهش یافت. یکی از ابزارهایی که Canvas ارائه می دهد، Image است که در واقع یک تکسچر…
⭕️ استفاده از آبجکت Image در بازی #ادامه [کد نویسی]

🔸 به منظور استفاده از یک UI Image در یونیتی از همین نام برای دسترسی به کامپوننت Image استفاده می شود، زمانی که به کامپوننت Image دسترسی داشته باشیم به راحتی می توانیم به تمامی پارامتر های UI Image نیز دسترسی داشته باشیم. برای تعریف یک متغیر از نوع Image به توانیم به شکل زیر استفاده کنیم./🔻

var Img:UnityEngine.UI.Image;

👈 اگر UnityEngine.UI را Import (در #جاوا) و using (در #سی_شارپ ) کرده باشیم کافی است متغیر را از نوع Image تعریف کنیم و نیازی به نوشتن UnityEngine.UI نیست!

📍با دستور زیر به راحتی متغیر داده شده برابر کامپوننتِ Image متصل شده به آبجکت جاری قرار می دهیم./🔻
Img = GetComponent<Image> ();

💡 اکنون Img برابر کامپوننت مورد نظر ماست و می توانیم هر تغییری روی آن بدهیم.

📍 یکی از مهمترین دستورات، دستور تغییر تکسچری است که Image نمایش می دهد. برای این تغییر از پارامتر Sprite استفاده می شود./🔻
Img.sprite = my_Sprite;

[البته با فرض اینکه متغیر my_Sprite به عنوان پارامتر ورودی برای اسکریپت از نوع sprite تعریف شده است.]/🔻
🔹#سی_شارپ /👇
public Sprite m_Sprite;

🔹 #جاوا اسکریپت./🔻
var my_Sprite:Sprite;


📍به منظور غیر فعال کردن این Image (عدم نمایش تصویر روی صفحه) از دستور enabled استفاده می شود، false کردن آن باعث عدم نمایش تصویر می شود، چون کامپوننت به طور کامل غیر فعال می شود./🔻
Img.enabled = true;

👈 #ادامه_دارد

@UnityLearning
🌷 پیروزی های محور مقاومت را بر داعش و شکست داعش در عراق و سوریه با آزاد سازی آخرین پایگاه های داعش در منطقه را به تمام آزادی خواهان جهان تبریک و تهنیت عرض می کنیم.

🌹 به یاری خداوند و نیروهای مقاومت، سردار قاسم سلیمانی پایان داعش در منطقه را اعلام کرد.
@UnityLearning
ZnJvbT1jbmJsb2dzJnVybD1jbWJ3NVNP.jpg
81.3 KB
⭕️ ویژگی ها یا کلاس‌های اصلیِ یونیتی در قالب یک نمودار (با خاصیت ارث بری)

🔹 نمودار کلاس به همراه بیان متدهای اصلی هر کلاس

👉 @UnityLearning
⭕️ توابع Invoke برای صدا زدن توابع به صورت زمانی

🔹برای اینکه در یونیتی بتوانید یک تابع را بعد از گذشت یک زمان خاص صدا بزنید، از تابع Invoke استفاده کنید. این تابع دو پارامتر اصلی دارد، اولی نام تابعی که قرار است بـعد از گذشت یک زمان خاص اجرا شود (از نوع String) و دیگر زمان مورد نظر (برحسب float) است./ 🔻
Invoke("func", 2);

👈دستور بالا تابع داده شده را بعد از گذشت 2 ثانیه از زمان فراخوانی این دستور، اجرا خواهد کرد.

🔹دستور دیگر از توابع Invoke نیز تابعی است برای صدا زدن متوالی یک تابع، در صورتی که بخواهید یک تابع به صورت متوالی (مثلا هر دو ثانیه یک بار) اجرا شود نیز از تابع InvokeRepeating استفاده می شود. این تابع سه پارامتر دارد که دو پارامتر اول مانند تابع Invoke است و پارامتر سوم بازۀ زمانی برای اجرای تابع مورد نظر است.
InvokeRepeating("LaunchProjectile", 2.0f, 0.3f);

👈دستور فوق تابع LaunchProjectile را بعد از گذشت 2 ثانیه یک بار صدا می زند و از آن به بعد هر 0.3 ثانیه یک بار تابع فوق(LaunchProjectile) تکرار خواهد شد. (دستوری بسیار عالی برای ساخت بازۀ زمانی خاص در یونیتی)

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

@UnityLearning
⭕️ چرخه حیات توابع زمانی یونیتی

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

🔻توضیحات بیشتر🔻