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
⭕️بدست آوردن مسیر جاری بازی برای استفاده در دستورات کار با فایل

🔘در پست های گذشته برای اولین بار در اینترنت آموزش کار با فایل به زبان جاوا اسکریپت در #یونیتی را بیان کردیم. لینک پست /👇

▶️ https://t.me/UnityLearning/458

◀️ در #ادامه این مطلب برای کار با #فایل فرض کنید بخواهیم فایلی که می سازیم در پوشه اجرایی بازی (پوشه ای که بازی از آن اجرا شده است) ایجاد شود.

🌐برای بدست آوردن مسیر پوشه جاری در یونیتی از کلاس Application استفاده می‌کنیم. همانطور که قبلا نیز بیان کردیم برای دسترسی به دستوراتی که مربوط به فایل نهایی بازی مان است از این کلاس استفاده می‌کنیم، در اینجا از این کلاس مسیر جاری را می خواهیم/👇

Application.dataPath

👈این دستور یک دستور فقط خواندنی است و خروجی آن از نوع String است و حاوی مسیر پوشه نصب بازی (که فایل اجرایی بازی از آن اجرا شده است) است.

🔹اگر در محیط ساخت بازی باشیم این مسیر شامل مسیر قرار گیری فایل .unity یعنی مسیر پوشه Asset اشاره خواهد کرد.

🔰به طور خلاصه، در هر پلتفرم این دستور به موارد زیر اشاره می‌کند./👇

🔹Unity Editor: <path to project folder>/Assets

🔸Mac player: <path to player app bundle>/Contents

🔹iOS player: <path to player app bundle>/<AppName.app>/Data (this folder is read only, use Application.persistentDataPath to save data).

▫️Win/Linux player: <path to executablename_Data folder>

▪️WebGL: The absolute url to the player data file folder

🔹Android: Normally it would point directly to the APK. The exception is if you are running a split binary build in which case it points to the the OBB instead.

🔸Windows Store Apps: The absolute path to the player data folder


📌موارد بالا/👆 خروجی دستور dataPath در پلتفرم های خاص است.

#ادامه_دارد #اسکریپت_نویسی #جاوا #کد_نویسی #برنامه #کلاس





⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️باز شدن یک سایت (URL) در بازی

◀️ در صورتی که بخواهید یک سایت خاص در بازی تان باز شود، از تابع OpenURL مربوط به #کلاس Application استفاده می‌کنیم./👇

#مثال

Application.OpenURL ("http://unity3d.com/");

👈این دستور به طور مثال سایت یونیتی را در مرور گر پیش فرض سیستم باز می‌کند. در هر محلی که بخواهید در اسکریپت تان می توانید از این دستور کاربردی استفاده کنید.

#کد_نویسی #جاوا #اسکریپت_نویسی #سی_شارپ #یونیتی



⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
UnitySetup64-2017.1.0b1.exe
511.9 MB
⭕️ #دانلود نسخه جدید (بتا) از #یونیتی

♻️نسخه: 2017.1 بتا
💠مناسب برای تمام نسخه های ویندوز 64 بیتی

Unity Editor Setup 2017.1 b

@UnityLearning
⭕️ارائه نسخه 2017.1 #یونیتی

🌐 شرکت یونیتی در هفته ای که گذشت نسخه جدیدی از یونیتی ارائه کرد، بر خلاف انتظار که همه منتظر بودند نسخه جدید با عددی جدید (مثلا عدد 6) ارائه گردد، نسخه جدید یونیتی با نسخه سال ارائه شد.

🔰این نسخه بتا است، یعنی برای آزمایش در بین کاربران قرار گرفته است تا به وسیله آن ها(کاربران) این نسخه تست شده و مشکلاتش بر طرف شود.

ℹ️ زمانی که این نسخه نهایی شد، آن را برای تمام پلتفرم ها به صورت کامل برای دانلود قرار خواهیم داد. نسخه ویندوز یونیتی 2017.1 بتا را برای مشاهده شما قرار دادیم.👇

▶️ https://t.me/UnityLearning/563

☑️ باید دید علت اصلی تغییر در روند ارائه نسخه های عددی یونیتی به 2017 چیست؟ معمولاً شرکت های بزرگ نرم افزاری زمانی که تغییر بزرگی در ساختار برنامه ایجاد می‌کنند این کار را انجام می‌دهند.


@UnityLearning
⭕️قرار دادن #متن در حالت اجرای بازی روی صفحه

▫️برای قرار دادن متن روی صفحه بازی(بدون استفاده از آبجکت UI Text) از کلاس GUI استفاده می‌کنیم. دقت کنید می خواهیم این کار(ایجاد شدن یک متن روی صفحه ظاهری بازی) در حالت runtime یا اجرای بازی اتفاق بیافتد. در پست زیر مطالبی از #کلاس GUI توضیحاتی داده ایم.

