Unity Learning
2.98K 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
Unity Learning
⭕️ استفاده از دستورات ایجاد تأخیر در #سی_شارپ 🔹 در یونیتی توابعی که بتوانند در میان اجرای دستورات شان متوقف شوند، CoRoutine نامیده می‌شوند، این توقف در هر خط که کلید واژه yield وجود داشته باشد اتفاق میافتد. به بیان دیگر هر تابعی که در دستوراتش تعلیق اجرا…
⭕️ توابع Coroutine در یونیتی برای ساخت حالت تعلیق

👈 #ادامه پست قبل [آموزش استفاده از دستورات WaitFor در #سی_شارپ ]

🔹به طور #مثال اگر بخواهیم یک حالت تأخیر 5 ثانیه در تابع Start ایجاد کنیم باید نوع آن را از حالت void به IEnumerator تغییر داد. /🔻
IEnumerator Start() {
yield return StartCoroutine("Wait");

🔸در دستور بالا فرض بر تعریف تابع Wait (مانند مثال قبل) می باشد، هر عملی بعد از این دستور نوشته شود، بعد از تأخیر 5 ثانیه ای اجرا خواهد شد.

[همانطور که مشاهده می کنید برای صدا زدن توابع IEnumerator در #یونیتی از تابع StartCoroutine استفاده می شود، در صورتی که تابع پارامتر ورودی هم داشته باشد، در پارامتر دوم این تابع قرار خواهد گرفت./🔻]
StartCoroutine("function",Par);

[از این دستور برای صدا زدن توابع coroutine در #جاوا نیز استفاده می شود، در صورتی که در تابعی از yield استفاده شده باشد برای صدا زدن آن در #جاوا باید از این تابع استفاده کرد]

@UnityLearning
Forwarded from KHAMENEI.IR
🔰طريقه خواندن #نماز_آیات؛ مطابق با فتوای حضرت آیت‌الله خامنه‌ای

☑️ @Khamenei_ir
Audio
🎵 #دانلود #موسیقی منوی اولیه بازی Project IGI برای استفاده در بازی به عنوان صدای پس زمینه در حالت Start Menu

@UnityLearning
⭕️ بررسی موجود بودن یک فایل

🔹 در #کلاس File برای بررسی اینکه یک فایل در مسیر داده شده موجود هست یا خیر؟ از دستور Exists استفاده می شود. این دستور از نوع bool بوده و اگر فایل در مسیر داده شده موجود باشد مقدار true را بر میگرداند. چک کردنِ موجود بودنِ فایل قبل از کار با آن ضروری است./🔻
if( File.Exists(filewithpath)){

👈این دستور تنها یک پارامتر داشته و آن هم نام فایل به همراه مسیر آن از نوع String می باشد.

⭕️ حذف کردن یک #فایل

🔸به منظور حذف کردن یک فایل از دستور Delete از کلاس File استفاده می شود که عملکرد و کاربرد آن کاملاً مشخص است./🔻
File.Delete(FIlewithPath);

📍 برای دسترسی به کلیه مطالب مربوط به کلاس File از هشتگ #فایل استفاده کنید.

@UnityLearning
Door_Unity5_Package.rar
1.3 MB
⭕️ #دانلود #پکیج درب با قابلیت باز و بسته شدن (انیمیشن) قابل استفاده برای یونیتی 5 به بالا

@UnityLearning
flag.unitypackage
97.8 KB
⭕️ #دانلود #پکیج پرچم رسمی (Flag) برای #یونیتی

طراحی شده با بلندر
@UnityLearning
⭕️ #یونیتی نسخه 5.6.4 را به صورت نهایی ارائه کرد. در این نسخه برخی ویژگی های مربوط به Navmesh حل گردیده و سایر Fixها مربوط به مشکلات گزارش شده می باشد.

🔹این نسخه به طور کامل با Patch ارائه شده در کانال کرک می شود و هیچگونه مشکلی هم پیش نمی آید. با استفاده از لینک ها زیر می توانید نسخه های مختلف یونیتی را به طور مستقیم #دانلود کنید. [از این پس کلیه آموزش ها بر اساس این نسخه از یونیتی قرار خواهند گرفت]

🔻دانلــــــود کنـــید🔻
⭕️ #دانلود #آبجکت درب ورودی در سایز بزرگ

🔹 به همراه #تکسچر ها ساخته شده با 3D Max

دانلود در پست بعدی🔻
c2414bae286a7e30e214430cf97b6e22.zip
28.8 MB
⭕️ #آبجکت درب ورودی با کیفیت بالا

📍برای استفاده از آبجکت نصب 3D Max الزامی می‌باشد.

@UnityLearning
Unity Learning
c2414bae286a7e30e214430cf97b6e22.zip
⭕️ توضیحاتی در رابطه با اضافه کردن آبجکت های دانلودی به یونیتی

🔹بهترین راه برای اضافه کردن #آبجکت های #دانلود شده در یونیتی، همانطور که قبلاً نیز توضیح داده شده است، قرار دادن کلیه محتویات آبجکت (معمولاً شامل فایل آبجکت، #تکسچر ها و اسکریپت های آن) در یک پوشه و اضافه کردن آن به پوشۀ Asset Folder (پنجره Project) می باشد. در زمان اضافه کردن یا به اصطلاح import کردن آبجکت ها به یونیتی، یک پوشه در کنار نام آبجکت شامل کلیه تنظیمات روی آبجکت (ها) به نام Material ساخته می شود. هر فایل mat در واقع شامل کلیه تنظیماتی است که روی آبجکت صورت می گیرد (مثل کامپوننت های متصل شده به آن و...) بنابراین برای عدم در هم شدن این فایل ها بهتر است از ابتدا کلیۀ فایل های آبجکت را قبل از انتقال به #یونیتی در یک پوشه خاص قرار دهیم و سپس آن پوشه را به Asset Folder منتقل کنیم.

🔸همچنین لازم است بدانیم، یونیتی برای اضافه کردن آبجکت از سرویس های سایر نرم افزارهای ساخت آبجکت مثل بلندر، 3D Max، Cinema4D و Maya استفاده می کند. البته برخی فرمت ها مثل FBX که خروجی خاص نرم افزارهای تولید آبجکت می باشند، بدون نیاز به هیچ نرم افزار خاصی در یونیتی import می شود. به طور مثال اگر آبجکت دانلود شدۀ شما 3ds یا max باشد، در هنگام import شدن به #یونیتی باید نرم افزار 3D Max آن را به فرمت قابل اجرا در یونیتی تبدیل کند (البته این تبدیل از نظر کاربر مخفی است و کاربر متوجه آن نمی شود)

به کانال «یونیتی لرنینگ»
بپـــــیوندید./🔻
@UnityLearning
⚫️ فرا رسیدن سالروز رحلت جانگداز رسول گرامی اسلام حضرت محمد (ص) و شهادت امام حسن مجتبی(ع) را تسلیت عرض می کنیم.

التماس دعا
▪️@UnityLearning
⭕️ ایجاد تپه روی Terrain

🔹 با استفاده از ابزار ایجاد کوه (Height) در #یونیتی تنها می توان کوه ایجاد کرد و این ابزار برای ساخت تپه (کوه های بدون قلۀ نوک تیز|حالت نرم) به کار نمی رود. همچنین اگر از این ابزار برای ایجاد گودال های کوتاه استفاده شود، بازیکن در این گودال ها گیر خواهد کرد.

🔸 برای نرم کردن پستی و بلندی های روی Terrain از ابزار Smooth استفاده می شود. کافی است بعد از انتخاب ابزار ، روی محل مورد نظر کلیک کنید، با این کار کلیۀ سطوح نوک تیز در آن محل به صورت کاملاً نرم و یک نواخت (مانند حالت تپه) در می آید.

@UnityLearning
⭕️ #کامپوننت 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