▶️ https://t.me/UnityLearning/317

◀️ مطالب کامل تر

📌 کلاس GUI کلاسی برای کار با رابط گرافیکی کاربر در #یونیتی است. این عملیات به جای تابع Update می‌تواند در تابع OnGUI انجام شود، مطالب بیشتر برای این تابع در پست زیر/👇

▶️ https://t.me/UnityLearning/412

🔹اکنون میخواهیم با دستورات کلاس GUI بیشتر آشنا شویم و در ابتدا آموزش قرار دادن متن در حالت Runtime را بیان میکنیم.

🔸برای این کار از تابع Label از کلاس GUI استفاده می‌کنیم/👇

GUI.Label (Rect (10, 10, 100, 20), "Hello World!");

👈این دستور متن Hello World را در مستطیل ساخته شده در مختصات (10,10) تا نقطه پایانی (20,100) قرار می‌دهد.

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

🔘در دستور داده شده این پارامتر ها همین نقاط هستند، این دستور مستطیل را در محل مورد نظر رسم می‌کند و متن را در آن قرار می دهد.

🔲 از این پارامتر(Rect) در دستورات GUI زیاد استفاده خواهیم کرد، به همین علت کامل توضیح داده شد.


🔜 #ادامه_دارد


↙️ آموزش قرار دادن متن با استفاده از آبجکت UI Text/👇
(در مطالب گذشته کانال)

▶️ https://t.me/UnityLearning/440

#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی


⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️ #آموزش های مربوط به تنظیم آسمان بازی در پست های زیر موجود است.

🔹این پست ها شامل آموزش متنی، تصویری(PDF) و #پکیج کاملی از چند Skybox است.

🔸به #درخواست برخی کاربران

🔰🔰انتـــخاب کنید🔰🔰
jdk_8u131_windows_x64.exe
198 MB
⭕️ #دانلود JDK فایل های کتابخانه ای جاوا برای ساخت بازی #اندروید در #یونیتی

💯شماره نسخه: 8.131
♻️سیستم عامل: ویندوز 64 بیتی

🔹Java Development Kit Windows 64bit


@UnityLearning
jdk_8u131_linux_x64_rpmAuthParam
162.1 MB
⭕️ #دانلود JDK فایل های کتابخانه ای جاوا برای ساخت بازی #اندروید در #یونیتی

💯شماره نسخه: 8.131
♻️سیستم عامل: لینوکس 64 بیتی

🔹Java Development Kit Linux 64bit


@UnityLearning
jdk_8u131_macosx_x64.dmg
226.6 MB
⭕️ #دانلود JDK فایل های کتابخانه ای جاوا برای ساخت بازی #اندروید در #یونیتی

💯شماره نسخه: 8.131
♻️سیستم عامل: مک

🔹Java Development Kit Mac


@UnityLearning
دسترسی مستقیم به کل مطالب مربوط به ساخت بازی اندروید تا کنون در کانال

🔰به منظور سهولت کاربران در دسترسی به مطالب مربوط به تولید بازی در پلتفرم اندروید در یونیتی، این پست را قرار می دهیم و سعی می‌کنیم کمی توضیحات را کامل کنیم.

🔸دقت کنید برای کار با اندروید(در هر نرم افراری) نیاز به Android SDK که کتابخانه برنامه نویسی اندروید می‌باشد، دارید.

🔹در کنار این فایل به علت این سیستم عامل اندروید با جاوا نوشته شده است، نیاز به نصب JDK نیز دارید. jdk هم کتابخانه های برنامه نویسی جاوا می‌باشد.

🔰 برای دسترسی سریع انتخاب کنید🔰
⭕️ بررسی پلتفرم خروجی بازی در #کد_نویسی

💡اگر بازی که می سازیم از جمله بازی هایی باشد که در پلتفرم های مختلف ارائه می‌شود، باید بتوانیم در کد نویسی نوع پلتفرم را بررسی کنیم و بر اساس آن تصمیم بگیریم.

🖲به طور #مثال فرض کنید، بازی که هم در نسخه ویندوز و هم موبایل (مثلا اندروید) ارائه می‌شود باید برای نسخه موبایل کنسول حرکتی خاص با لمس صفحه داشته باشد در حالی که این اتفاق در ویندوز باید با کیبورد یا ماوس انجام شود.

🕹برای بررسی پلتفرم در کد نویسی از #کلاس Application استفاده می‌کنیم، این کلاس پارامتری به نام platform دارد که نوع آن(خروجی آن) از نوع RuntimePlatform می‌باشد. به کمک این دستورات می توانیم پلتفرم خروجی بازی را بررسی کنیم. به مثال زیر توجه کنید/👇

if ( Application.platform== RuntimePlatform.WindowsPlayer)
{.....

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

⭕️برای سایر پلتفرم ها مثل اندروید و... از دستور RuntimePlatform ، می‌توانید تصویر پست بعدی را مشاهده کنید/👇

▶️ https://t.me/UnityLearning/573

👈این تصویر کلیه پارامتر های دستور را نشان میدهد یعنی شما برای پلتفرم خاص خود باید چه چیزی در دستور شرطی به جای Windows بنویسید.

#ادامه_دارد




⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
⭕️پارامتر های مختلف دستور RuntimePlatform

📍اطلاعات بیشتر/👇

▶️ https://t.me/UnityLearning/572

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

⚪️ در این شب‌های قدر التماس دعای فراوان داریم.

🔹لیله القدر خیر من الف شهر
🔸شب قدر فضیلتش از هزار ماه بیشتر است.
⭕️ #کلاس Input

🔰 دستورات و قواعد کلاس Input را در پست های قبلی بررسی کردیم. به طور خلاصه این کلاس برای بررسی انجام یک عمل از دستگاه های ورودی به کار می رود.

ℹ️برای مطالعه بیشتر مطالب زیر را مطالعه کنید.👇

▶️ https://t.me/UnityLearning/171

▶️ https://t.me/UnityLearning/149

▶️ https://t.me/UnityLearning/276

▶️ https://t.me/UnityLearning/285

▶️ https://t.me/UnityLearning/304



👈در اینجا سایر دستورات این کلاس کاربردی را مورد بررسی قرار می‌دهیم.

🔸دستور anyKey

اگر هر کلیدی از ماوس یا صفحه کلید زده شود این دستور true را بر می‌گرداند.

Input.anyKey

🔹دستور mousePosition

محاسبه مختصات ماوس در روی صفحه، خروجی دو بعدی(زمانی که ماوس قابل نمایش است)

🔸دستور touchSupported

این دستور مشخص می‌کند آیا دستگاهی که بازی روی آن اجرا می‌شود قابلیت لمس دارد یا خیر؟
(اگر دستگاه نهایی قابلیت تاچ یا لمس دارد خروجی این دستور true خواهد بود)

🔜در یک فایل PDF به زودی متد ها و توابع کلاس Input را توضیح می‌دهیم.

🔹دانلود فایل/👇
▶️ https://t.me/UnityLearning/576


#ادامه_دارد


⭕️کانال یونیتی لرنینگ⭕️
💢@UnityLearning💢
Input.pdf
439.7 KB
⭕️ #دانلود فایل PDF آموزش کامل توابع کلاس Input

👌به همراه قطعه کدهای استاندارد کامل این توابع

@UnityLearning
🌸بسم الله الرحمن الرحیم

🌷إِنَّا أَنْزَلْنَاهُ فِي لَيْلَةِ الْقَدْرِ 1⃣

🌹ما قرآن را در شب قدر نازل کردیم


🌷وَمَا أَدْرَاكَ مَا لَيْلَةُ الْقَدْرِ 2⃣

🌹و تو چه دانى كه شب قدر چيست؟

🌷لَيْلَةُ الْقَدْرِ خَيْرٌ مِنْ أَلْفِ شَهْرٍ 3⃣

🌹 شب قدر بهتر از هزار ماه است.


🌷تَنَزَّلُ الْمَلَائِكَةُ وَالرُّوحُ فِيهَا بِإِذْنِ رَبِّهِمْ مِنْ كُلِّ أَمْرٍ4⃣

🌹 در آن شب فرشتگان و روح به فرمان پروردگارشان براى انجام دادن كارها نازل مى‌شوند.


🌷سَلَامٌ هِيَ حَتَّى مَطْلَعِ الْفَجْرِ 5⃣

🌹 آن شب تا طلوع بامداد همه سلام و درود است.


🍀منبع متن: نرم افزار قرآن مبین

🙏التماس دعا

◼️◼️◼️◼️◼️◼️◼️◼️

گرامی داشت شب‌های قدر

⚫️@UnityLearning⚫️
نکات برنامه نویسی تابـــع Destroy

تابع Destroy برای حذف کردن Asset ها به کار می رود(در زمان اجرای بازی Run-time) از این تابع میتوان برای حذف کلیه آبجکت هایی که می شناسیم و... استفاده کرد. در این پست حالت هایی از این دستور را قـــرار می دهیم.

🔘 حالت کلی دستور به شکل زیر است./👇

Destroy(obj, t);

*پارامتــر اختیاری t از نوع Float بوده و مربوط به زمان است. برای مقدار دهی این پارامتر به صورت اعشاری باید حرف F را در آحر عدد قرار دهید. مثلا اگر می خواهید مقدار 5.5 را به پارامتر بدهید باید بنویسید 5.5F

حالت های مختلف دستور Destroy را در اینجا بررسی می کنیم./⬇️

🔸 حذف GameObject که کد به آن متصل شده است./👇

Destroy (gameObject);

🔹 حذف کامپوننت Script جاری از گیم آبجکتی که کد به آن متصل شده است (حذف اسکریپت جاری از گیم آبجکت)

Destroy (this);

🔸 حذف کامپوننت خاص (#مثال Rigidbody) از آبجکت (که کد به آن متصل شده است)/👇

Destroy (rigidbody);

*به جای rigidbody می توان نام هر کامپوننتی را قرار داد.

🔹 حذف گیم آبجکت(یا هر Asset دیگری که در پارامتر اول داده می شود) بعد گذشت 5 ثانیه./👇

Destroy (gameObject, 5);

🔸 حذف اسکریپتی به نام FooScript از گیم #آبجکت (نام این اسکریپت FooScript بوده است که به آبجکت داده شده است)/👇

Destroy (GetComponent (FooScript));

*مورد آخر مربوط به زمانی است که چند اسکریپت به یک آبجکت داده شده است و ما در نظر داریم یکی از آن ها را حذف کنیم. به این شکل با دادن نام اسکریپت به تابع GetComponent می توانیم آن را بدست آورده و توســـط تابع Destroy آن را حذف کنـــیم.


#اسکریپت_نویسی #کد_نویسی #جاوا #یونیتی #کامپوننت



کانال یونیتی لرنینگ
💢 @UnityLearning💢
npp.7.3.3.bin.x64.zip
2.9 MB
⭕️ #دانلود نسخه اصلی Notepad ++

📌نسخه 64 بیت ویندوز

📜نرم افزار ویرایش متون تخصصی

✏️مناسب برای کد نویسی جاوا در یونیتی

📎آخرین نسخه دانلود شده از سایت سازنده

@UnityLearning
npp.7.3.3.bin.zip
3 MB
⭕️ #دانلود نسخه اصلی Notepad ++

📌نسخه 32 بیت ویندوز

📜نرم افزار ویرایش متون تخصصی

✏️مناسب برای کد نویسی جاوا در یونیتی

📎آخرین نسخه دانلود شده از سایت سازنده

@UnityLearning
JavaScript_Tutorial_fju9ii8YsGs_22.mp4
288.8 MB
⭕️ #فیلم آموزش مقدماتی جاوا اسکریپت

📍منبع: youtube
زمان: 97 دقیقه
💡کیفیت: خوب


@UnityLearning
نکاتی در مورد ایجاد بازی مرحله ای در بازی

در پست زیر مطالبی درباره اجرای مرحله ای بازی و در واقع کد نویسی که باعث لود شدن مرحله خاصی از بازی می شد را به صورت فیلم آموزشی به صورت کامل بیان کردیم/
👇

https://telegram.me/UnityLearning/379

🎥 در این فیلم بیان کردیم برای لود کردن مرحله جدید در یونیتی از دستور LoadLevel مربوط به کلاس Application استفاده می کنیم، که یک پارامتر ورودی دارد، که اگر متنی باشد یعنی کلاس Application مرحله (Scene) که نام آن داده شده است(همان رشته که به صورت پارامتر به تابع دادیم) را در این لحظه باز کند، یا اینکه اگر این پارامتر عددی باشد یعنی مرحله شماره «عدد وارد شده» را باز کن(همه این مطالب در فیلم آموزشی قابل مشاهده است)

🔸 در اینجا و در #ادامه مطلب کدی را می گوییم که باعـــث رفتن به مرحله بعد(از نظر ترتیب مراحـــل) می شود.

در واقع می خواهیم دستور loadedLevel از #کلاس Application را بیان کنیم. این دستور شماره مرحله لود شده بازی را بر می گرداند. همانطور قبلا گفتیم این شماره برای هر مرحله منحصر به فرد بوده و از پنجره Build Setting قابل دسترسی، مشاهده و تغییر است.

بهترین مثال از این دستور این است که می خواهیم کد جامعی برای بازی خود بنویسیم و کاری کنیم بازیکن در هر مرحله ای بود، به مرحله بعد برود/👇

Application.LoadLevel(Application.loadedLevel+1);

دقــت کنید اگر این کد به مرحله آخر برسد و یا بازی شما تک مرحله باشد باتوجه به اینکه دیگر مرحله ای بعد از مرحله جاری وجود ندارد، با خطا مواجه می شوید. برای جلوگیری از این خطا قبل از این دستور با یک شرط if بررسی کنید، مثلا اگر بازی شما 10 مرحله دارد بررسی کنید آیا Application.loadedLevel==9 هست یا خیر؟ (توجه کنید در یونیتی شماره مرحله ها از صفر شروع می شود)

#اسکریپت_نویسی #کد_نویسی #برنامه #یونیتی




کانال یونیتی لرنینگ
💢 @UnityLearning💢